From 42ede60e73d8def92ee449e2a055c53509ef71a3 Mon Sep 17 00:00:00 2001 From: yabwon Date: Thu, 30 Jul 2020 15:28:33 +0200 Subject: [PATCH] version 20200703 info about available packages --- packages/README.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 packages/README.md diff --git a/packages/README.md b/packages/README.md new file mode 100644 index 0000000..5773dc0 --- /dev/null +++ b/packages/README.md @@ -0,0 +1,45 @@ +## Available packages: +Currently the following packages are available: + +- **SQLinDS**\[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. +``` +data class; + set %SQL(select * from sashelp.class order by age); +run; +``` + +- **DFA** (Dynamic Function Arrays)\[0.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. + +- **macroArray**\[0.3\], implementation of an array concept in a macrolanguage, e.g. +``` + %array(ABC[17] (111:127), macarray=Y); + + %do i = 1 %to 17; + %put &i.) %ABC(&i.); + %end; + + %let %ABC(13,i) = 999; /* i = insert */ + + %do i = 1 %to 17; + %put &i.) %ABC(&i.); + %end; +``` + +- **BasePlus**\[0.5\] adds a bunch of functionalities I am missing in BASE SAS, such as: +``` +call arrMissToRight(myArray); +call arrFillMiss(17, myArray); +call arrFill(42, myArray); + +rc = delDataset("DataSetToDrop"); + +string = catXFn("date9.", "#", myArray); + +format x bool.; + +%put %getVars(sashelp.class, patern = ght$, sep = +, varRange = _numeric_); +``` + +- **dynMacroArray**\[0.2\], set of macros (wrappers for a hash table) emulating dynamic array in the data step (macro predecessor of DFA) + +### ======