BasePlus, Version: 0.992

**BasePlus**, Version: 0.992

New macro added.

The `%functionExists()` macro checks if a function exists in a SAS session.
This commit is contained in:
yabwon
2021-08-18 23:01:10 +02:00
parent bcbd078b7d
commit cdf07fc232
5 changed files with 92 additions and 50 deletions

View File

@@ -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,7 +158,7 @@ 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")

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,7 +104,7 @@ 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")

View File

@@ -1,8 +1,11 @@
/* 20210818 */
BasePlus: C9D26CAC2504634EF25F02B5BD04596B2F873E3C25E8CEDDD7F496A78B184E9F
/* 20210726 */ /* 20210726 */
2FC239B5A2216D073826125999BFD64FBA32BFEA3EE6EA2B22EC64E8C1B04144 GSM: 2FC239B5A2216D073826125999BFD64FBA32BFEA3EE6EA2B22EC64E8C1B04144
/* 20210722 */ /* 20210722 */
311BCF510B7B189AE9A75C56C4D2F99F844114CC5AD32329FAD690BA1F10422A 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*.
--- ---
@@ -179,52 +181,54 @@ Kudos to all who inspired me to generate this package:
--- ---
Package contains: Package contains:
1. macro deduplistc 1. macro deduplistc
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.