From 82681a3f910e4639c49afcd98b2c02006320f28c Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Tue, 12 Sep 2023 12:50:28 +0200 Subject: [PATCH 1/2] Update README.md --- README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f3d73d0..ccbb2ef 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ The first step to use a package with the SAS Packages Framework: - Create a folder for your packages, under Windows OS family e.g., `C:/SAS_PACKAGES` or under Linux/UNIX OS family e.g., `/home//SAS_PACKAGES`. -and then either: +Then either: - Manually download the `SPFinit.sas` file (the SAS Packages Framework) into the local packages folder. - \[Optional\] Manually download the `.zip` file into the local packages folder. @@ -88,6 +88,13 @@ or do it pragmatically: ```sas filename SPFinit url "https://raw.githubusercontent.com/yabwon/SAS_PACKAGES/main/SPF/SPFinit.sas"; %include SPFinit; /* enable the framework */ +``` + + or (shorter) with: + +```sas +filename SPFinit url "https://bit.ly/SPFinit"; +%include SPFinit; /* enable the framework */ ``` - Install the framework on your machine in the folder you created: @@ -97,7 +104,7 @@ filename packages ""; %installPackage(SPFinit) /* install the framework */ ``` -- And from now on run it like this: +- From now on run it like this: ```sas filename packages ""; @@ -109,7 +116,8 @@ filename packages ""; ``` --- -The "Workshop video for the User" got outdated (in general). Newer version is comming soon, in the mean time see some of the vedeos from the "Recordings and Presentations" section above. + +The "Workshop video for the User" got outdated (in general). Newer version is coming soon, in the mean time see some of the videos from the "Recordings and Presentations" section above. (You can watch the workshop if you wish, link is working and some parts are still valid source of information e.g., "`ICE` loading" or "`disk` loading") [**Workshop video for the User**](https://youtu.be/qX_-HJ76g8Y) \[May 6th, 2020\] [~86 minutes, outdated (installPackage macro was not there yet) but gives the idea how it works especially load, help, unload, ICEload, and other details] @@ -128,7 +136,7 @@ To create your own package: - Read the **`My First SAS Package: A How-To - Paper 1079-2021`** article available at communities.sas.com [**`here`**](https://communities.sas.com/t5/SAS-Global-Forum-Proceedings/My-First-SAS-Package-A-How-To/ta-p/726319 "My First SAS Package: A How-To") or locally [**`here`**](https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/Documentation/Paper_1079-2021/My%20First%20SAS%20Package%20-%20a%20How%20To.pdf "My First SAS Package: A How-To") -The SAS Packages Framework [(short) documetation](https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md) to quickly see macros options and parametera. +The SAS Packages Framework [(short) documentation](https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md) to quickly see macros options and parameters. --- From c9b388b66153253727ea68b154d0f20a446efbeb Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Tue, 19 Sep 2023 17:43:54 +0200 Subject: [PATCH 2/2] The BasePlus package [ver. 1.30.0] The BasePlus package [ver. 1.30.0] - new macro `%repList()` added - doc. updated SHA256 digest: `F*B91771D45C781B6806DBB44A3B491A0784D7698B9F3BBBE1A86EE5594834315F` --- packages/README.md | 4 +- packages/SHA256_for_packages.txt | 3 + packages/baseplus.md | 152 ++++++++++++++++++++++++++++++- packages/baseplus.zip | Bin 281263 -> 283708 bytes 4 files changed, 152 insertions(+), 7 deletions(-) diff --git a/packages/README.md b/packages/README.md index ab654a5..5469745 100644 --- a/packages/README.md +++ b/packages/README.md @@ -86,7 +86,7 @@ SHA256 digest for macroArray: F*6A22A01868F4203862B3685F543D723C7DB8E9AB3C1A6357 --- -- **BasePlus**\[1.29.1\] adds a bunch of functionalities I am missing in BASE SAS, such as: +- **BasePlus**\[1.30.0\] adds a bunch of functionalities I am missing in BASE SAS, such as: ```sas call arrMissToRight(myArray); call arrFillMiss(17, myArray); @@ -110,7 +110,7 @@ format x bool.; %put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$); ``` -SHA256 digest for BasePlus: F*2FE68DD9B3692B9D46EF85B82F63C7E65010BF9E89D670FD1779F4670FA03F31 +SHA256 digest for BasePlus: F*B91771D45C781B6806DBB44A3B491A0784D7698B9F3BBBE1A86EE5594834315F [Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus") diff --git a/packages/SHA256_for_packages.txt b/packages/SHA256_for_packages.txt index 368aa25..851f758 100644 --- a/packages/SHA256_for_packages.txt +++ b/packages/SHA256_for_packages.txt @@ -1,3 +1,6 @@ +/* 20230919 */ +BasePlus: F*B91771D45C781B6806DBB44A3B491A0784D7698B9F3BBBE1A86EE5594834315F + /* 20230906 */ macroArray: F*6A22A01868F4203862B3685F543D723C7DB8E9AB3C1A6357D2BFA030971B0D3C diff --git a/packages/baseplus.md b/packages/baseplus.md index f9b0a87..2e47556 100644 --- a/packages/baseplus.md +++ b/packages/baseplus.md @@ -52,6 +52,7 @@ * [`%bpPIPE()` macro](#bppipe-macro) * [`%dirsAndFiles()` macro](#dirsandfiles-macro) * [`%repeatTxt()` macro](#repeattxt-macro) + * [`%repList()` macro](#replist-macro) * [`%intsList()` macro](#intslist-macro) * [`%letters()` macro](#letters-macro) * [`%splitDSIntoBlocks()` macro](#splitdsintoblocks-macro) @@ -72,7 +73,7 @@ --- -# The BasePlus package [ver. 1.29.1] ############################################### +# The BasePlus package [ver. 1.30.0] ############################################### The **BasePlus** package implements useful functions and functionalities I miss in the BASE SAS. @@ -309,6 +310,33 @@ run; run; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +**EXAMPLE 22** Repeating texts and lists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; + +data work.A; + x=17; +data work.B; + x=42; +data work.C; + x=303; +run; + +data work.test5; + set + %repeatTxt(work.A work.B work.C, 5) + ; +run; + + +data Times2_A3B4C5; + set + %repList(work.A work.B work.C, times = 2, each = 3 4 5) + ; +run; + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --- Package contains: @@ -375,9 +403,11 @@ Package contains: 61. macro letters 62. macro libpath 63. macro minclude -64. macro translate -65. macro tranwrd -66. macro workpath +64. macro replist +65. macro translate +66. macro tranwrd +67. macro workpath + @@ -388,7 +418,7 @@ localization (only if additional content was deployed during the installation pr * SAS package generated by generatePackage, version 20230905 * The SHA256 hash digest for package BasePlus: -`F*2FE68DD9B3692B9D46EF85B82F63C7E65010BF9E89D670FD1779F4670FA03F31` +`F*B91771D45C781B6806DBB44A3B491A0784D7698B9F3BBBE1A86EE5594834315F` --- # Content description ############################################################################################ @@ -4399,6 +4429,118 @@ run; --- +## >>> `%repList()` macro: <<< ####################### + +The repList() macro function allows to repeat `T` +times elements of a `L` list, possibly `E` times each element, +separated by string `S`. + +See examples below for the details. + +The `%repList()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%repList( + list + <,times=> + <,each=> + <,lenghtOut=> + <,sep=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - *Required*, a list of elements to be repeated. + List can be space or comma separated. + Elements can be in quotes. + For comma separated list add brackets + e.g., `%repList((A,B,C,D),times=5)`. + The list separators are: `<{[( ,;)]}>`. + +* `times=` - *Optional*, An integer indicating + the number of repetitions. + By default set to `1`. + + +* `each=` - *Optional*, A list of integers indicating + the number of repetitions of each element of the list + e.g., for a list `A B C` and the `each=2 4` the result + is `A A B B B B C C`. If the number of integers is less + then the length of the list values are recycled from + the beginning. + By default set to `1`. + +* `lenghtOut=` - *Optional*, An integer indicating + after what the number of repetitions process will stop. + By default set to `0` which means "do not stop". + +* `sep=` - *Optional*, it is a separator printed between + repeated elements. Mnemonics for *space* is `s`, + for *comma* is `c`, and for semicolon in `q`. + Default value is a single space. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple repetition of all elements: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList((A,B,C,D), times=3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Simple repetition of each element: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(("A",'B',"C",'D'), each=3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Simple repetition with a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(A10;B20;C30, times=3, each=2, sep=Q); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Recycle elements up to 8 with a comma as a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(1 2 3, lenghtOut=8, sep=c); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 5.** Separate number of repetitions for each element: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put [%repList([D][C][B][A], each = 2 3 5 7, sep=] [)]; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 6.** "ASCII art" butterflies: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put {>%repList(! $ |, times = 2, each =2 1, sep=<} ... {>)<}; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Data repeating: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data A; + x=17; +data B; + x=42; +data C; + x=303; +run; + +data Times2_A10B11C12; + set + %repList(A B C, times = 2, each =10 11 12) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + + ## >>> `%intsList()` macro: <<< ####################### The intsList() macro function allows to print a list of diff --git a/packages/baseplus.zip b/packages/baseplus.zip index 640e533c13726e878d878bd4f71f3917841505d8..37f2de5a71ea20a1eea54d57a49cdbb66057bd16 100644 GIT binary patch delta 19587 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 XX=QeX4Neb2vhZgbR^p)qv_<{{7#hhm delta 17050 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