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")
- **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
call arrMissToRight(myArray);
call arrFillMiss(17, myArray);
@@ -158,7 +158,7 @@ format x bool.;
%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")

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
call arrMissToRight(myArray);
call arrFillMiss(17, myArray);
@@ -104,7 +104,7 @@ format x bool.;
%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")

View File

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

View File

@@ -41,12 +41,13 @@
* [`semicolonN()` function](#semicolonn-function)
* [`%zipEvalf()` macro](#zipevalf-macro)
* [`%QzipEvalf()` macro](#qzipevalf-macro)
* [`%functionExists()` macro](#functionexists-macro)
* [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
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*,
*Paul Dorfman*,
*Richard DeVenezia*,
*Christian Graffeuille*.
*Christian Graffeuille*,
*Allan Bowe*.
---
@@ -179,52 +181,54 @@ Kudos to all who inspired me to generate this package:
---
Package contains:
1. macro deduplistc
2. macro deduplistp
3. macro deduplists
4. macro deduplistx
5. macro getvars
6. macro qdeduplistx
7. macro qgetvars
8. macro qzipevalf
9. macro symdelglobal
10. macro zipevalf
11. format bool
12. format boolz
13. format ceil
14. format floor
15. format int
16. functions arrfill
17. functions arrfillc
18. functions arrmissfill
19. functions arrmissfillc
20. functions arrmisstoleft
21. functions arrmisstoleftc
22. functions arrmisstoright
23. functions arrmisstorightc
24. functions bracketsc
25. functions bracketsn
26. functions catxfc
27. functions catxfi
28. functions catxfj
29. functions catxfn
30. functions deldataset
31. functions semicolonc
32. functions semicolonn
33. format brackets
34. format semicolon
35. proto qsortincbyprocproto
36. functions frommissingtonumberbs
37. functions fromnumbertomissing
38. functions quicksort4notmiss
39. functions quicksorthash
40. functions quicksorthashsddv
41. functions quicksortlight
1. macro deduplistc
2. macro deduplistp
3. macro deduplists
4. macro deduplistx
5. macro functionexists
6. macro getvars
7. macro qdeduplistx
8. macro qgetvars
9. macro qzipevalf
10. macro symdelglobal
11. macro zipevalf
12. format bool
13. format boolz
14. format ceil
15. format floor
16. format int
17. functions arrfill
18. functions arrfillc
19. functions arrmissfill
20. functions arrmissfillc
21. functions arrmisstoleft
22. functions arrmisstoleftc
23. functions arrmisstoright
24. functions arrmisstorightc
25. functions bracketsc
26. functions bracketsn
27. functions catxfc
28. functions catxfi
29. functions catxfj
30. functions catxfn
31. functions deldataset
32. functions semicolonc
33. functions semicolonn
34. format brackets
35. format semicolon
36. proto qsortincbyprocproto
37. functions frommissingtonumberbs
38. functions fromnumbertomissing
39. functions quicksort4notmiss
40. functions quicksorthash
41. functions quicksorthashsddv
42. functions quicksortlight
*SAS package generated by generatePackage, version 20210109*
The SHA256 hash digest for package BasePlus:
`A321A4BC54D444B82575EC5D443553A096557AD69DC171D578A330277E67637A`
`C9D26CAC2504634EF25F02B5BD04596B2F873E3C25E8CEDDD7F496A78B184E9F`
---
# 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 ####################################################################

Binary file not shown.