mirror of
https://github.com/yabwon/SAS_PACKAGES.git
synced 2026-01-03 21:30:06 +00:00
SAS Packages Framework, version 20221121
## SAS Packages Framework, version 20221121
---
### New feature of "Cherry picking" added to the SAS Packages Framework.
Sometimes a package offers so many features that the number may be "overwhelming".
In such case only some of them may be selected for loading. Such process
is called a "cherry picking". The feature is provided by the `%loadPackage()` macro
which uses a `cherryPick=` parameter (see description below).
For example, execution of the following code:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%loadPackage(BasePlus, cherryPick=rainCloudPlot getVars)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
results with loading only the `rainCloudPlot` and the `getVars` elements.
If several object types (e.g., a macro and a format) share the same name
all will be loaded.
What is the trade-off?
- Since the cherry picking selects only a part of the package the `SYSloadedPackages`
macrovariable is not updated with the package name.
- Dependencies i.e., packages from the `ReqPackages` list, are not loaded automatically,
so they have to be loaded manually.
- The `%unloadPackage()` macro executed on such partially loaded package may issue
some (irrelevant) warnings.
---
### Changes in `%loadPackage()` macro:
- New `cherryPick=` parameter added to the macro.
As a value a *space separated* list of selected elements
of the package to be loaded into the SAS session is expected.
Default value of an asterisk (`*`) means: "load all elements of the package".
Empty list is equivalent to default.
- Documentation updated.
### Changes in `%generatePackage()` macro:
- Code adjustment for the cherry picking feature.
- Minor additional code refactoring.
- The `%ICEloadPackage()` macro does not support cherry picking.
---
### The following packages were regenerated with the latest version of the framework:
- BasePlus [1.17.2]
- DFA [0.5.2]
- dynMacroArray [0.2.2]
- GSM [0.20.2]
- macroArray [1.0.2]
- SQLinDS [2.2.2]
This commit is contained in:
@@ -10,7 +10,7 @@ Packages:
|
||||
|
||||
---
|
||||
|
||||
- **SQLinDS**\[2.2.1\], based on Mike Rhoads' article *Use the Full Power of SAS in Your Function-Style Macros*. The package allows to write SQL queries in the data step, e.g.
|
||||
- **SQLinDS**\[2.2.2\], based on Mike Rhoads' article *Use the Full Power of SAS in Your Function-Style Macros*. The package allows to write SQL queries in the data step, e.g.
|
||||
```sas
|
||||
data class;
|
||||
set %SQL(
|
||||
@@ -22,7 +22,7 @@ data class;
|
||||
WH = weight + height;
|
||||
run;
|
||||
```
|
||||
SHA256 digest for SQLinDS: A070214517CC36590083FCF9D5F488AC6E746793E94B9AA55D09A419CF291B5B
|
||||
SHA256 digest for SQLinDS: 085F0B8BD4A59343E2913FF9635EA6E551ADD54E9678C35F5096D4A0A895B9C5
|
||||
|
||||
[Documentation for SQLinDS](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/sqlinds.md "Documentation for SQLinDS")
|
||||
|
||||
@@ -36,7 +36,7 @@ SHA256 digest for MacroCore: A23C29529F3CE7D0C8BEE9545C5D22D5B5594907547374A5135
|
||||
|
||||
---
|
||||
|
||||
- **DFA** (Dynamic Function Arrays)\[0.5.1\], contains set of macros and FCMP functions which implement: a dynamically allocated array, a stack, a fifo queue, an ordered stack, and a priority queue, run `%helpPackage(DFA,createDFArray)` to find examples.
|
||||
- **DFA** (Dynamic Function Arrays)\[0.5.2\], contains set of macros and FCMP functions which implement: a dynamically allocated array, a stack, a fifo queue, an ordered stack, and a priority queue, run `%helpPackage(DFA,createDFArray)` to find examples.
|
||||
```sas
|
||||
%createDFArray(ArrDynamic, resizefactor=17);
|
||||
|
||||
@@ -63,13 +63,13 @@ data _null_;
|
||||
end;
|
||||
run;
|
||||
```
|
||||
SHA256 digest for DFA: 5A6FD2F6E962E6C191346A141FFAF354E35A546CA93146B55D7C6163BFB1BDD6
|
||||
SHA256 digest for DFA: 3F618EDAC8B4F4BE6C19D606E6BCC58121A16BA1383D2EE64C680B4B7FA9C96A
|
||||
|
||||
[Documentation for DFA](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/dfa.md "Documentation for DFA")
|
||||
|
||||
---
|
||||
|
||||
- **macroArray**\[1.0.1\], implementation of an array concept in a macro language, e.g.
|
||||
- **macroArray**\[1.0.2\], implementation of an array concept in a macro language, e.g.
|
||||
```sas
|
||||
%array(ABC[17] (111:127), macarray=Y);
|
||||
|
||||
@@ -88,13 +88,13 @@ SHA256 digest for DFA: 5A6FD2F6E962E6C191346A141FFAF354E35A546CA93146B55D7C6163B
|
||||
which = 1:H:2
|
||||
);
|
||||
```
|
||||
SHA256 digest for macroArray: 371B92A5ABBE82C53F7D63BC5C0D1EBD4695603D3894D8A9A5D5777D1AB59B30
|
||||
SHA256 digest for macroArray: DA57FFE85F49201FD61A53411D19E97FB5A6AC3C34E34FDF4B913545699551FF
|
||||
|
||||
[Documentation for macroArray](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/macroarray.md "Documentation for macroArray")
|
||||
|
||||
---
|
||||
|
||||
- **BasePlus**\[1.17.1\] adds a bunch of functionalities I am missing in BASE SAS, such as:
|
||||
- **BasePlus**\[1.17.2\] adds a bunch of functionalities I am missing in BASE SAS, such as:
|
||||
```sas
|
||||
call arrMissToRight(myArray);
|
||||
call arrFillMiss(17, myArray);
|
||||
@@ -112,25 +112,25 @@ format x bool.;
|
||||
|
||||
%zipLibrary(sashelp,libOut=work)
|
||||
```
|
||||
SHA256 digest for BasePlus: A80006D3C1409465E49F383D08F2F3AF1E33D6A67D71A8CAF29747ADC917E2E4
|
||||
SHA256 digest for BasePlus: EBA9EDB3D50D854288970CC0E965DA6AD5B057F6E6433EEBEC4A02B9A25CF6E2
|
||||
|
||||
[Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus")
|
||||
|
||||
---
|
||||
|
||||
- **GSM** (Generate Secure Macros)\[0.20.1\], package allows
|
||||
- **GSM** (Generate Secure Macros)\[0.20.2\], package allows
|
||||
to create secured macros stored in SAS Proc FCMP functions.
|
||||
The dataset with functions can be shared between different operating systems
|
||||
and allows to generate macros on site without showing their code.
|
||||
|
||||
SHA256 digest for GSM: 5D1925970C9590CD195C15B8641B01D7857E3B2546323DC77D09154BCCA40922
|
||||
SHA256 digest for GSM: E47C94B536B661DEE390F5C3EA1684DD1A246106F4FBBDAFA57F5E34D4BB16D5
|
||||
|
||||
[Documentation for GSM](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/gsm.md "Documentation for GSM")
|
||||
|
||||
---
|
||||
|
||||
- **dynMacroArray**\[0.2.1\], set of macros (wrappers for a hash table) emulating dynamic array in the data step (macro predecessor of DFA). Development of this package is currently on hold.
|
||||
- **dynMacroArray**\[0.2.2\], set of macros (wrappers for a hash table) emulating dynamic array in the data step (macro predecessor of DFA). Development of this package is currently on hold.
|
||||
|
||||
SHA256 digest for dynMacroArray: C987C08615A53D7BD7AEC3911EADF436C676EAB3E233E7E422E42995B890E169
|
||||
SHA256 digest for dynMacroArray: DD0BF1768DA05EBB5F8C6E7409A0929E28DF11CB499F75B433D9648855AACAE4
|
||||
|
||||
---
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
/* 20221121 */
|
||||
BasePlus: EBA9EDB3D50D854288970CC0E965DA6AD5B057F6E6433EEBEC4A02B9A25CF6E2
|
||||
DFA: 3F618EDAC8B4F4BE6C19D606E6BCC58121A16BA1383D2EE64C680B4B7FA9C96A
|
||||
dynMacroArray: DD0BF1768DA05EBB5F8C6E7409A0929E28DF11CB499F75B433D9648855AACAE4
|
||||
GSM: E47C94B536B661DEE390F5C3EA1684DD1A246106F4FBBDAFA57F5E34D4BB16D5
|
||||
macroArray: DA57FFE85F49201FD61A53411D19E97FB5A6AC3C34E34FDF4B913545699551FF
|
||||
SQLinDS: 085F0B8BD4A59343E2913FF9635EA6E551ADD54E9678C35F5096D4A0A895B9C5
|
||||
|
||||
/* 20221112 */
|
||||
BasePlus: A80006D3C1409465E49F383D08F2F3AF1E33D6A67D71A8CAF29747ADC917E2E4
|
||||
DFA: 5A6FD2F6E962E6C191346A141FFAF354E35A546CA93146B55D7C6163BFB1BDD6
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
---
|
||||
|
||||
# The BasePlus package [ver. 1.17.1] <a name="baseplus-package"></a> ###############################################
|
||||
# The BasePlus package [ver. 1.17.2] <a name="baseplus-package"></a> ###############################################
|
||||
|
||||
The **BasePlus** package implements useful
|
||||
functions and functionalities I miss in the BASE SAS.
|
||||
@@ -273,10 +273,10 @@ Package contains:
|
||||
48. functions quicksorthashsddv
|
||||
49. functions quicksortlight
|
||||
|
||||
*SAS package generated by generatePackage, version 20221112*
|
||||
*SAS package generated by generatePackage, version 20221121*
|
||||
|
||||
The SHA256 hash digest for package BasePlus:
|
||||
`A80006D3C1409465E49F383D08F2F3AF1E33D6A67D71A8CAF29747ADC917E2E4`
|
||||
`EBA9EDB3D50D854288970CC0E965DA6AD5B057F6E6433EEBEC4A02B9A25CF6E2`
|
||||
|
||||
---
|
||||
# Content description ############################################################################################
|
||||
|
||||
Binary file not shown.
@@ -18,7 +18,7 @@
|
||||
|
||||
---
|
||||
|
||||
# The DFA package [ver. 0.5.1] <a name="dfa-package"></a> ###############################################
|
||||
# The DFA package [ver. 0.5.2] <a name="dfa-package"></a> ###############################################
|
||||
|
||||
The **DFA** (a.k.a. *Dynamic Function Array*) package implements:
|
||||
- dynamic numeric and character arrays,
|
||||
@@ -52,10 +52,10 @@ Package contains:
|
||||
12. exec generatearrays
|
||||
13. clean generatearrays
|
||||
|
||||
*SAS package generated by generatePackage, version 20221112*
|
||||
*SAS package generated by generatePackage, version 20221121*
|
||||
|
||||
The SHA256 hash digest for package BasePlus:
|
||||
`5A6FD2F6E962E6C191346A141FFAF354E35A546CA93146B55D7C6163BFB1BDD6`
|
||||
`3F618EDAC8B4F4BE6C19D606E6BCC58121A16BA1383D2EE64C680B4B7FA9C96A`
|
||||
|
||||
---
|
||||
# Content description ############################################################################################
|
||||
|
||||
BIN
packages/dfa.zip
BIN
packages/dfa.zip
Binary file not shown.
Binary file not shown.
@@ -8,7 +8,7 @@
|
||||
---
|
||||
|
||||
|
||||
# The GSM package [ver. 0.20.1] <a name="gsm-package"></a> ###############################################
|
||||
# The GSM package [ver. 0.20.2] <a name="gsm-package"></a> ###############################################
|
||||
|
||||
The **GSM** (a.k.a. *Generate Secure Macros*) package allows
|
||||
to create secured macros stored in SAS Proc FCMP functions.
|
||||
@@ -91,10 +91,10 @@ Package contains:
|
||||
Required SAS Components:
|
||||
`Base SAS Software`
|
||||
|
||||
* SAS package generated by generatePackage, version 20221112 *
|
||||
* SAS package generated by generatePackage, version 20221121 *
|
||||
|
||||
The SHA256 hash digest for package GSM:
|
||||
`5D1925970C9590CD195C15B8641B01D7857E3B2546323DC77D09154BCCA40922`
|
||||
`E47C94B536B661DEE390F5C3EA1684DD1A246106F4FBBDAFA57F5E34D4BB16D5`
|
||||
|
||||
|
||||
## >>> `%GSM()` macro: <<< <a name="gsm-macro"></a> #######################
|
||||
|
||||
BIN
packages/gsm.zip
BIN
packages/gsm.zip
Binary file not shown.
@@ -19,7 +19,7 @@
|
||||
|
||||
---
|
||||
|
||||
# The macroArray package [ver. 1.0.1] <a name="macroarray-package"></a> ###############################################
|
||||
# The macroArray package [ver. 1.0.2] <a name="macroarray-package"></a> ###############################################
|
||||
|
||||
The **macroArray** package implements a macro array facility:
|
||||
- `%array()`,
|
||||
@@ -75,10 +75,10 @@ Package contains:
|
||||
Required SAS Components:
|
||||
*Base SAS Software*
|
||||
|
||||
*SAS package generated by generatePackage, version 20221112.*
|
||||
*SAS package generated by generatePackage, version 20221121.*
|
||||
|
||||
The SHA256 hash digest for package macroArray:
|
||||
`371B92A5ABBE82C53F7D63BC5C0D1EBD4695603D3894D8A9A5D5777D1AB59B30`
|
||||
`DA57FFE85F49201FD61A53411D19E97FB5A6AC3C34E34FDF4B913545699551FF`
|
||||
|
||||
---
|
||||
# Content description ############################################################################################
|
||||
|
||||
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
- [The SQLinDS package [ver. 2.2.1]](#sqlinds-package)
|
||||
- [The SQLinDS package [ver. 2.2.2]](#sqlinds-package)
|
||||
- [Content description](#content-description)
|
||||
* [library `dsSQL`](#library-dssql)
|
||||
* [`%dsSQL_inner()` macro](#dssql-inner-macro)
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
---
|
||||
|
||||
# The SQLinDS package [ver. 2.2.1] <a name="sqlinds-package"></a> ###############################################
|
||||
# The SQLinDS package [ver. 2.2.2] <a name="sqlinds-package"></a> ###############################################
|
||||
|
||||
The **SQLinDS** package is an implementation of
|
||||
the *macro-function-sandwich* concept introduced in the
|
||||
@@ -46,10 +46,10 @@ Package contains:
|
||||
Required SAS Components:
|
||||
*Base SAS Software*
|
||||
|
||||
*SAS package generated by generatePackage, version 20221112*
|
||||
*SAS package generated by generatePackage, version 20221121*
|
||||
|
||||
The SHA256 hash digest for package SQLinDS:
|
||||
`A070214517CC36590083FCF9D5F488AC6E746793E94B9AA55D09A419CF291B5B`
|
||||
`085F0B8BD4A59343E2913FF9635EA6E551ADD54E9678C35F5096D4A0A895B9C5`
|
||||
|
||||
---
|
||||
# Content description ############################################################################################
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user