Merge pull request #21 from yabwon/main

pull request
This commit is contained in:
Bart Jablonski
2021-08-18 23:02:20 +02:00
committed by GitHub
7 changed files with 103 additions and 55 deletions

View File

@@ -21,7 +21,7 @@ Short description of the SAS Packages Framework macros can be found [here](https
- [SAS Global Forum 2020 V.E.](https://www.youtube.com/watch?v=qCkb-bx0Dv8&t=0s "SGF2020") (April 2020) - [SAS Global Forum 2020 V.E.](https://www.youtube.com/watch?v=qCkb-bx0Dv8&t=0s "SGF2020") (April 2020)
- [Sasensei International Dojo](https://www.youtube.com/watch?v=BFhdUBQgjYQ&t=0s "SID no. 1") (April 2020) - [Sasensei International Dojo](https://www.youtube.com/watch?v=BFhdUBQgjYQ&t=0s "SID no. 1") (April 2020)
- [SAS dla Administratorów i Praktyków 2020](https://www.youtube.com/watch?v=mXuep2k48Z8&feature=youtu.be&t=0s "SASAiP2020") (October 2020, in Polish) - [SAS dla Administratorów i Praktyków 2020](https://www.youtube.com/watch?v=mXuep2k48Z8&feature=youtu.be&t=0s "SASAiP2020") (October 2020, in Polish)
- [Boston Area SAS Users Group webinar](https://us02web.zoom.us/rec/share/p6ZpCsvc5YZDQGpLOOLOB4zyNGA4vjfjJcNhwaGQ7jKKR00Z_bmeCcBkcwkut6Pr.Q6UoueYAOcv6dPQf "BASUG") (November 2020) - [Boston Area SAS Users Group webinar](https://www.basug.org/videos?wix-vod-video-id=78067e61413d43d3a6951974b3bc3014&wix-vod-comp-id=comp-klv807gt "BASUG") (November 2020)
- [SAS Global Forum 2021 V.E.](https://www.youtube.com/watch?v=hqexaQtGw88 "SGF2021") (May 20th, 2021) - [SAS Global Forum 2021 V.E.](https://www.youtube.com/watch?v=hqexaQtGw88 "SGF2021") (May 20th, 2021)
--- ---
@@ -144,7 +144,7 @@ SHA256 digest for macroArray: 849629D3AF3FE3AB45D86990E303F1D5E4D5F9F31C8ED6864C
[Documentation for macroArray](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/macroarray.md "Documentation for macroArray") [Documentation for macroArray](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/macroarray.md "Documentation for macroArray")
- **BasePlus**\[0.991\] adds a bunch of functionalities I am missing in BASE SAS, such as: - **BasePlus**\[0.992\] adds a bunch of functionalities I am missing in BASE SAS, such as:
```sas ```sas
call arrMissToRight(myArray); call arrMissToRight(myArray);
call arrFillMiss(17, myArray); call arrFillMiss(17, myArray);
@@ -158,16 +158,16 @@ format x bool.;
%put %getVars(sashelp.class, pattern = ght$, sep = +, varRange = _numeric_); %put %getVars(sashelp.class, pattern = ght$, sep = +, varRange = _numeric_);
``` ```
SHA256 digest for BasePlus: A321A4BC54D444B82575EC5D443553A096557AD69DC171D578A330277E67637A SHA256 digest for BasePlus: C9D26CAC2504634EF25F02B5BD04596B2F873E3C25E8CEDDD7F496A78B184E9F
[Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus") [Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus")
- **GSM** (Generate Secure Macros)\[0.11\], package allows - **GSM** (Generate Secure Macros)\[0.13\], package allows
to create secured macros stored in SAS Proc FCMP functions. to create secured macros stored in SAS Proc FCMP functions.
The dataset with functions can be shared between different operating systems The dataset with functions can be shared between different operating systems
and allows to generate macros on site without showing their code. and allows to generate macros on site without showing their code.
SHA256 digest for GSM: 4322D79C382B9D58EF5E51AFD0856331F8B38B1B35AC21295DADFC43F81B2AF8 SHA256 digest for GSM: 2FC239B5A2216D073826125999BFD64FBA32BFEA3EE6EA2B22EC64E8C1B04144
[Documentation for GSM](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/gsm.md "Documentation for GSM") [Documentation for GSM](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/gsm.md "Documentation for GSM")

View File

@@ -90,7 +90,7 @@ SHA256 digest for macroArray: 849629D3AF3FE3AB45D86990E303F1D5E4D5F9F31C8ED6864C
--- ---
- **BasePlus**\[0.991\] adds a bunch of functionalities I am missing in BASE SAS, such as: - **BasePlus**\[0.992\] adds a bunch of functionalities I am missing in BASE SAS, such as:
```sas ```sas
call arrMissToRight(myArray); call arrMissToRight(myArray);
call arrFillMiss(17, myArray); call arrFillMiss(17, myArray);
@@ -104,18 +104,18 @@ format x bool.;
%put %getVars(sashelp.class, pattern = ght$, sep = +, varRange = _numeric_); %put %getVars(sashelp.class, pattern = ght$, sep = +, varRange = _numeric_);
``` ```
SHA256 digest for BasePlus: A321A4BC54D444B82575EC5D443553A096557AD69DC171D578A330277E67637A SHA256 digest for BasePlus: C9D26CAC2504634EF25F02B5BD04596B2F873E3C25E8CEDDD7F496A78B184E9F
[Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus") [Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus")
--- ---
- **GSM** (Generate Secure Macros)\[0.11\], package allows - **GSM** (Generate Secure Macros)\[0.13\], package allows
to create secured macros stored in SAS Proc FCMP functions. to create secured macros stored in SAS Proc FCMP functions.
The dataset with functions can be shared between different operating systems The dataset with functions can be shared between different operating systems
and allows to generate macros on site without showing their code. and allows to generate macros on site without showing their code.
SHA256 digest for GSM: 4322D79C382B9D58EF5E51AFD0856331F8B38B1B35AC21295DADFC43F81B2AF8 SHA256 digest for GSM: 2FC239B5A2216D073826125999BFD64FBA32BFEA3EE6EA2B22EC64E8C1B04144
[Documentation for GSM](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/gsm.md "Documentation for GSM") [Documentation for GSM](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/gsm.md "Documentation for GSM")

View File

@@ -1,3 +1,12 @@
/* 20210818 */
BasePlus: C9D26CAC2504634EF25F02B5BD04596B2F873E3C25E8CEDDD7F496A78B184E9F
/* 20210726 */
GSM: 2FC239B5A2216D073826125999BFD64FBA32BFEA3EE6EA2B22EC64E8C1B04144
/* 20210722 */
GSM: 311BCF510B7B189AE9A75C56C4D2F99F844114CC5AD32329FAD690BA1F10422A
/* 20210719 */ /* 20210719 */
GSM: 4322D79C382B9D58EF5E51AFD0856331F8B38B1B35AC21295DADFC43F81B2AF8 GSM: 4322D79C382B9D58EF5E51AFD0856331F8B38B1B35AC21295DADFC43F81B2AF8

View File

@@ -41,12 +41,13 @@
* [`semicolonN()` function](#semicolonn-function) * [`semicolonN()` function](#semicolonn-function)
* [`%zipEvalf()` macro](#zipevalf-macro) * [`%zipEvalf()` macro](#zipevalf-macro)
* [`%QzipEvalf()` macro](#qzipevalf-macro) * [`%QzipEvalf()` macro](#qzipevalf-macro)
* [`%functionExists()` macro](#functionexists-macro)
* [License](#license) * [License](#license)
--- ---
# The BasePlus package [ver. 0.991] <a name="baseplus-package"></a> ############################################### # The BasePlus package [ver. 0.992] <a name="baseplus-package"></a> ###############################################
The **BasePlus** package implements useful The **BasePlus** package implements useful
functions and functionalities I miss in the BASE SAS. functions and functionalities I miss in the BASE SAS.
@@ -61,7 +62,8 @@ Kudos to all who inspired me to generate this package:
*Mark Keintz*, *Mark Keintz*,
*Paul Dorfman*, *Paul Dorfman*,
*Richard DeVenezia*, *Richard DeVenezia*,
*Christian Graffeuille*. *Christian Graffeuille*,
*Allan Bowe*.
--- ---
@@ -183,48 +185,50 @@ Package contains:
2. macro deduplistp 2. macro deduplistp
3. macro deduplists 3. macro deduplists
4. macro deduplistx 4. macro deduplistx
5. macro getvars 5. macro functionexists
6. macro qdeduplistx 6. macro getvars
7. macro qgetvars 7. macro qdeduplistx
8. macro qzipevalf 8. macro qgetvars
9. macro symdelglobal 9. macro qzipevalf
10. macro zipevalf 10. macro symdelglobal
11. format bool 11. macro zipevalf
12. format boolz 12. format bool
13. format ceil 13. format boolz
14. format floor 14. format ceil
15. format int 15. format floor
16. functions arrfill 16. format int
17. functions arrfillc 17. functions arrfill
18. functions arrmissfill 18. functions arrfillc
19. functions arrmissfillc 19. functions arrmissfill
20. functions arrmisstoleft 20. functions arrmissfillc
21. functions arrmisstoleftc 21. functions arrmisstoleft
22. functions arrmisstoright 22. functions arrmisstoleftc
23. functions arrmisstorightc 23. functions arrmisstoright
24. functions bracketsc 24. functions arrmisstorightc
25. functions bracketsn 25. functions bracketsc
26. functions catxfc 26. functions bracketsn
27. functions catxfi 27. functions catxfc
28. functions catxfj 28. functions catxfi
29. functions catxfn 29. functions catxfj
30. functions deldataset 30. functions catxfn
31. functions semicolonc 31. functions deldataset
32. functions semicolonn 32. functions semicolonc
33. format brackets 33. functions semicolonn
34. format semicolon 34. format brackets
35. proto qsortincbyprocproto 35. format semicolon
36. functions frommissingtonumberbs 36. proto qsortincbyprocproto
37. functions fromnumbertomissing 37. functions frommissingtonumberbs
38. functions quicksort4notmiss 38. functions fromnumbertomissing
39. functions quicksorthash 39. functions quicksort4notmiss
40. functions quicksorthashsddv 40. functions quicksorthash
41. functions quicksortlight 41. functions quicksorthashsddv
42. functions quicksortlight
*SAS package generated by generatePackage, version 20210109* *SAS package generated by generatePackage, version 20210109*
The SHA256 hash digest for package BasePlus: The SHA256 hash digest for package BasePlus:
`A321A4BC54D444B82575EC5D443553A096557AD69DC171D578A330277E67637A` `C9D26CAC2504634EF25F02B5BD04596B2F873E3C25E8CEDDD7F496A78B184E9F`
--- ---
# Content description ############################################################################################ # Content description ############################################################################################
@@ -2929,7 +2933,42 @@ run;
--- ---
## >>> `%functionExists()` macro: <<< <a name="functionexists-macro"></a> #######################
The functionExists() macro function tests
if given funcion exists in the SAS session.
The `sashelp.vfunc` view is used.
See examples below for the details.
The `%functionExists()` macro executes like a pure macro code.
The function is a result of cooperation with [Allan Bowe](https://www.linkedin.com/in/allanbowe/)
### SYNTAX: ###################################################################
The basic syntax is the following, the `<...>` means optional parameters:
~~~~~~~~~~~~~~~~~~~~~~~sas
%functionExists(
funName
)
~~~~~~~~~~~~~~~~~~~~~~~
**Arguments description**:
1. `funName` - *Required*, the name of the function
existence of which you are testing.
### EXAMPLES AND USECASES: ####################################################
**EXAMPLE 1.** Test if function exists:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%put %functionExists(HASHING);
%put %functionExists(COSsinLOG);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---
## License #################################################################### ## License ####################################################################

Binary file not shown.

View File

@@ -8,7 +8,7 @@
--- ---
# The GSM package [ver. 0.11] <a name="gsm-package"></a> ############################################### # The GSM package [ver. 0.13] <a name="gsm-package"></a> ###############################################
The **GSM** (a.k.a. *Generate Secure Macros*) package allows The **GSM** (a.k.a. *Generate Secure Macros*) package allows
to create secured macros stored in SAS Proc FCMP functions. to create secured macros stored in SAS Proc FCMP functions.
@@ -68,7 +68,7 @@ Required SAS Components:
* SAS package generated by generatePackage, version 20210528 * * SAS package generated by generatePackage, version 20210528 *
The SHA256 hash digest for package BasePlus: The SHA256 hash digest for package BasePlus:
`4322D79C382B9D58EF5E51AFD0856331F8B38B1B35AC21295DADFC43F81B2AF8` `2FC239B5A2216D073826125999BFD64FBA32BFEA3EE6EA2B22EC64E8C1B04144`
## >>> `%GSM()` macro: <<< <a name="gsm-macro"></a> ####################### ## >>> `%GSM()` macro: <<< <a name="gsm-macro"></a> #######################

Binary file not shown.