From 95a0f719403bb354107a18ba897473ba8871a27d Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Wed, 10 Jul 2024 23:07:23 +0200 Subject: [PATCH] The BasePlus package [ver. 1.42.0] ## The BasePlus package [ver. 1.42.0] ### Changes: New macro [`%GenerateOneLiners()`](https://github.com/SASPAC/baseplus/blob/1.42.0/baseplus.md#generateoneliners-macro) allowing to generate "one liner" functions of the form: ~~~~sas %macro FUNCTION()/parmbuff; %sysfunc(FUNCTION&syspbuff) %mend FUNCTION; ~~~~ See [documentation](https://github.com/SASPAC/baseplus/blob/main/baseplus.md) for details. --- SHA256 digest for BasePlus: `F*6012D1475AE22A4445C032D8EAE092BE515D8CD2AE390CC087F5987ACB8BCB13` --- ### Example ~~~~sas %GenerateOneLiners( listOfFunctions=SUM MEAN MEDIAN VAR , prefix=_) %put %_SUM(1,2,3,4,5,6) %_MEAN(1,2,3,4,5,6) %_MEDIAN(1,2,3,4,5,6) %_VAR(1,2,3,4,5,6) ; ~~~~ --- README.md | 2 +- baseplus.md | 185 +- baseplus.zip | Bin 305468 -> 307875 bytes hist/1.42.0/baseplus.md | 7241 +++++++++++++++++++ hist/1.42.0/baseplus.zip | Bin 0 -> 307875 bytes hist/1.42.0/baseplus_RainCloudPlot_Ex0.png | Bin 0 -> 37349 bytes hist/1.42.0/baseplus_RainCloudPlot_Ex1x.png | Bin 0 -> 33305 bytes hist/1.42.0/baseplus_RainCloudPlot_Ex1y.png | Bin 0 -> 34527 bytes hist/1.42.0/baseplus_RainCloudPlot_Ex2a.png | Bin 0 -> 46127 bytes hist/1.42.0/baseplus_RainCloudPlot_Ex2b.png | Bin 0 -> 62152 bytes hist/1.42.0/baseplus_RainCloudPlot_Ex3.png | Bin 0 -> 84018 bytes hist/1.42.0/baseplus_RainCloudPlot_Ex4.png | Bin 0 -> 55585 bytes 12 files changed, 7394 insertions(+), 34 deletions(-) create mode 100644 hist/1.42.0/baseplus.md create mode 100644 hist/1.42.0/baseplus.zip create mode 100644 hist/1.42.0/baseplus_RainCloudPlot_Ex0.png create mode 100644 hist/1.42.0/baseplus_RainCloudPlot_Ex1x.png create mode 100644 hist/1.42.0/baseplus_RainCloudPlot_Ex1y.png create mode 100644 hist/1.42.0/baseplus_RainCloudPlot_Ex2a.png create mode 100644 hist/1.42.0/baseplus_RainCloudPlot_Ex2b.png create mode 100644 hist/1.42.0/baseplus_RainCloudPlot_Ex3.png create mode 100644 hist/1.42.0/baseplus_RainCloudPlot_Ex4.png diff --git a/README.md b/README.md index e6e3e9a..e4c88cd 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ libname NEW "%workPath()/new"; ``` and more. -SHA256 digest for the latest version of `BasePlus`: F*6760DDF382E7CA9A1291F028FA7F2BACB68A3D31CEA3A85104E13EA08645AEF1 +SHA256 digest for the latest version of `BasePlus`: F*6012D1475AE22A4445C032D8EAE092BE515D8CD2AE390CC087F5987ACB8BCB13 [**Documentation for BasePlus**](./baseplus.md "Documentation for BasePlus") diff --git a/baseplus.md b/baseplus.md index 3da8ef9..58246d4 100644 --- a/baseplus.md +++ b/baseplus.md @@ -9,22 +9,22 @@ ### Version information: - Package: BasePlus -- Version: 1.41.0 -- Generated: 2024-06-09T18:22:04 +- Version: 1.42.0 +- Generated: 2024-07-10T22:42:55 - Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com) - Maintainer(s): Bartosz Jablonski (yabwon@gmail.com) - License: MIT -- File SHA256: `F*6760DDF382E7CA9A1291F028FA7F2BACB68A3D31CEA3A85104E13EA08645AEF1` for this version -- Content SHA256: `C*850DEDF85E36C971713B7E3B29AC703C570A89479D47799F1482216E4F1F52FC` for this version +- File SHA256: `F*6012D1475AE22A4445C032D8EAE092BE515D8CD2AE390CC087F5987ACB8BCB13` for this version +- Content SHA256: `C*3A52B9CB12C454868DAF29AE1E73F8E296E730EA6BF1B9CD22C1A990985EE191` for this version --- -# The `BasePlus` package, version: `1.41.0`; +# The `BasePlus` package, version: `1.42.0`; --- -# The BasePlus package [ver. 1.41.0] ############################################### +# The BasePlus package [ver. 1.42.0] ############################################### The **BasePlus** package implements useful functions and functionalities I miss in the BASE SAS. @@ -453,22 +453,23 @@ The `BasePlus` package consists of the following content: 61. [`%filepath()` macro ](#filepath-macro-61 ) 62. [`%finddswithvarval()` macro ](#finddswithvarval-macro-62 ) 63. [`%fmt()` macro ](#fmt-macro-63 ) -64. [`%gettitle()` macro ](#gettitle-macro-64 ) -65. [`%iffunc()` macro ](#iffunc-macro-65 ) -66. [`%infmt()` macro ](#infmt-macro-66 ) -67. [`%letters()` macro ](#letters-macro-67 ) -68. [`%libpath()` macro ](#libpath-macro-68 ) -69. [`%minclude()` macro ](#minclude-macro-69 ) -70. [`%monthshift()` macro ](#monthshift-macro-70 ) -71. [`%replist()` macro ](#replist-macro-71 ) -72. [`%time()` macro ](#time-macro-72 ) -73. [`%today()` macro ](#today-macro-73 ) -74. [`%translate()` macro ](#translate-macro-74 ) -75. [`%tranwrd()` macro ](#tranwrd-macro-75 ) -76. [`%workpath()` macro ](#workpath-macro-76 ) +64. [`%generateoneliners()` macro ](#generateoneliners-macro-64 ) +65. [`%gettitle()` macro ](#gettitle-macro-65 ) +66. [`%iffunc()` macro ](#iffunc-macro-66 ) +67. [`%infmt()` macro ](#infmt-macro-67 ) +68. [`%letters()` macro ](#letters-macro-68 ) +69. [`%libpath()` macro ](#libpath-macro-69 ) +70. [`%minclude()` macro ](#minclude-macro-70 ) +71. [`%monthshift()` macro ](#monthshift-macro-71 ) +72. [`%replist()` macro ](#replist-macro-72 ) +73. [`%time()` macro ](#time-macro-73 ) +74. [`%today()` macro ](#today-macro-74 ) +75. [`%translate()` macro ](#translate-macro-75 ) +76. [`%tranwrd()` macro ](#tranwrd-macro-76 ) +77. [`%workpath()` macro ](#workpath-macro-77 ) -98. [License note](#license) +99. [License note](#license) --- @@ -5853,7 +5854,125 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%gettitle()` macro ###### +## `%generateoneliners()` macro ###### + +## >>> `%GenerateOneLiners()` macro: <<< ####################### + +The `%GenerateOneLiners()` macro is a "macro-generator" dedicated +to "lazy typers". + +It allows to generate macro wrappers for functions +that have the following form: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%macro FUNCTION()/parmbuff; +%sysfunc(FUNCTION&syspbuff) +%mend FUNCTION; + +%macro qFUNCTION()/parmbuff; +%qsysfunc(FUNCTION&syspbuff) +%mend qFUNCTION; +~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +The `%GenerateOneLiners()` macro is not pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners( + <,listOfFunctions=> + <,prefix=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `listOfFunctions` - *Required*, is a space separated list of + valid SAS functions. Default value is: + `CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`. + +2. `prefix` - *Optional*, a prefix added to the name + of a created macro. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Create list of macrofunctions for + `CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners(prefix=_) + +%let a = 1,2,3,4,5,6; +%put %_CATX(%str( ),&a.); +%put %_CATQ(2A,&a.); +%put %_QCATQ(1AMD,%str(,),&a.); + +%let x=a 1 b 2 c 3 d 4 e 5 f 6 g; +%put %_COMPRESS(&x.); +%put %_COMPRESS(&x.,,ka); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Create list of macrofunctions for + `SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners( + listOfFunctions=SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS +, prefix=_) + +%put +%_SUM(1,2,3,4,5,6) +%_MEAN(1,2,3,4,5,6) +%_MEDIAN(1,2,3,4,5,6) +%_VAR(1,2,3,4,5,6) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Some other lists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners(prefix=_ +, listOfFunctions=CDF PDF RAND QUANTILE SQUANTILE SDF logCDF logPDF logSDF RMS +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=YEAR QTR MONTH WEEK DAY HOUR MINUTE SECOND +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=PCTL1 PCTL2 PCTL3 PCTL4 PCTL5 PCTL +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=YYQ MDY HMS INTCK INTNX SLEEP +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=WHICHC WHICHN +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=SYMEXIST SYMGLOBL SYMLOCAL +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=PRXCHANGE PRXMATCH PRXPAREN PRXPARSE +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=MD5 SHA256 HASHING +) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%gettitle()` macro ###### ## >>> `%getTitle()` macro: <<< ####################### @@ -5939,7 +6058,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%iffunc()` macro ###### +## `%iffunc()` macro ###### ## >>> `%iffunc()` macro: <<< ####################### @@ -6140,7 +6259,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%infmt()` macro ###### +## `%infmt()` macro ###### ## >>> `%infmt()` macro: <<< ####################### @@ -6197,7 +6316,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%letters()` macro ###### +## `%letters()` macro ###### ## >>> `%letters()` macro: <<< ####################### @@ -6315,7 +6434,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%libpath()` macro ###### +## `%libpath()` macro ###### ## >>> `%libPath()` macro: <<< ####################### @@ -6360,7 +6479,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%minclude()` macro ###### +## `%minclude()` macro ###### ## >>> `%mInclude()` macro: <<< ####################### @@ -6573,7 +6692,7 @@ quit; --- -## `%monthshift()` macro ###### +## `%monthshift()` macro ###### ## >>> `%monthShift()` macro: <<< ####################### @@ -6722,7 +6841,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%replist()` macro ###### +## `%replist()` macro ###### ## >>> `%repList()` macro: <<< ####################### @@ -6838,7 +6957,7 @@ run; --- -## `%time()` macro ###### +## `%time()` macro ###### ## >>> `%time()` macro: <<< ####################### @@ -6881,7 +7000,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%today()` macro ###### +## `%today()` macro ###### ## >>> `%today()` macro: <<< ####################### @@ -6924,7 +7043,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%translate()` macro ###### +## `%translate()` macro ###### ## >>> `%translate()` macro: <<< ####################### @@ -6988,7 +7107,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%tranwrd()` macro ###### +## `%tranwrd()` macro ###### ## >>> `%tranwrd()` macro: <<< ####################### @@ -7055,7 +7174,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%workpath()` macro ###### +## `%workpath()` macro ###### ## >>> `%workPath()` macro: <<< ####################### diff --git a/baseplus.zip b/baseplus.zip index 427489ae713694e3f41a24c286ea47911abe57c1..cb055acd355f09c255e4cf567c4e7f50a135dd1e 100644 GIT binary patch delta 21399 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 XLO0k_;MzkFSNQh==0jyJGywS@v-1af delta 18994 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 ############################################### + +The **BasePlus** package implements useful +functions and functionalities I miss in the BASE SAS. + +It is inspired by various people, e.g. +- at the SAS-L discussion list +- at the communities.sas.com (SASware Ballot Ideas) +- at StackOverflow +- at the Office... +- etc. + +Kudos to all who inspired me to generate this package: +*Mark Keintz*, +*Paul Dorfman*, +*Richard DeVenezia*, +*Christian Graffeuille*, +*Allan Bowe*, +*Anamaria Calai*, +*Michal Ludwicki*, +*Quentin McMullen*, +*Kurt Bremser*, +*Leonid Batkhan*, +*Louise Hadden*. + +--- + +### BASIC EXAMPLES AND USECASES: #################################################### + +**Example 1**: One-dimensional array functions. + Array parameters to subroutine + calls must be 1-based. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + array X[4] _temporary_ (. 1 . 2); + + call arrMissToRight(X); + do i = 1 to 4; + put X[i]= @; + end; + put; + + call arrFillMiss(17, X); + do i = 1 to 4; + put X[i]= @; + end; + put; + + call arrFill(42, X); + do i = 1 to 4; + put X[i]= @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2**: Delete dataset by name. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data toDrop; + x = 17; + run; + data _null_; + p = delDataset("toDrop"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3**: Strings concatenation with format. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data test; + x = 1 ; y = . ; z = 3 ; + t = "t"; u = " "; v = "v"; + + array a[*] x y z; + array b[*] t u v; + + length s1 s2 s3 s4 $ 17; + s1 = catXFn("z5.", "#", A); + s2 = catXFi("z5.", "#", A); + s3 = catXFc("upcase.", "*", B); + s4 = catXFj("upcase.", "*", B); + + put (_all_) (=); + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 4**: Useful formats. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + input x @@; + put @1 x= @11 x= bool. @21 x= int. @31 x= ceil. @41 x= floor.; + cards; + . ._ .A -10 -3.14 0 3.14 10 + ; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 5**: Getting variables names from datasets. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class + ,pattern = ght$ + ,sep = + + ,varRange = _numeric_)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 6**: Quick sort as an alternative to call sortn() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + array test[25000000] _temporary_ ; + + t = time(); + call streaminit(123); + do _N_ = 25000000 to 1 by -1; + test[_N_] = rand("uniform"); + end; + t = time() - t; + put "Array population time: " t; + + t = time(); + call quickSortLight (test); + t = time()-t; + put "Sorting time: " / t=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 7**: De-duplicate values from a space separated list. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4 5 6 1 2 3 1 2 3 4 5 6; + %put *%dedupListS(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 8**: Zip elements of two space separated list. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, 2018 2019 2020, argMd=5, function=MDY, format=date11.); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 9**: Simple Rain Cloud plot. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%rainCloudPlot(sashelp.cars,DriveTrain,Invoice) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 1x](./baseplus_RainCloudPlot_Ex0.png) + + +**Example 10**: Zip SAS library. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(sashelp, libOut=work) + +%unzipLibrary(%sysfunc(pathname(work)), zip=sashelp, mode=S, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 11**: Long dataset names. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; + +proc print data = %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); +run; + +data MyNextDataset; + set %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); + where age > 12; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 12**: List, to the log, content of `home` directory. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%bpPIPE(ls -la ~/) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 13** Get list of all files and directories from `C:\SAS_WORK\`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 14** Text repetition: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 15** Integer list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %intsList(42); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 16** Split dataset into blocks of 5 observations: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoBlocks(5, sashelp.class, classBlock) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 17** Split dataset into 7 parts: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoParts(7, sashelp.cars, carsPart) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 18** Return path to temporary file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f temp; + %put %filePath(f); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 19** Get titles: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + title1 j=c "Hi Roger" ; + title2 j=l "Good Morning" ; + title3 "How are you?" ; + title4 ; + title5 "Bye bye!" ; + + %put %GetTitle(1 2 3 5, dlm=s, qt='') ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 20** Format and informat macro variables values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %fmt(12345, date9.) %fmt(12345, yymmdd10.); + + %put %infmt($111234, dollar10.2); + %put %infmt($111.234, dollar10.2); + + %let text = ##%fmt(ABC, $char9., -C)##; + %put &text.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 21** "Macro including" a text file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f "%workpath()/testFile1.txt"; + data _null_; + file f; + put "13 14 15"; + run; + + data testDataset; + set sashelp.class; + where age in ( %mInclude(f) ); + 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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 23** Date and time one-liners: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put #%today()#%date()#%time()#%datetime()#; + +%put @%today(yymmdd10.)@%date(date11.)@%time(time8.)@%datetime(e8601dt.)@; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 24** Months shifting: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put + Past: %monthShift(2023, 1, -1) + Current: %monthShift(2023, 1 ) + Future: %monthShift(2023, 1, +1) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 25** Zipping and unzipping directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options dlCreateDir; +libname arch1 "%workPath()/testArch1"; +libname arch2 "%workPath()/testArch2"; + +filename arch1 "%workPath()/testArch1"; + +data _null_; + file arch1(test1.txt); + put "text for test file 1"; +data _null_; + file arch1(test2.txt); + put "text for test file 2"; +data _null_; + file arch1(test3.txt); + put "text for test file 3"; +run; + +data arch1.class(index=(name)); + set sashelp.class; +run; +data arch1.cars(index=(model)); + set sashelp.cars; +run; + +%zipArch( + archName2.zip +, pathRef = arch1 +, target = %workPath()/testArch2 +, list = 1 +, overwrite = 1 +) + +%unzipArch( + archName2.zip +, path = %workPath()/testArch2 +, target = %workPath()/testArch2 +, clean=1 +, list=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 26** Downloading data from the internet to a local directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%downloadFilesTo(~/directoryA) +datalines4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.zip +;;;; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 27** Conditional value assignment: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = A B C; +%let y = %iffunc((%scan(&x.,1)=A),Starts with "A"., Does not start with "A".); +%put &=y.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +--- + + +--- + + +--- + +Package contains additional content, run: `%loadPackageAddCnt(BasePlus)` to load it +or look for the `baseplus_AdditionalContent` directory in the `packages` fileref +localization (only if additional content was deployed during the installation process). + +-------------------------------------------------------------------- + +*SAS package generated by SAS Package Framework, version `20240529`* + +-------------------------------------------------------------------- + +# The `BasePlus` package content +The `BasePlus` package consists of the following content: +1. [`%bppipe()` macro ](#bppipe-macro-1 ) +2. [`%deduplistc()` macro ](#deduplistc-macro-2 ) +3. [`%deduplistp()` macro ](#deduplistp-macro-3 ) +4. [`%deduplists()` macro ](#deduplists-macro-4 ) +5. [`%deduplistx()` macro ](#deduplistx-macro-5 ) +6. [`%dirsandfiles()` macro ](#dirsandfiles-macro-6 ) +7. [`%functionexists()` macro ](#functionexists-macro-7 ) +8. [`%getvars()` macro ](#getvars-macro-8 ) +9. [`%intslist()` macro ](#intslist-macro-9 ) +10. [`%ldsn()` macro ](#ldsn-macro-10 ) +11. [`%ldsnm()` macro ](#ldsnm-macro-11 ) +12. [`%lvarnm()` macro ](#lvarnm-macro-12 ) +13. [`%lvarnmlab()` macro ](#lvarnmlab-macro-13 ) +14. [`%qdeduplistx()` macro ](#qdeduplistx-macro-14 ) +15. [`%qgetvars()` macro ](#qgetvars-macro-15 ) +16. [`%qzipevalf()` macro ](#qzipevalf-macro-16 ) +17. [`%raincloudplot()` macro ](#raincloudplot-macro-17 ) +18. [`%repeattxt()` macro ](#repeattxt-macro-18 ) +19. [`%splitdsintoblocks()` macro ](#splitdsintoblocks-macro-19 ) +20. [`%splitdsintoparts()` macro ](#splitdsintoparts-macro-20 ) +21. [`%symdelglobal()` macro ](#symdelglobal-macro-21 ) +22. [`%unziparch()` macro ](#unziparch-macro-22 ) +23. [`%unziplibrary()` macro ](#unziplibrary-macro-23 ) +24. [`%ziparch()` macro ](#ziparch-macro-24 ) +25. [`%zipevalf()` macro ](#zipevalf-macro-25 ) +26. [`%ziplibrary()` macro ](#ziplibrary-macro-26 ) +27. [`$bool.` format/informat ](#bool-format-27 ) +28. [`$boolz.` format/informat ](#boolz-format-28 ) +29. [`$ceil.` format/informat ](#ceil-format-29 ) +30. [`$floor.` format/informat ](#floor-format-30 ) +31. [`$int.` format/informat ](#int-format-31 ) +32. [`arrfill()` function ](#arrfill-functions-32 ) +33. [`arrfillc()` function ](#arrfillc-functions-33 ) +34. [`arrmissfill()` function ](#arrmissfill-functions-34 ) +35. [`arrmissfillc()` function ](#arrmissfillc-functions-35 ) +36. [`arrmisstoleft()` function ](#arrmisstoleft-functions-36 ) +37. [`arrmisstoleftc()` function ](#arrmisstoleftc-functions-37 ) +38. [`arrmisstoright()` function ](#arrmisstoright-functions-38 ) +39. [`arrmisstorightc()` function ](#arrmisstorightc-functions-39 ) +40. [`bracketsc()` function ](#bracketsc-functions-40 ) +41. [`bracketsn()` function ](#bracketsn-functions-41 ) +42. [`catxfc()` function ](#catxfc-functions-42 ) +43. [`catxfi()` function ](#catxfi-functions-43 ) +44. [`catxfj()` function ](#catxfj-functions-44 ) +45. [`catxfn()` function ](#catxfn-functions-45 ) +46. [`deldataset()` function ](#deldataset-functions-46 ) +47. [`semicolonc()` function ](#semicolonc-functions-47 ) +48. [`semicolonn()` function ](#semicolonn-functions-48 ) +49. [`$brackets.` format/informat ](#brackets-format-49 ) +50. [`$semicolon.` format/informat ](#semicolon-format-50 ) +51. [`qsortincbyprocproto()` proto ](#qsortincbyprocproto-proto-51 ) +52. [`frommissingtonumberbs()` function ](#frommissingtonumberbs-functions-52 ) +53. [`fromnumbertomissing()` function ](#fromnumbertomissing-functions-53 ) +54. [`quicksort4notmiss()` function ](#quicksort4notmiss-functions-54 ) +55. [`quicksorthash()` function ](#quicksorthash-functions-55 ) +56. [`quicksorthashsddv()` function ](#quicksorthashsddv-functions-56 ) +57. [`quicksortlight()` function ](#quicksortlight-functions-57 ) +58. [`%date()` macro ](#date-macro-58 ) +59. [`%datetime()` macro ](#datetime-macro-59 ) +60. [`%downloadfilesto()` macro ](#downloadfilesto-macro-60 ) +61. [`%filepath()` macro ](#filepath-macro-61 ) +62. [`%finddswithvarval()` macro ](#finddswithvarval-macro-62 ) +63. [`%fmt()` macro ](#fmt-macro-63 ) +64. [`%generateoneliners()` macro ](#generateoneliners-macro-64 ) +65. [`%gettitle()` macro ](#gettitle-macro-65 ) +66. [`%iffunc()` macro ](#iffunc-macro-66 ) +67. [`%infmt()` macro ](#infmt-macro-67 ) +68. [`%letters()` macro ](#letters-macro-68 ) +69. [`%libpath()` macro ](#libpath-macro-69 ) +70. [`%minclude()` macro ](#minclude-macro-70 ) +71. [`%monthshift()` macro ](#monthshift-macro-71 ) +72. [`%replist()` macro ](#replist-macro-72 ) +73. [`%time()` macro ](#time-macro-73 ) +74. [`%today()` macro ](#today-macro-74 ) +75. [`%translate()` macro ](#translate-macro-75 ) +76. [`%tranwrd()` macro ](#tranwrd-macro-76 ) +77. [`%workpath()` macro ](#workpath-macro-77 ) + + +99. [License note](#license) + +--- + +## `%bppipe()` macro ###### + +## >>> `%bpPIPE()` macro: <<< ####################### + +The bpPIPE() [Base Plus PIPE] macro executes OS command +and print to the log output of the execution. + +Under the hood it uses `_` filename reference to PIPE device. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%bpPIPE( ) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +* **NO Arguments** - Everything inside brackets is treated as an OS command. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** List, to the log, content of D and C drives: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %bpPIPE(D: & dir & dir "C:\") +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** List, to the log, content of `home` directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %bpPIPE(ls -halt ~/) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplistc()` macro ###### + +## >>> `%dedupListC()` macro: <<< ####################### + +The `%dedupListC()` macro deletes duplicated values from +a *COMMA-separated* list of values. List, including separators, +can be no longer than a value carried by a single macro variable. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListC()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListC( + list,of,comma,separated,values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *comma-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListC(a,b,c,b,c)*; + + %put *%dedupListC(a,b c,b c)*; + + %put *%dedupListC(%str(a,b,c,b,c))*; + + %put *%dedupListC(%str(a),%str(b),%str(c),b,c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListC( a , b b , c , b b, c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6; + %put *%dedupListC(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplistp()` macro ###### + +## >>> `%dedupListP()` macro: <<< ####################### + +The `%dedupListP()` macro deletes duplicated values from +a *PIPE(`|`)-separated* list of values. List, including separators, +can be no longer than a value carried by a single macro variable. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListP()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListP( + list|of|pipe|separated|values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *pipe-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListP(a|b|c|b|c)*; + + %put *%dedupListP(a|b c|b c)*; + + %put *%dedupListP(%str(a|b|c|b|c))*; + + %put *%dedupListP(%str(a)|%str(b)|%str(c)|b|c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListP( a | b b | c | b b| c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4|5|6|1|2|3|1|2|3|4|5|6; + %put *%dedupListP(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplists()` macro ###### + +## >>> `%dedupListS()` macro: <<< ####################### + +The `%dedupListS()` macro deletes duplicated values from +a *SPACE-separated* list of values. List, including separators, +can be no longer than a value carried by a single macro variable. + +Returned value is *unquoted*. + +The `%dedupListS()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListS( + list of space-separated values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *space-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListS(a b c b c)*; + + %put *%dedupListS(a b,c b,c)*; + + %put *%dedupListS(%str(a b c b c))*; + + %put *%dedupListS(%str(a) %str(b) %str(c) b c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4 5 6 1 2 3 1 2 3 4 5 6; + %put *%dedupListS(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplistx()` macro ###### + +## >>> `%dedupListX()` macro: <<< ####################### + +The `%dedupListX()` macro deletes duplicated values from +a *X-separated* list of values, where the `X` represents +a *single character* separator. List, including separators, +can be no longer than a value carried by a single macro variable. + +**Caution.** The value of `X` *has to be* in **the first** byte of the list, + just after the opening bracket, i.e. `(X...)`. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListX()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListX( +XlistXofXxXseparatedXvalues +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *X-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListX(|a|b|c|b|c)*; + + %put *%dedupListX( a b c b c)*; + + %put *%dedupListX(,a,b,c,b,c)*; + + %put *%dedupListX(XaXbXcXbXc)*; + + %put *%dedupListX(/a/b/c/b/c)*; + + data _null_; + x = "%dedupListX(%str(;a;b;c;b;c))"; + put x=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListX(| a | b.b | c | b.b| c )*; + + %put *%dedupListX(. a . b b . c . b b. c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4$5.5$6$1$2$3$1$2$3$4$5.5$6; + %put *%dedupListX($&list.)*; + + %let list = 4$ 5.5$ 6$ 1$ 2$ 3$ 1$ 2$ 3$ 4$ 5.5$ 6$; + %put *%dedupListX( &list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%dirsandfiles()` macro ###### + +## >>> `%dirsAndFiles()` macro: <<< ####################### + +The `%dirsAndFiles()` macro allows to extract info about all files +and subdirectories of a given `root` directory. + +The extracted info may be just a list of files and subdirectories or, if +the `details=` parameter is set to 1, additional operating system information +is extracted (information is OS-dependent and gives different results for Linux +and for Windows) + +The extracted info can be narrowed down to files (`keepFiles=1`) or to +directories (`keepDirs=1`) if need be. + +The extracted info can be presented in wide or long format (`longFormat=1`). + +The extracted info for files can be narrowed down to only files with particular +extension, for example: `fileExt=sas7bdat`. + +The extracted info can be narrowed down maximal path depth +by setting up the `maxDepth=` parameter. + +See examples below for the details. + +### REFERENCES: ################################################################### + +The macro is based on Kurt Bremser's "*Talking to Your Host*" article +presented at WUSS 2022 conference. + +The article is available [here](https://communities.sas.com/t5/SAS-User-Groups-Library/WUSS-Presentation-Talking-to-Your-Host/ta-p/838344) +and also as an additional content of this package. +The paper was awarded the "Best Paper Award - Programming". + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles( + root + <,ODS=> + <,details=> + <,keepDirs=> + <,keepFiles=> + <,longFormat=> + <,fileExt=> + <,maxDepth=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `root` - *Required*, path to be searched + for information. + +* `ODS=work.dirsAndFilesInfo` - *Optional*, output data set, + name of a dataset to store information. + +* `details=0` - *Optional*, indicates if detailed info + will be collected, `1` = yes, `0` = no. + +* `keepDirs=1` - *Optional*, indicates if directories info + will be collected, `1` = yes, `0` = no. + +* `keepFiles=1` - *Optional*, indicates if files info + will be collected, `1` = yes, `0` = no. + +* `longFormat=0` - *Optional*, indicates if output be + in long format, `1` = yes, `0` = no. + +* `fileExt=` - *Optional*, if not missing then indicates + a list of space-separated file extensions + to filter out results. + +* `maxDepth=0` - *Optional*, if not zero then indicates + maximum depth of search in the root path. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get list of files and directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Get detailed info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result2,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Get only files info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result3,keepDirs=0) + +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result5,keepDirs=0,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Get only directories info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result4,keepFiles=0) + +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result6,keepFiles=0,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Filter out by `sas` extension: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(~/,ODS=work.result7,fileExt=sas) + +%dirsAndFiles(~/,ODS=work.result8,fileExt=sas,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Keep result in the long format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(~/,ODS=work.result9,details=1,longFormat=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Get info for maximum depth of 2: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result10,details=1,maxDepth=2) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** How locked/unavailable files are handled: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(%sysfunc(pathname(WORK)),ODS=work.result11,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Not existing directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(%sysfunc(pathname(WORK))/noSuchDir,ODS=work.result12,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `%functionexists()` macro ###### + +## >>> `%functionExists()` macro: <<< ####################### + +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); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%getvars()` macro ###### + +## >>> `%getVars()` macro: <<< ####################### + +The getVars() and QgetVars() macro functions +allow to extract variables names form a dataset +according to a given pattern into a list. + +The getVars() returns unquoted value [by %unquote()]. +The QgetVars() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%getVars()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%getVars( + ds + <,sep=> + <,pattern=> + <,varRange=> + <,quote=> + <,mcArray=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `ds` - *Required*, the name of the dataset from + which variables are to be taken. + +* `sep = %str( )` - *Optional*, default value `%str( )`, + a variables separator on the created list. + +* `pattern = .*` - *Optional*, default value `.*` (i.e. any text), + a variable name regexp pattern, case INSENSITIVE! + +* `varRange = _all_` - *Optional*, default value `_all_`, + a named range list of variables. + +* `quote =` - *Optional*, default value is blank, a quotation + symbol to be used around values. + +* `mcArray=` - *Optional*, default value is blank. + 1) When *null* - the macro behaves like a macro function + and returns a text string with variables list. + 2) When *not null* - behaviour of the macro is altered. + In such case a macro array of selected variables, named + with `mcArray` value as a prefix, is created. + Furthermore a macro named as `mcArray` value is generated. + (see the macroArray package for the details). + When `mcArray=` parameter is active the `getVars` macro + cannot be called within the `%put` statement. Execution like: + `%put %getVars(..., mcArray=XXX);` will result with + an Explicit & Radical Refuse Of Run (aka ERROR). + + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** A list of all variables from the + sashelp.class dataset: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** A list of all variables from the + sashelp.class dataset separated + by backslash: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = %getVars(sashelp.class, sep=\); + %put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use of regular expressions: + a) A list of variables which name contains "i" or "a" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=i|a)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) A list of variables which name starts with "w" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=^w)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) A list of variables which name ends with "ght" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=ght$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** A list of numeric variables which name + starts with "w" or "h" or ends with "x" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, sep=+, pattern=^(w|h)|x$, varRange=_numeric_)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data test; + array x[30]; + array y[30] $ ; + array z[30]; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + a) A list of variables separated by a comma: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) A list of variables separated by a comma + with suffix 5 or 7: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,), pattern=(5|7)$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) A list of variables separated by a comma + with suffix 5 or 7 from a given variables range: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,), varRange=x10-numeric-z22 y6-y26, pattern=(5|7)$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Case of quotes and special characters + when the quote= parameter is _not_ used: + + a) one single or double qiote: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%bquote(%getVars(sashelp.class, sep=%str(%")))*; + %put *%bquote(%getVars(sashelp.class, sep=%str(%')))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) two single or double qiotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *"%bquote(%getVars(sashelp.class,sep=""))"*; + %put *%str(%')%bquote(%getVars(sashelp.class,sep=''))%str(%')*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) comma-separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *"%getVars(sashelp.class,sep=%str(", "))"*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) comma-separated single quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%str(%')%getVars(sashelp.class,sep=', ')%str(%')*; + %let x = %str(%')%getVars(sashelp.class,sep=', ')%str(%'); + + %put *%str(%')%QgetVars(sashelp.class,sep=', ')%str(%')*; + %let y = %str(%')%QgetVars(sashelp.class,sep=', ')%str(%'); + %let z = %unquote(&y.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + e) ampersand (&) as a separator [compare behaviour]: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class,sep=&)*; + %let x = %getVars(sashelp.class,sep=&); + + %put *%getVars(sashelp.class,sep=%str( & ))*; + %let x = %getVars(sashelp.class,sep=%str( & )); + + %put *%QgetVars(sashelp.class,sep=&)*; + %let y = %QgetVars(sashelp.class,sep=&); + %let z = %unquote(&y.); + + %put *%QgetVars(sashelp.class,sep=%str( & ))*; + %let y = %QgetVars(sashelp.class,sep=%str( & )); + %let z = %unquote(&y.); + + %put *%getVars(sashelp.class,sep=&)*; + %let x = %getVars(sashelp.class,sep=&); + + %put *%getVars(sashelp.class,sep=%str( & ))*; + %let x = %getVars(sashelp.class,sep=%str( & )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + f) percent (%) as a separator [compare behaviour]: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QgetVars(sashelp.class,sep=%)*; + %let y = %QgetVars(sashelp.class,sep=%); + %let z = %unquote(&y.); + + %put *%QgetVars(sashelp.class,sep=%str( % ))*; + %let y = %QgetVars(sashelp.class,sep=%str( % )); + %let z = %unquote(&y.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Case of quotes and special characters + when the quote= parameter is used: + +a) one single or double qiote: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, quote=%str(%"))*; + %put *%getVars(sashelp.class, quote=%str(%'))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) two single or double quotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %* this gives an error: ; + %* %put *%getVars(sashelp.class,quote="")*; + %* %put *%getVars(sashelp.class,quote='')*; + + %* this does not give an error: ; + %put *%QgetVars(sashelp.class,quote="")*; + %put *%QgetVars(sashelp.class,quote='')*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) comma-separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class,sep=%str(,),quote=%str(%"))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) comma-separated single quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = %getVars(sashelp.class,sep=%str(,),quote=%str(%')); + %put &=x.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Variables that start with `A` and do not end with `GHT`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data class; + set sashelp.class; + Aeight = height; +run; + +%put *%getVars(class, pattern = ^A(.*)(? ###### + +## >>> `%intsList()` macro: <<< ####################### + +The intsList() macro function allows to print a list of +integers starting from `start` up to `end` incremented by `by` +and separated by `sep=`. + +If `start`, `end` or `by` are non-integers the are converted to integers. + +See examples below for the details. + +The `%intsList()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%intsList( + start + <,end> + <,by> + <,sep=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `start` - *Required*, the first value of the list. + If `end` is missing then the list is generated + from 1 to `start` by 1. + +2. `end` - *Required/Optional*, the last value of the list. + +3. `by` - *Required/Optional*, the increment of the list. + If missing then set to `1`. + *Cannot* be equal to `0`. + +* `s = %str( )` - *Optional*, it is a separator between + elements of the list. Default value is space. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple list of integers from 1 to 10 by 1: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(10); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Ten copies of `sashelp.class` in `test11` to `test20`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data + %zipEvalf(test, %intsList(11,20)) + ; + set sashelp.class; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Non-integers are converted to integers, the list is `1 3 5`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(1.1,5.2,2.3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** A list with a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(1,5,2,sep=+); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%ldsn()` macro ###### + +## >>> `%LDSN()` macro: <<< ####################### + +The LDSN (Long DataSet Names) macro function +allows to use an "arbitrary" text string to name a dataset. + +The LDSN macro has some limitation described below, to overcome them +another macro, with different name: LDSNM (Long DataSet Names Modified) +was created. See its description to learn how to use it. + +--- + +The idea for the macro came from the following story: + +Good friend of mine, who didn't use SAS for quite some time, +told me that he lost a few hours for debugging because +he forgot that the SAS dataset name limitation is 32 bytes. + +I replied that it shouldn't be a problem to do a workaround +for this inconvenience with a macro and the `MD5()` hashing function. + +I said: *The macro should take an "arbitrary string" for a dataset +name, convert it, with help of `MD5()`, to a hash digest, and +create a dataset with an "artificial" `hex16.` formated name.* + +Starting with something like this: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN(work. peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +the macro would do: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%sysfunc(MD5(peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s), hex16.) +~~~~~~~~~~~~~~~~~~~~~~~ + +and (under the hood) return and execute the following code: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data work.DSN_41D599EF51FBA58_(drop = sex rename=(name=first_name) where = (age in (12,13,14))) ; + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +Also in the next data step user should be able to do: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data my_next_data_step; + set %DSN(work. peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s); +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +and work without the "dataset-name-length-limitation" issue. + +--- + +See examples below for the details. + +The `%LDSN()` macro executes like a pure macro code. + +**Known "Limitations":** + +- dataset name _cannot_ contain dots (`.`) since they are used as separators! + +- dataset name _cannot_ contain round brackets(`(` and `)`) since they are used as separators + (but `[]` and `{}` are allowed)! + +- dataset name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- dataset name text is *converted to upcase* + +- dataset name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%ldsn(work.test)`, `%ldsn( work.test)`, `%ldsn(work.test )`, + `%ldsn(work .test)`, `%ldsn(work. test)`, `%ldsn(work . test)`. + +- macro calls of the form: + `data %LDSN(); run;`, `data %LDSN( ); run;`, `data %LDSN( . ); run;` or even + `data %LDSN( . (keep=x)); run;` are resolved to empty string, so the result is + equivalent to `data; run;` + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LDSN( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +The text string is concider as *"fully qualified dataset name"*, i.e. macro +assumes it may contain library as prefix and data set options as sufix. +See the `%LDsNm()` macro for comparison. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options nomprint source nomlogic nosymbolgen ls = max ps = max; + +data %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; + +proc print data = %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); +run; + +data MyNextDataset; + set %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); + where age > 12; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%ldsnm()` macro ###### + +## >>> `%LDSNM()` macro: <<< ####################### + +The LDSNM (Long DataSet Names Modified) macro function +allows to use an "arbitrary" text string to name a dataset. + +The LDSN macro had some limitation (see its documentation), to overcome them +another `%LDSNM()` (Long DataSet Names Modified) macro was created. + +The main idea behind the `%LDSNM()` is the same as for `%LDSN()` - see the description there. + +--- + +The `%LDSNM()` works differently then the `%LDSN()`. + +The `%LDSN()` assumed that *both* libname and dataset options *could* +be passed as elements in macro argument, e.g. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN( WORK.peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s (drop = sex) ); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The `%LDSNM()`, in contrary, assumes that both libname and dataset options are +passed **outside** the macro, i.e. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data WORK.%LDSNM( peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s ) (drop = sex); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This approach reduces some limitations the LDSN has. + +The **additional** feature of the `%LDSNM()` is that when the macro is called +a global macro variable, which name is the same as hashed dataset name, is created. +The macro variable value is the text of the argument of the macro. For example +the following macro call: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSNM(John "x" 'y' dog); + set sashelp.class; + where name = 'John'; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +creates `DSN_BF1F8C4D6495B34A_` macro variable with value: `JOHN "X" 'Y' DOG`. + +The macro variable is useful when combined with `symget()` function and +the `indsname=` option to get the original text string value back, +like in this example: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test; + set %LDSNM(John "x" 'y' dog) indsname = i; + + indsname = symget(scan(i,-1,".")); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +--- + +The `%LDSN()` macro executes like a pure macro code. + +**Known "Limitations":** + +- dataset name _cannot_ contain _unpaired_ round brackets(`(` and `)`) + (but unmatched `[]` and `{}` are allowed)! + +- dataset name _cannot_ contain _unpaired_ quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- dataset name text is *converted to upcase* + +- dataset name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%ldsn(test)`, `%ldsn( test)`, `%ldsn(test )`. + +- macro calls of the form: + `data %LDSN(); run;` or `data %LDSN( ); run;` are resolved + to empty string, so the result is equivalent to `data; run;` + +- created macro variable is _global_ in scope. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LDSNM( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +The text string is consider as *"only dataset name"*, i.e. macro does not +assume it contain library as prefix or data set options as suffix. +See the `%LDSN()` macro for comparison. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSNM(John "x" 'y' & dog); + set sashelp.class; + where name = 'John'; +run; + +data %LDSNM(John "x"[ 'y' & dog); + set sashelp.class; + where name = 'John'; +run; + +data %LDSNM(John "x" 'y'} & dog); + set sashelp.class; + where name = 'John'; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.%LDsNm( peanut butter & jelly, a hot-dog in [a box], and s(*)t(*)a(*)r(*)s!! ) (drop = sex rename=(name=first_name) where = (age in (12,13,14))) +; + set sashelp.class; +run; + +data test; + set work.%LDsNm( peanut butter & jelly, a hot-dog in [a box], and s(*)t(*)a(*)r(*)s!! ) indsname=i; + + indsname=symget(scan(i,-1,".")); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.%LDsNm( . ); + set sashelp.class; +run; + +data %LDsNm( ); + set sashelp.class; +run; + + +data %LDsNm(); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%lvarnm()` macro ###### + +## >>> `%LVarNm()` macro: <<< ####################### + +The LVarNm() macro function works like the LDSN() macro function, but for variables. +Supported by LVarNmLab() macro function which allows to remember "user names" in labels. + +The motivation for the macro was similar one as for the LDSN() macro. + +--- + +See examples below for the details. + +The `%LVarNm()` macro executes like a pure macro code. + +**Known "Limitations":** + +- variable name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- variable name text is *converted to upcase* + +- variable name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%LVarNm(test)`, `%LVarNm( test)`, `%LVarNm(test )`. + +- if the user want to add an extra suffix to the variable, + e.g. to get a numerical suffix, the `%LVarNm()` macro + **has** to be wrapped inside the `%unquote()` macro function. +~~~~~~~~~~~~~~~~~~~~~~~sas +data test4; + array X[*] %unquote(%LVarNm(some strange! name))_0 - %unquote(%LVarNm(some strange! name))_10; + + do i = lbound(X) to hbound(X); + X[i] = 2**(i-1); + put X[i]=; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + The reason for this is a "bug" like behaviour of SAS tokenizer/macroprocesor. + See the following SAS-L discussion thread: + `https://listserv.uga.edu/scripts/wa-UGA.exe?A2=SAS-L;4b2bcf80.2205A&S=` + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LVarNm( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options ls=max; +data test; + %LVarNmLab( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) + + do %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) = 1 to 10; + + y = 5 + %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) * 17; + output; + end; +run; + +data test2; + set test; + where %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) < 5; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test3; + %LVarNmLab() = 17; + + %LVarNm() = 17; + + %LVarNm( ) = 42; + + %LVarNm( ) = 303; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test3; + %LVarNm(test) = 1; + + %LVarNm( test) = 2; + + %LVarNm(test ) = 3; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test4; + array X[*] %LVarNm(some strange! name)_0 - %LVarNm(some strange! name)_10; + + do i = lbound(X) to hbound(X); + X[i] = 2**(i-1); + put X[i]=; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%lvarnmlab()` macro ###### + +## >>> `%LVarNmLab()` macro: <<< ####################### + +The LVarNmLab() macro function supports LVarNm() and allows to remember "user names" in labels. + +The motivation for the macro was similar one as for the LDSN() macro. + +--- + +See examples in LVarNm() documentation for the details. + +The `%LVarNmLab()` macro executes like a pure macro code. + +**Known "Limitations":** + +- variable name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- variable name text is *converted to upcase* + +- variable name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%LVarNmLab(test)`, `%LVarNmLab( test)`, `%LVarNmLab(test )`. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LVarNmLab( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%qdeduplistx()` macro ###### + +## >>> `%QdedupListX()` macro: <<< ####################### + +The `%QdedupListX()` macro deletes duplicated values from +a *X-separated* list of values, where the `X` represents +a *single character* separator. List, including separators, +can be no longer than a value carried by a single macro variable. + +**Caution.** The value of `X` *has to be* in **the first** byte of the list, + just after the opening bracket, i.e. `(X...)`. + +Returned value is **quoted** with `%superq()`. Leading and trailing spaces are ignored. + +The `%QdedupListX()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QdedupListX( +XlistXofXxXseparatedXvalues +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *X-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QdedupListX(|a|b|c|b|c)*; + + %put *%QdedupListX( a b c b c)*; + + %put *%QdedupListX(,a,b,c,b,c)*; + + %put *%QdedupListX(XaXbXcXbXc)*; + + %put *%QdedupListX(/a/b/c/b/c)*; + + %put *%QdedupListX(%str(;a;b;c;b;c))*; + + %put *%QdedupListX(%nrstr(&a&b&c&b&c))*; + + %put *%QdedupListX(%nrstr(%a%b%c%b%c))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QdedupListX(| a | b.b | c | b.b| c )*; + + %put *%QdedupListX(. a . b b . c . b b. c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4$5.5$6$1$2$3$1$2$3$4$5.5$6; + %put *%QdedupListX($&list.)*; + + %let list = 4$ 5.5$ 6$ 1$ 2$ 3$ 1$ 2$ 3$ 4$ 5.5$ 6$; + %put *%QdedupListX( &list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%qgetvars()` macro ###### + +## >>> `%QgetVars()` macro: <<< ####################### + +The getVars() and QgetVars() macro functions +allow to extract variables names form a dataset +according to a given pattern into a list. + +The getVars() returns unquoted value [by %unquote()]. +The QgetVars() returns quoted value [by %superq()]. + +The `%QgetVars()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QgetVars( + ds + <,sep=> + <,pattern=> + <,varRange=> + <,quote=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `ds` - *Required*, the name of the dataset from + which variables are to be taken. + +* `sep = %str( )` - *Optional*, default value `%str( )`, + a variables separator on the created list. + +* `pattern = .*` - *Optional*, default value `.*` (i.e. any text), + a variable name regexp pattern, case INSENSITIVE! + +* `varRange = _all_` - *Optional*, default value `_all_`, + a named range list of variables. + +* `quote =` - *Optional*, default value is blank, a quotation + symbol to be used around values. + + +### EXAMPLES AND USECASES: #################################################### + +See examples in `%getVars()` help for the details. + +--- + + +--- + +## `%qzipevalf()` macro ###### + +## >>> `%QzipEvalf()` macro: <<< ####################### + +The zipEvalf() and QzipEvalf() macro functions +allow to use a function on elements of pair of +space-separated lists. + +For two space-separated lists of text strings the corresponding +elements are taken and the macro applies a function, provided by user, +to calculate result of the function on taken elements. + +When one of the lists is shorter then elements are "reused" starting +from the beginning. + +The zipEvalf() returns unquoted value [by %unquote()]. +The QzipEvalf() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%QzipEvalf()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QzipEvalf( + first + ,second + <,function=> + <,operator=> + <,argBf=> + <,argMd=> + <,argAf=> + <,format=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `first` - *Required*, a space-separated list of texts. + +2. `second` - *Required*, a space-separated list of texts. + +* `function = cat` - *Optional*, default value is `cat`, + a function which will be applied + to corresponding pairs of elements of + the first and the second list. + +* `operator =` - *Optional*, default value is empty, + arithmetic infix operator used with elements + the first and the second list. The first + list is used on the left side of the operator + the second list is used on the right side + of the operator. + +* `argBf =` - *Optional*, default value is empty, + arguments of the function inserted + *before* elements the first list. + If multiple should be comma-separated. + +* `argMd =` - *Optional*, default value is empty, + arguments of the function inserted + *between* elements the first list and + the second list. + If multiple should be comma-separated. + +* `argAf =` - *Optional*, default value is empty, + arguments of the function inserted + *after* elements the second list. + If multiple should be comma-separated. + +* `format=` - *Optional*, default value is empty, + indicates a format which should be used + to format the result, does not work when + the `operator=` is used. + + +### EXAMPLES AND USECASES: #################################################### + +See examples in `%zipEvalf()` help for the details. + +--- + + +--- + +## `%raincloudplot()` macro ###### + +## >>> `%RainCloudPlot()` macro: <<< ####################### + +The RainCloudPlot() macro allow to plot Rain Cloud plots, i.e. +plots of kernel density estimates, jitter data values, and box-and-whiskers plot. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%RainCloudPlot( + DS + ,gr + ,vars + + <,WidthPX=> + <,HeightPX=> + <,boxPlot=> + <,roundFactor=> + <,rainDropSize=> + <,boxPlotSymbolSize=> + <,boxPlotLineSize=> + <,boxPlotFill=> + <,meanShiftLine=> + <,meanShiftStep=> + <,meanShiftColors=> + <,colorsList=> + <,monochrome=> + <,antialiasMax=> + <,title=> + <,footnote=> + <,catLabels=> + <,xLabels=> + <,xBothAxis=> + <,catLabelPos=> + <,xLabelPos=> + <,catLabelAttrs=> + <,xLabelAttrs=> + <,formated=> + <,y2axis=> + <,y2axisLevels=> + <,y2axisValueAttrs=> + <,y2axisFormat=> + <,y2axisLines=> + <,catAxisValueAttrs=> + <,xaxisValueAttrs=> + <,xaxisTickstyle=> + <,xaxisValues=> + <,xaxisValuesDisplay=> + <,xaxisValuesFormat=> + <,xaxisValuesRotate=> + <,xaxisOther=> + <,sganno=> + <,odsGraphicsOptions=> + <,sgPlotOptions=> + <,vertical=> + + <,VSCALE=> + <,KERNEL_K=> + <,KERNEL_C=> + <,VSCALEmax=> + <,minRange=> + <,maxRange=> + + <,cleanTempData=> + <,codePreview=> + <,reuseN=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `DS` - *Required*, name of the dataset from + which variables are to be taken. + +2. `gr` - *Required*, name of the grouping variable. + When more than one variable is specified + separate plots are rendered. + Can be numeric or character. + +3. `vars` - *Required*, name of the aggregated numeric variable. + When more than one variable is specified + separate plots are rendered. + +***Plot related options***: + +* `WidthPX` - *Optional*, default value `1200`. + Total width of the plot in pixels. + +* `HeightPX` - *Optional*, default value `220`. + Partial height of the plot in pixels. + Total height is calculated as `#GROUPS x HeightPX`. + +* `boxPlot` - *Optional*, default value `1`. + Indicates if the Box Plot should be added. + +* `roundFactor` - *Optional*, default value `0.000001`. + Rounding level when calculating maximum value + of the cloud chart. Should be adjusted to data + granularity level, e.g. for data with value + around `1e-8` should be decreased. + +* `rainDropSize` - *Optional*, default value `5px`. + Size of data points in the "rain" plot. + +* `boxPlotSymbolSize` - *Optional*, default value `8px`. + Size of symbols on the box plot. + If two values are provided, e.g., `16px 8px`, + the first is used for diamond size (the mean), + the second for "min/max" bars. + +* `boxPlotLineSize` - *Optional*, default value `1px`. + Thickness of lines of the box plot. + +* `boxPlotFill` - *Optional*, default value `1`. + Transparency of the box plot. + Ranges from 0.0 (opaque) to 1.0 (full translucent). + +* `meanShiftLine` - *Optional*, default value `0`. + Indicates if a line connecting mean symbol + on the Box Plot should be added. + +* `meanShiftStep` - *Optional*, default value `0.1`. + Sets how smooth gradient should be + on the "mean-shift" line. + +* `meanShiftColors` - *Optional*, default value is empty. + List of colours for plotting the "mean-shift" line. + Empty indicates that the `colorsList` value will be used. + +* `colorsList` - *Optional*, default value is empty. + List of colours for plotting. + Empty indicates that the default list will be used. + +* `monochrome` - *Optional*, default value `0`. + Indicates if the default list of colours should be gray-scale. + +* `antialiasMax` - *Optional*, default value is empty. + Sets a value to the ODS graphics `ANTIALIASMAX` option. + When empty the value is calculated from data. + +* `title` - *Optional*, default value - see notes below. + Provides a list of titles printed on the plot. + For details see notes below. + +* `footnote` - *Optional*, default value - see notes below. + Provides a list of titles printed on the plot. + For details see notes below. + +* `catLabels` - *Optional*, default value is empty. + List of values for group axis labels (vertical). + When empty a grouping variable name is used. + For details see notes below. + +* `xLabels` - *Optional*, default value is empty. + List of values for data variable axis labels (horizontal). + When empty a data variable name is used. + For details see notes below. + +* `xBothAxis` - *Optional*, default value is `1`. + Indicates if both (top and bottom) axis (horizontal) should be printed. + If not `1` then only bottom axis is displayed. + +* `catLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on group axis (vertical). + Allowed values are `BOTTOM`, `CENTER`, `DATACENTER`, and `TOP`. + +* `xLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on data axis (horizontal). + Allowed values are `LEFT`, `CENTER`, `DATACENTER`, and `RIGHT`. + +* `catLabelAttrs` - *Optional*, default value is empty. + List of attributes for group axis labels (vertical). + For details see notes below. + +* `xLabelAttrs` - *Optional*, default value is empty. + List of attributes for data variable axis labels (horizontal). + For details see notes below. + +* `formated` - *Optional*, default value `0`. + Indicates if values of the grouping variable should be formatted. + +* `y2axis` - *Optional*, default value `1`. + Indicates if the right vertical axis should be displayed. + +* `y2axisLevels` - *Optional*, default value `4`. + Sets the number of expected levels of values printed + on the right vertical axis. + +* `y2axisValueAttrs` - *Optional*, default value `Color=Grey`. + Allows to modify Y2 axis values attributes. + +* `y2axisFormat` - *Optional*, default value `12.2-L`. + Allows to modify Y2 axis values format. + +* `y2axisLines` - *Optional*, default value `0`. + If `1`, adds horizontal lines for Y2 axis values. + +* `catAxisValueAttrs` - *Optional*, default value `Color=Black`. + Allows to modify category (Y) axis values attributes. + +* `xaxisValueAttrs` - *Optional*, default value `Color=Grey`. + Allows to modify X axis values attributes. + +* `xaxisTickstyle` - *Optional*, default value `INSIDE`. + Allows to modify X axis tick style. + Allowed values are `OUTSIDE`, `INSIDE`, `ACROSS`, and `INBETWEEN`. + *For SAS previous to* **9.4M5** *set to missing!* + +* `xaxisValues` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `Values` option. + +* `xaxisValuesDisplay` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesDisplay` option. + +* `xaxisValuesFormat` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesFormat` option. + Instead using `w.d` format, use its alias `Fw.d`. + +* `xaxisValuesRotate` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesRotate` option. + +* `xaxisOther` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement options not mentioned above. + You can use it to provide, e.g., `GRID`, 'MINOR', + `MINORGRID`, `GRIDATTRS=`, or `MINORGRIDATTRS=`. + +* `sganno` - *Optional*, default value is empty. + keeps name of a data set for the `sganno=` option + of the SGPLOT procedure. + +* `sgPlotOptions` - *Optional*, default value is `noautolegend noborder subpixel`. + List of additional options values for SGPLOT procedure. + +* `odsGraphicsOptions` - *Optional*, default value is empty. + List of additional options values for `ODS Graphics` statement. + By default only the: `width=`, `height=`, and `antialiasmax=` + are modified. + +* `vertical` - *Optional*, default value is `0`. + Set value to `1` to plot "clouds & boxes" vertically. + **NOTE:** *Before setting the parameter to `1`, first + prepare the plot in the "horizontal" version since all + other parameters assume that orientation(!) and then are + converted accordingly.* + +***Stat related options***: + +* `VSCALE` - *Optional*, default value `Proportion`. + Specifies the scale of the vertical axis. + Allowed values are `PROPORTION`, `PERCENT`, and `COUNT`. + `PROPORTION` scales the data in units of proportion of observations per data unit. + `PERCENT` scales the data in units of percent of observations per data unit. + `COUNT` scales the data in units of the number of observations per data unit. + +* `KERNEL_K` - *Optional*, default value `NORMAL`. + Specifies type of kernel function to compute kernel density estimates. + Allowed values are `NORMAL`, `QUADRATIC`, and `TRIANGULAR`. + + +* `KERNEL_C` - *Optional*, default value `1`. + Specifies standardized bandwidth parameter *C* to compute kernel density estimates. + Allowed values are between `0` and `1`, + +* `VSCALEmax` - *Optional*, default value is empty. + Provides maximal value for Y2 axis scale. When used an information + note is displayed in the log. Recommended values are: + For `VSCALE=PERCENT` between 0 and 100, + for `VSCALE=PROPORTION` between 0 and 1, and + for `VSCALE=COUNT` between 0 and N (sample size). + +* `minRange` - *Optional*, default value is `.` (numerical missing). + Indicates minimum value for x-axis on the plot, by default calculated form data. + Is a global parameter used for all plots. + +* `maxRange` - *Optional*, default value is `.` (numerical missing). + Indicates maximum value for x-axis on the plot, by default calculated form data. + Is a global parameter used for all plots. + +***Other options***: + +* `cleanTempData` - *Optional*, default value `1`. + Indicates if temporary data sets should be deleted. + +* `codePreview` - *Optional*, default value `0`. + Indicates if source code should be MPRINTed to log. + +* `reuseN` - *Optional*, default value `6`. + Indicates how many times colours list should be repeated + so that colours could be reused in case the number of groups + is greater than the colours list length. + +--- + +### NOTES: ################################################################### + +* Default value of the `title` option is: + `%nrstr(title1 JUSTIFY=C "Rain Cloud plot for &list_g. by " %unquote(&xLabel.);)` + Use the `%str()` or `%nrstr()` macro-function to handle special characters. + The `%unquote()` is used when resolving the parameter. + +* Default value of the `footnote` option is: + `%nrstr(footnote1 JUSTIFY=L COLOR=lightGray HEIGHT=1 "by RainCloudPlot macro from the BasePlus package";)` + Use the `%str()` or `%nrstr()` macro-function to handle special characters. + The `%unquote()` is used when resolving the parameter. + +* The `catLabels` and `xLabels` should be quoted comma-separated lists enclosed with brackets, + e.g. `catLabels=("Continent of Origin", "Car Type")`, see Example below. + +* The `catLabelAttrs` and `xLabelAttrs` should be space-separated lists of `key=value` pairs, + e.g. `xLabelAttrs=size=12 color=Pink weight=bold`, see Example below. + +* Kernel density estimates and basic statistics are calculated with `PROC UNIVARIATE`. + +* Plot is generated by `PROC SGPLOT` with `BAND`, `SCATTER`, and `POLYGON` plots. + +* After execution the ODS graphics dimension parameters are set to `800px` by `600px`. + +* SAS notes (`NOTE:`) are disabled for the execution time. + +* Before setting the `vertical=` parameter to `1`, first prepare the plot + in the "horizontal" version since all other parameters assume that orientation(!) + and then are converted accordingly. + +* List of predefined colours is: + `BlueViolet`, `RoyalBlue`, `OliveDrab`, `Gold`, `HotPink`, `Crimson`, + `MediumPurple`, `CornflowerBlue`, `YellowGreen`, `Goldenrod`, `Orchid`, `IndianRed`. + +### BOX-AND-WHISKERS PLOT: ################################################################### + +The box-and-whiskers plot has the following interpretation: +- left vertical bar indicates the *minimum*, +- left whisker line starts at `max(Q1 - 1.5IQR, minimum)` and ends at lower quartile (Q1), +- diamond indicates mean, +- vertical bar inside of the box indicates median, +- right whisker line starts at upper quartile (Q3) and ends at `min(Q3 + 1.5IQR, maximum)`, +- right vertical bar indicates the *maximum*. + +With above setup it may happen that +there is a gap between the minimum marker and the beginning of the left whisker +or +there is a gap between the end of the right whisker and the maximum marker. +See examples below. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple Rain Cloud Plot for a `have` dataset: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + data have; + g = "Aaa"; + do _N_ = 1 to 50; + x = rannor(42); + y = ranuni(42); + output; + end; + + g = "Bb"; + do _N_ = 1 to 120; + select (mod(_N_,9)); + when(1,2,3,4,5) x = 0.5*rannor(42)+1; + when(6,7,8) x = 0.5*rannor(42)+3; + otherwise x = 0.5*rannor(42)+5; + end; + y = ranuni(42)+1; + output; + end; + + g = "C"; + do _N_ = 1 to 60; + x = 3*rannor(42)+7; + y = ranuni(42)+2; + output; + end; + run; + + %RainCloudPlot(have, g, x y) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 1x](./baseplus_RainCloudPlot_Ex1x.png) +![Example 1y](./baseplus_RainCloudPlot_Ex1y.png) + + +**EXAMPLE 2.** Rain Cloud plot for `sashelp.cars` dataset + with groups by Origin or Type + for Invoice variables: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + %RainCloudPlot( + sashelp.cars(where=(Type ne "Hybrid")) + , Origin Type + , Invoice + , HeightPX=300 + , y2axisLevels=3 + , catLabels=("Continent of Origin", "Car Type") + , xLabels="Invoice, [$]" + , xLabelAttrs=size=12 color=Pink weight=bold + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 2a](./baseplus_RainCloudPlot_Ex2a.png) +![Example 2b](./baseplus_RainCloudPlot_Ex2b.png) + +**EXAMPLE 3.** Rain Cloud plot with formated groups: + and annotations. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + data annotation; + function="text"; + label="This graph is full(*ESC*){sup '2'} of annotations!"; + drawspace="graphpercent"; + rotate=30; + anchor="center"; + textsize=32; + x1=50; + y1=50; + textcolor="red"; + justify="center"; + textweight="bold"; + width=100; + widthunit="percent"; + run; + + proc format; + value system + 1="Windows" + 2="MacOS" + 3="Linux" + ; + run; + + data test; + do system = 1 to 3; + do i = 1 to 50; + x = 2*rannor(123)/system - system; + output; + end; + end; + format system system.; + run; + + %RainCloudPlot(test, system, x + , colorslist=CX88CCEE CX44AA99 CX117733 + , formated=1 + , sganno=annotation + , sgPlotOptions=noborder + , WidthPX=1000 + , HeightPX=380 + , catAxisValueAttrs=Color=Green weight=bold + , VSCALE=percent + , cleanTempData=0 + , y2axisLevels=5 + , y2axisFormat=words20.-L + , VSCALEmax=60 + , codePreview=1 + , y2axisValueAttrs=Color=Grey size=10px + , y2axisLines=1 + , xLabels="variable X" + , title = %nrstr(title1; + title2 JUSTIFY=L "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + title3 JUSTIFY=C "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + title4 JUSTIFY=R "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + ) + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 3](./baseplus_RainCloudPlot_Ex3.png) + + +**EXAMPLE 4.** Rain Cloud plot for `sashelp.cars` dataset + with groups by Drive Train for Weight (LBS) + variable ploted "vertically": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + %RainCloudPlot( + sashelp.cars + , DriveTrain + , Weight + , HeightPX=400 + , colorslist=Red Green Blue + , y2axisLevels=5 + , catLabels=("DriveTrain") + , xLabels="Weight (LBS)" + , xLabelAttrs=size=12 color=Black weight=bold + , y2axisLines=1 + , vscale=percent + , vscalemax=50 + , vertical = 1 + , title = %nrstr(title1 J=C HEIGHT=3 "The VERTICAL plotting is cool, ...";) + , footnote = %nrstr(footnote1 J=L HEIGHT=2 "... isn't it?";) + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 4](./baseplus_RainCloudPlot_Ex4.png) + +--- + + +--- + +## `%repeattxt()` macro ###### + +## >>> `%repeatTxt()` macro: <<< ####################### + +The repeatTxt() macro function allows to repeat `n` +times a `text` string separated by string `s=`. + +The repeatTxt() returns unquoted value [by %unquote()]. + +See examples below for the details. + +The `%repeatTxt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%repeatTxt( + text + <,n> + <,s=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `text` - *Required*, a text to be repeated. + +2. `n` - *Required/Optional*, the number of repetitions. + If missing then set to `1`; + +* `s = %str( )` - *Optional*, it is a separator between + repeated elements. Default value is space. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple repetition of dataset name: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +data work.test5; + set + %repeatTxt(sashelp.cars, 5) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Simple repetition of data step: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +%repeatTxt(data _null_; set sashelp.cars; run;, 3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** "Nice" output: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Macroquote a text with commas: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%repeatTxt( + %str(proc sql; create table wh as select weight,height from sashelp.class; quit;) + ,3 +) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 5.** Empty `n` repeats `text` one time: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +data work.test1; + set + %repeatTxt(sashelp.cars) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 6.** Dynamic "formatting": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%macro printWork(); + %let work=%sysfunc(pathname(work)); + %put +%repeatTxt(~,%length(&work.)+5,s=)+; + %put {&=work.}; + %put +%repeatTxt(~,%length(&work.)+5,s=)+; +%mend printWork; + +%printWork() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%splitdsintoblocks()` macro ###### + +## >>> `%splitDSIntoBlocks()` macro: <<< ####################### + +The splitDSIntoBlocks() macro allows to split the `set` dataset into blocks +of size `blockSize` in datasets: `prefix1` to `prefixN`. + +The last dataset may have less observations then the `blockSize`. + +Macro covers `BASE` engine (`v9`, `v8`, `v7`, `v6`) and `SPDE` engine datasets. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoBlocks( + blockSize + <,set> + <,prefix> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `blockSize` - *Required*, the size of the block of data, + in other words number of observations in + one block of split data. + Block size must be positive integer. + +2. `set` - *Required/Optional*, the name of the dataset to split. + If empty then `&syslast.` is used. + +3. `prefix` - *Required/Optional*, the name-prefix for new datasets. + If missing then set to `part`. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Split `sashelp.class` into 5 elements datasets ABC1 to ABC4: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %splitDSIntoBlocks(5,sashelp.class,ABC) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** By default splits the `_last_` dataset into `part1` to `partN` datasets: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data lastData; + set sashelp.cars; + run; + + %splitDSIntoBlocks(123) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Works with `SPDE` engine too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname test "%sysfunc(pathname(work))/testSPDE"; + libname test; + libname test SPDE "%sysfunc(pathname(work))/testSPDE"; + + data test.test; + set sashelp.cars; + run; + + %splitDSIntoBlocks(100,test.test,work.spde) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%splitdsintoparts()` macro ###### + +## >>> `%splitDSIntoParts()` macro: <<< ####################### + +The splitDSIntoParts() macro allows to split the `set` dataset into `parts` parts +of approximately `NOBS/parts` size in datasets: `prefix1` to `prefixN`. + +The splitDSIntoParts() macro internally runs the splitDSIntoBlocks() macro. + +Macro covers `BASE` engine (`v9`, `v8`, `v7`, `v6`) and `SPDE` engine datasets. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoParts( + parts + <,set> + <,prefix> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `parts` - *Required*, the number of parts to split data into. + Number of parts must be positive integer. + +2. `set` - *Required/Optional*, the name of the dataset to split. + If empty then `&syslast.` is used. + +3. `prefix` - *Required/Optional*, the name-prefix for new datasets. + If missing then set to `part`. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Split `sashelp.cars` into 7 parts: datasets carsInParts1 to carsInParts7: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %splitDSIntoParts(7,sashelp.cars, carsInParts) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** By default splits the `_last_` dataset into `part1` to `part3` datasets: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data lastData; + set sashelp.cars; + run; + + %splitDSIntoBlocks(3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Works with `SPDE` engine too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname test "%sysfunc(pathname(work))/testSPDE"; + libname test; + libname test SPDE "%sysfunc(pathname(work))/testSPDE"; + + data test.test; + set sashelp.cars; + run; + + %splitDSIntoParts(3,test.test,work.spde) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%symdelglobal()` macro ###### + +## >>> `%symdelGlobal()` macro: <<< ####################### + +The `%symdelGlobal()` macro deletes all global macro variables +created by the user. The only exceptions are read only variables +and variables the one which starts with SYS, AF, or FSP. +In that case a warning is printed in the log. + +One temporary global macro variable `________________98_76_54_32_10_` +and a dataset, in `work` library, named `_%sysfunc(datetime(),hex7.)` +are created and deleted during the process. + +The `%symdelGlobal()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%symdelGlobal( + info +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `info` - *Optional*, default value should be empty, + if set to `NOINFO` or `QUIET` then infos and + warnings about variables deletion are suspended. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete global macro variables, info notes + and warnings are printed in the log. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let a = 1; + %let b = 2; + %let c = 3; + %let sys_my_var = 11; + %let af_my_var = 22; + %let fsp_my_var = 33; + %global / readonly read_only_x = 1234567890; + + %put _user_; + + %symdelGlobal(); + + %put _user_; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Basic use-case two. + Delete global macro variables in quite mode + No info notes and warnings are printed in the log. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let a = 1; + %let b = 2; + %let c = 3; + %let sys_my_var = 11; + %let af_my_var = 22; + %let fsp_my_var = 33; + %global / readonly read_only_x = 1234567890; + + %put _user_; + %put *%symdelGlobal(NOINFO)*; + %put _user_; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--- + + +--- + +## `%unziparch()` macro ###### + +## >>> `%unzipArch()` macro: <<< ####################### + +The unzipArch() macro allows to unzip content of a ZIP archive. +Macro is OS-independent, the `XCMD` option is not required. + +The `dlCreateDir` option is used under the hood. + +Content of unzipped archive can be listed in the log. + +Source files can be deleted after decompression. +Errors of decompression and are reported. If any occur +the deletion is suspended. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unzipArch( + archName + <,path=> + <,pathRef=> + <,target=> + <,targetRef=> + <,list=> + <,clean=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `archName` - *Required*, name of the ZIP archive to be extracted. + Name should be full, i.e., with the extension! + +* `path=` - *Optional*, a path pointing to zipped file location. + The path should be provided unquoted. + Default value is `WORK` location. + +* `pathRef=` - *Optional*, a fileref to path pointing to zipped file location. + The `path`, if not null, has precedense over the `pathRef`. + +* `target=` - *Optional*, a path pointing to target location where + files will be extracted. + The path should be provided unquoted. + Default value is `WORK` location. + +* `target=` - *Optional*, a fileref to path pointing to target location where + files will be extracted. + The `target`, if not null, has precedense over the `targetRef`. + +* `list = 0` - *Optional*, default value is `0`, + indicates if zip content should be listed in the log. + `1` means *yes*, `0` means *no*. + +* `clean = 0` - *Optional*, default value is `0`, + indicates if zip file should be deleted after unzipping. + `1` means *yes*, `0` means *no*. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Unzip compressed archive. Example requires the `basePlus` package. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +filename arch ZIP "%workPath()/testArch.zip"; + +data _null_; + file arch(abc/test1.txt); + put "text for test file 1"; +data _null_; + file arch(abc/subdir/test2.txt); + put "text for test file 2"; +data _null_; + file arch(abc/subdir/test3.txt); + put "text for test file 3"; +run; + +%unzipArch( + testArch.zip +, path = %workPath() +, target = %workPath() +, list=1 +); + + + +filename pR "%workPath()"; + +%unzipArch( + testArch.zip +, pathRef = pR +, targetRef = pR +, clean=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%unziplibrary()` macro ###### + +## >>> `%unzipLibrary()` macro: <<< ####################### + +The unzipLibrary() macro allows to unzip content of a SAS library. +It is a *counterpart* to the `%zipLibrary()` macro and is *not* intended to work +with zip files generated by other software (though it may in some cases). + +Files can be unzipped from a single file +or from multiple files (named e.g. "dataset.sas7bdat.zip"). +If a file is indexed also the index file is unzipped. + +Source files can be deleted after decompression. + +Status of decompression and processing time is reported. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unzipLibrary( + path + <,zip=> + <,mode=> + <,clean=> + <,libOut=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `path` - *Required*, a path pointing to zipped file(s) location. + The path should be unquoted, e.g. `%unzipLibrary(/some/dir, ...)`. + +* `zip =` - *Optional*, When `mode=S` a name of the + zip file containing SAS files to be unzipped. + +* `mode = S` - *Optional*, default value is `S`, + indicates mode of decompression + read from a single zip file (`SINGLE/S`) + or from multiple files (`MULTI/M`) + +* `clean = 0` - *Optional*, default value is `0`, + should zip files be deleted after unzipping? + `1` means *yes*, `0` means *no*. + +* `libOut =` - *Optional*, default value is empty, + output library for a single zip file + decompression. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Generate data: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlcreatedir; + libname test1 "%sysfunc(pathname(work))/test1"; + libname test2 "%sysfunc(pathname(work))/test2"; + libname test3 (test1 test2); + libname test4 "%sysfunc(pathname(work))/test4"; +options nodlcreatedir; + +%put %sysfunc(pathname(test3)); +%put %sysfunc(pathname(test4)); + +data + test1.A(index=(model)) + test1.B + test2.C + test2.D(index=(model make io=(invoice origin))) +; + set sashelp.cars; +run; + +data test1.B2 / view=test1.B2; + set test1.B; + output; + output; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Use data from Example 1. + First zip content of the `test3` library + to `test4` location into one zip file + and delete source files. + Next unzip `test3.zip` library into the + `test4` location and delete the zip file. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, clean=1, libOut=test4) + + +%unzipLibrary(%sysfunc(pathname(test4)), zip=test3, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use data from Example 1. + First zip content of the `test1` library + into multiple zip files and delete source files. + Next unzip `*.zip` files in `test1` + location and delete zipped files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test1, mode=M, clean=1) + + +%unzipLibrary(%sysfunc(pathname(test1)), mode=M, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** First zip content of the `sashelp` library + into `work` library. + Next unzip `sashelp.zip` file in `work` + location and delete zip file. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(sashelp, mode=S, clean=0, libOut=work) + + +%unzipLibrary(%sysfunc(pathname(work)), zip=sashelp, mode=S, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `%ziparch()` macro ###### + +## >>> `%zipArch()` macro: <<< ####################### + +The zipArch() macro allows to ZIP content of a directory. +Macro is OS-independent, the `XCMD` option is not required. + +Content of zipped archive can be listed in the log. + +Errors of decompression and are reported. + +Macro **does not** include hidden files. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipArch( + archName + ,path = + <,pathRef=> + <,target=> + <,targetRef=> + <,list=> + <,overwrite=> + <,dropList=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `archName` - *Required*, name of the archive to be generated. + Name should be full, i.e., with the extension! + +2. `path=` - *Required/Optional*, location of a directory to ZIP. + The path should be provided unquoted. + Has priority over the `pathRef` parameter. + +* `pathRef=` - *Required/Optional*, fileref to location of a directory to ZIP. + The reference **has** to be pointing to single directory. + If provided with `path` - the `path` takes + priority over the `pathRef` parameter. + +* `target=` - *Optional*, a path pointing to target location where + the archive will be generated. + The path should be provided unquoted. + Default value is `WORK` location. + Has priority over the `targetRef` parameter. + +* `targetRef=` - *Optional*, fileref to a path pointing to target location + where the archive will be generated. + The reference **has** to be pointing to single directory. + If provided with `target` - the `target` takes + priority over the `targetRef` parameter. + +* `list = 0` - *Optional*, default value is `0`, + indicates if zip content should be listed in the log. + `1` means *yes*, `0` means *no*. + +* `overwrite = 0` - *Optional*, default value is `0`, + indicates if existing archive file should be overwritten. + `1` means *yes*, `0` means *no*. + +* `overwrite = 1` - *Technical*, default value is `1`, + indicates if the "to-be-zipped-files-list" + data set should be deleted. + `1` means *yes*, `0` means *no*. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Zip a directory . Example requires the `basePlus` package. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlCreateDir; +libname arch1 "%workPath()/testArch1"; +libname arch2 "%workPath()/testArch2"; + +filename arch1 "%workPath()/testArch1"; + +data _null_; + file arch1(test1.txt); + put "text for test file 1"; +data _null_; + file arch1(test2.txt); + put "text for test file 2"; +data _null_; + file arch1(test3.txt); + put "text for test file 3"; +run; + +data arch1.class(index=(name)); + set sashelp.class; +run; +data arch1.cars(index=(model)); + set sashelp.cars; +run; + + + +%zipArch( + archName1.zip +, path = %workPath()/testArch1 +, list = 1 +, overwrite = 1 + +) + +%zipArch( + archName2.zip +, pathRef = arch1 +, target = %workPath()/testArch2 +, list = 1 +, overwrite = 1 +) + + +%unzipArch( + archName2.zip +, path = %workPath()/testArch2 +, target = %workPath()/testArch2 +, clean=1 +, list=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%zipevalf()` macro ###### + +## >>> `%zipEvalf()` macro: <<< ####################### + +The zipEvalf() and QzipEvalf() macro functions +allow to use a function on elements of pair of +space-separated lists. + +For two space-separated lists of text strings the corresponding +elements are taken and the macro applies a function, provided by user, +to calculate result of the function on taken elements. + +When one of the lists is shorter then elements are "reused" starting +from the beginning. + +The zipEvalf() returns unquoted value [by %unquote()]. +The QzipEvalf() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%zipEvalf()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipEvalf( + first + ,second + <,function=> + <,operator=> + <,argBf=> + <,argMd=> + <,argAf=> + <,format=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `first` - *Required*, a space-separated list of texts. + +2. `second` - *Required*, a space-separated list of texts. + +* `function = cat` - *Optional*, default value is `cat`, + a function which will be applied + to corresponding pairs of elements of + the first and the second list. + +* `operator =` - *Optional*, default value is empty, + arithmetic infix operator used with elements + the first and the second list. The first + list is used on the left side of the operator + the second list is used on the right side + of the operator. + +* `argBf =` - *Optional*, default value is empty, + arguments of the function inserted + *before* elements the first list. + If multiple should be comma-separated. + +* `argMd =` - *Optional*, default value is empty, + arguments of the function inserted + *between* elements the first list and + the second list. + If multiple should be comma-separated. + +* `argAf =` - *Optional*, default value is empty, + arguments of the function inserted + *after* elements the second list. + If multiple should be comma-separated. + +* `format=` - *Optional*, default value is empty, + indicates a format which should be used + to format the result, does not work when + the `operator=` is used. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple concatenation of elements: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, q w e r t y); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, a b c); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use of the `operator=`, shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let y = %zipEvalf(1 2 3 4 5 6, 100 200, operator = +); +%put &=y; + +%let z = %zipEvalf(1 2 3 4 5 6 8 9 10, 1 2 3 4 5 6 8 9 10, operator = **); +%put &=z; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Format result: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, q w e r t y, format=$upcase.); +%put &=x; + +%put * +%zipEvalf( + ą ż ś ź ę ć ń ó ł +,Ą Ż Ś Ź Ę Ć Ń Ó Ł +,format = $brackets. +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Use with macro variables: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let abc = 10 100 1000; +%put * +%zipEvalf( +%str(1 2 3 4 5 6 7 8 9) +,&abc. +,function = sum +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** If one of elements is empty: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put * +%zipEvalf( + abc efg +, +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Use of the `function=`, shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put * +%zipEvalf( + a b c +,efg +,function = catx +,argBf = %str(,) +,format = $brackets. +) +*; + +%put * +%zipEvalf( + a b c +,efg +,function = catx +,argBf = %str( ) +,format = $upcase. +) +*; + +%put * +%zipEvalf( + %str(! @ # $ [ ] % ^ & * ) +,1 2 3 4 5 6 7 8 9 +,function = catx +,argBf = %str( ) +,format = $quote. +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Use inside resolve: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; +z = resolve(' +%zipEvalf( + %nrstr(! @ # $ [ ] % ^ & *) +,1 2 3 4 5 6 7 8 9 +,function = catx +,argBf = %str(.) +,format = $quote. +)'); +put z=; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Use in data step: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test; + %zipEvalf( + a b c d e f g + ,1 2 3 4 5 6 7 + ,function = catx + ,argBf = = + ,format = $semicolon. + ) +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 10.** With 9.4M6 hashing() function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %zipEvalf(MD5 SHA1 SHA256 SHA384 SHA512 CRC32, abcd, function = HASHING); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 11.** Use middle argument: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, 2020, argMd=5, function=MDY, format=date11.); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%ziplibrary()` macro ###### + +## >>> `%zipLibrary()` macro: <<< ####################### + +The zipLibrary() macro allows to zip content of a SAS library. + +Files can be zipped into a single file (named as the input library) +or into multiple files (named as "dataset.sas7bdat.zip"). +If a file is indexed also the index file is zipped. + +Source files can be deleted after compression. + +Status of compression and processing time is reported. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary( + lib + <,mode=> + <,clean=> + <,libOut=> + <,compression=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, a name of the library to be zipped. + Must be a valid SAS V7, V8, or V9 library. + + +* `mode = S` - *Optional*, default value is `S`, + indicates mode of compression + generates single zip file (`SINGLE/S`) + or multiple files (`MULTI/M`) + +* `clean = 0` - *Optional*, default value is `0`, + should datasets be deleted after zipping? + `1` means *yes*, `0` means *no*. + +* `libOut =` - *Optional*, default value is empty, + output library for a single zip file. + +* `compression =` - *Optional*, default value is `6`, + specifies the compression level + `0` to `9`, where `0` is no compression + and `9` is maximum compression. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Generate data: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlcreatedir; + libname test1 "%sysfunc(pathname(work))/test1"; + libname test2 "%sysfunc(pathname(work))/test2"; + libname test3 (test1 test2); + libname test4 "%sysfunc(pathname(work))/test4"; +options nodlcreatedir; + +%put %sysfunc(pathname(test3)); +%put %sysfunc(pathname(test4)); + +data + test1.A(index=(model)) + test1.B + test2.C + test2.D(index=(model make io=(invoice origin))) +; + set sashelp.cars; +run; + +data test1.B2 / view=test1.B2; + set test1.B; + output; + output; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Zip content of test3 library + into the same location in one zip file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Zip content of test3 library + into the same location in multiple zip files: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, mode=MULTI) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Zip content of test3 library + with maximum compression level + into different location in one zip file + and delete source files: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, clean=1, libOut=test4, compression=9) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `$bool.` format/informat ###### + +## >>> `bool.` format: <<< ####################### + +The **bool** format returns: +*zero* for 0 or missing, +*one* for other values. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 & 4.2, boolean)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), bool.)`] + +--- + + +--- + +## `$boolz.` format/informat ###### + +## >>> `boolz.` format: <<< ####################### + +The **boolz** format returns: +*zero* for 0 or missing, +*one* for other values. + +*Fuzz* value is 0. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 & 4.2, boolean)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), boolz.)`] + +--- + + +--- + +## `$ceil.` format/informat ###### + +## >>> `ceil.` format: <<< ####################### + +The **ceil** format is a "wrapper" for the `ceil()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, ceil)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), ceil.)`] + +--- + + +--- + +## `$floor.` format/informat ###### + +## >>> `floor.` format: <<< ####################### + +The **floor** format is a "wrapper" for the `floor()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, floor)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), floor.)`] + +--- + + +--- + +## `$int.` format/informat ###### + +## >>> `int.` format: <<< ####################### + +The **int** format is a "wrapper" for the `int()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, integer)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), int.)`] + +--- + + +--- + +## `arrfill()` function ###### + +## >>> `arrFill()` subroutine: <<< ####################### + +The **arrFill()** subroutine is a wrapper +for the Call Fillmatrix() [a special FCMP subroutine]. + +A numeric array is filled with selected numeric value, e.g. + +for array `A = [. . . .]` the subroutine +`call arrFill(42, A)` returns `A = [42 42 42 42]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrFill(N ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `N` - Numeric value. + +2. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrFill(42, X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrfillc()` function ###### + +## >>> `arrFillC()` subroutine: <<< ####################### + +The **arrFillC()** subroutine fills +a character array with selected character value, e.g. + +for array `A = [" ", " ", " "]` the subroutine +`call arrFillC("B", A)` returns `A = ["B", "B", "B"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrFillC(C ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `C` - Character value. + +2. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrFillC("ABC", X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmissfill()` function ###### + +## >>> `arrMissFill()` subroutine: <<< ####################### + +The **arrMissFill()** subroutine fills +all missing values (i.e. less or equal than `.Z`) +of a numeric array with selected numeric value, e.g. + +for array `A = [1 . . 4]` the subroutine +`call arrMissFill(42, A)` returns `A = [1 42 42 4]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissFill(N ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `N` - Numeric value. + +2. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissFill(42, X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmissfillc()` function ###### + +## >>> `arrMissFillC()` subroutine: <<< ####################### + +The **arrMissFillC()** subroutine fills +all missing values of a character array +with selected character value, e.g. + +for array `A = ["A", " ", "C"]` the subroutine +`call arrMissFillC("B", A)` returns `A = ["A", "B", "C"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissFillC(C, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `C` - Character value. + +2. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissFillC("X", X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmisstoleft()` function ###### + +## >>> `arrMissToLeft()` subroutine: <<< ####################### + +The **arrMissToLeft()** subroutine shifts +all non-missing (i.e. greater than `.Z`) +numeric elements to the right side of an array +and missing values to the left, e.g. + +for array `A = [1 . 2 . 3]` the subroutine +`call arrMissToLeft(A)` returns `A = [. . 1 2 3]` + +All missing values are replaced with the dot (`.`) + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToLeft(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissToLeft(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmisstoleftc()` function ###### + +## >>> `arrMissToLeftC()` subroutine: <<< ####################### + +The **arrMissToLeftC()** subroutine shifts +all non-missing (i.e. different than empty string) +character elements to the right side of an array +and all missing values to the left, e.g. + +for array `A = ["A", " ", "B", " ", "C"]` the subroutine +`call arrMissToLeftC(A)` returns `A = [" ", " ", "A", "B", "C"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToLeftC(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissToLeftC(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmisstoright()` function ###### + +## >>> `arrMissToRight()` subroutine: <<< ####################### + +The **arrMissToRight()** subroutine shifts +all non-missing (i.e. greater than `.Z`) +numeric elements to the left side of an array +and missing values to the right, e.g. + +for array `A = [1 . 2 . 3]` the subroutine +`call arrMissToRight(A)` returns `A = [1 2 3 . .]` + +All missing values are replaced with the dot (`.`) + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToRight(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissToRight(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmisstorightc()` function ###### + +## >>> `arrMissToRightC()` subroutine: <<< ####################### + +The **arrMissToRightC()** subroutine shifts +all non-missing (i.e. different than empty string) +character elements to the left side of an array +and missing values to the right, e.g. + +for array `A = ["A", " ", "B", " ", "C"]` the subroutine +`call arrMissToRightC(A)` returns `A = ["A", "B", "C", " ", " "]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToRightC(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissToRightC(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `bracketsc()` function ###### + +## >>> `bracketsC()` function: <<< ####################### + +The **bracketsC()** function is internal function used by the *brackets* format. +Returns character value of length 32767. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +bracketsC(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Character value. + +--- + +--- + +## `bracketsn()` function ###### + +## >>> `bracketsN()` function: <<< ####################### + +The **bracketsN()** function is internal function used by the *brackets* format. +Returns character value of length 34. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +bracketsN(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Numeric value. + +--- + +--- + +## `catxfc()` function ###### + +## >>> `catXFc()` function: <<< ####################### + +The **catXFc()** function is a wrapper +of the `catX()` function but with ability +to format character values. + +For array `A = ["a", " ", "c"]` the +`catXFc("upcase.", "*", A)` returns `"A*C"`. + +If format does not handle nulls they are ignored. + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFc(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *character* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Character array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + t = "t"; + u = " "; + v = "v"; + + array b[*] t u v; + + length s $ 17; + s = catXFc("upcase.", "*", B); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `catxfi()` function ###### + +## >>> `catXFi()` function: <<< ####################### + +The **catXFi()** function is a wrapper +of the `catX()` function but with ability +to format numeric values but +IGNORES missing values (i.e. `._`, `.`, `.a`, ..., `.z`). + +For array `A = [0, ., 2]` the +`catXFi("date9.", "#", A)` returns +`"01JAN1960#03JAN1960"` + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFi(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *numeric* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Numeric array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = .; + z = 3; + + array a[*] x y z; + + length s $ 17; + s = catXFi("z5.", "#", A); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `catxfj()` function ###### + +## >>> `catXFj()` function: <<< ####################### + +The **catXFj()** function is a wrapper +of the catX() function but with ability +to format character values. + +For array `A = ["a", " ", "c"]` the +`catXFj("upcase.", "*", A)` returns `"A**C"` + +If format does not handle nulls they are +printed as an empty string. + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFj(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *character* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Character array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + t = "t"; + u = " "; + v = "v"; + + array b[*] t u v; + + length s $ 17; + s = catXFj("upcase.", "*", B); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `catxfn()` function ###### + +## >>> `catXFn()` function: <<< ####################### + +The **catXFn()** function is a wrapper +of the `catX()` function but with ability +to format numeric values. + +For array `A = [0, 1, 2]` the +`catXFn("date9.", "#", A)` returns +`"01JAN1960#02JAN1960#03JAN1960"` + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFn(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *numeric* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Numeric array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = .; + z = 3; + + array a[*] x y z; + + length s $ 17; + s = catXFn("z5.", "#", A); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `deldataset()` function ###### + +## >>> `delDataset()` function: <<< ####################### + +The **delDataset()** function is a "wrapper" +for the `Fdelete()` function. +`delDataset()` function uses a text string with +a dataset name as an argument. + +Function checks for `*.sas7bdat`, `*.sas7bndx`, +and `*.sas7bvew` files and delete them. +Return code of 0 means dataset was deleted. + +For compound library files are +deleted from _ALL_ locations! + + +*Note:* +Currently only the BASE SAS engine datasets/views are deleted. + +Tested on Windows and Linux. Not tested on Z/OS. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +delDataset(lbds_) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lbds_` - *Required*, character argument containing + name of the dataset/view to be deleted. + The `_last_` special name is honored. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST1 TEST2(index=(x)); + x = 17; + run; + + data TEST3 / view=TEST3; + set test1; + run; + + data _null_; + p = delDataset("WORK.TEST1"); + put p=; + + p = delDataset("TEST2"); + put p=; + + p = delDataset("WORK.TEST3"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST4; + x=42; + run; + data _null_; + p = delDataset("_LAST_"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname user "%sysfunc(pathname(work))/user"; + + data TEST5; + x=42; + run; + + data _null_; + p = delDataset("test5"); + put p=; + run; + + libname user clear; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 4.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST6; + x=42; + run; + + %put *%sysfunc(delDataset(test6))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 5.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname L1 "%sysfunc(pathname(work))/L)1"; + libname L2 "%sysfunc(pathname(work))/L(2"; + libname L3 "%sysfunc(pathname(work))/L'3"; + + data L1.TEST7 L2.TEST7 L3.TEST7; + x=42; + run; + + libname L12 ("%sysfunc(pathname(work))/L(1" "%sysfunc(pathname(work))/L)2"); + libname L1L2 (L2 L3); + + %put *%sysfunc(delDataset(L12.test7))*; + %put *%sysfunc(delDataset(L1L2.test7))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `semicolonc()` function ###### + +## >>> `semicolonC()` function: <<< ####################### + +The **semicolonC()** function is internal function used by the *semicolon* format. +Returns character value of length 32767. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +semicolonC(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Character value. + +--- + + +--- + +## `semicolonn()` function ###### + +## >>> `semicolonN()` function: <<< ####################### + +The **semicolonN()** function is internal function used by the *semicolon* format. +Returns character value of length 33. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +semicolonN(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Numeric value. + +--- + + +--- + +## `$brackets.` format/informat ###### + +## >>> `brackets.` format: <<< ####################### + +The **brackets** format adds brackets around a text or a number. +Leading and trailing spaces are dropped before adding brackets. + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + input x; + if x < 0 then put x= brackets.; + else put x= best32.; +cards; +2 +1 +0 +-1 +-2 +; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `$semicolon.` format/informat ###### + +## >>> `semicolon.` format: <<< ####################### + +The **semicolon** format adds semicolon after text or number. +Leading and trailing spaces are dropped before adding semicolon. + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = "A"; + put x= semicolon. y= $semicolon.; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `qsortincbyprocproto()` proto ###### + +## >>> `qsortInCbyProcProto()` proto function: <<< ####################### + +The **qsortInCbyProcProto()** is external *C* function, +this is the implementation of the *Quick Sort* algorithm. + +The function is used **internally** by +functions in the *BasePlus* package. + +Asumptions: +- smaller subarray is sorted first, +- subarrays of *size < 11* are sorted by *insertion sort*, +- pivot is selected as median of low index value, + high index value, and (low+high)/2 index value. + +`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`
+`!CAUTION! Sorted array CANNOT contains SAS missing values !`
+`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`
+ +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +qsortInCbyProcProto(arr, low, high) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `arr` - An array of double type to be sorted. + +2. `low` - An integer low index of starting position (from which the sorting is done). + +3. `high` - An integer high index of ending position (up to which the sorting is done). + + +### REFERENCES: #################################################### + +*Reference 1.* + +Insertion sort for arrays smaller then 11 elements: + +Based on the code from the following WikiBooks page [2020.08.14]: + +[https://pl.wikibooks.org/wiki/Kody_%C5%BAr%C3%B3d%C5%82owe/Sortowanie_przez_wstawianie](https://pl.wikibooks.org/wiki/Kody_%C5%BAr%C3%B3d%C5%82owe/Sortowanie_przez_wstawianie) + + +*Reference 2.* + +Iterative Quick Sort: + +Based on the code from the following pages [2020.08.14]: + +[https://www.geeksforgeeks.org/iterative-quick-sort/](https://www.geeksforgeeks.org/iterative-quick-sort/) + +[https://www.geeksforgeeks.org/c-program-for-iterative-quick-sort/](https://www.geeksforgeeks.org/c-program-for-iterative-quick-sort/) + +--- + + +--- + +## `frommissingtonumberbs()` function ###### + +## >>> `fromMissingToNumberBS()` function: <<< ####################### + +The **fromMissingToNumberBS()** function +gets numeric missing value or a number +as an argument and returns an integer +from 1 to 29. + +For a numeric missing argument +the returned values are: +- 1 for `._` +- 2 for `.` +- 3 for `.a` +- ... +- 28 for `.z` and +- 29 for *all other*. + +The function is used **internally** by +functions in the *BasePlus* package. + +For *missing value arguments* the function +is an inverse of the `fromNumberToMissing()` function. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +fromMissingToNumberBS(x) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `x` - A numeric missing value or a number. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + do x = ._, ., .a, .b, .c, 42; + y = fromMissingToNumberBS(x); + put x= y=; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `fromnumbertomissing()` function ###### + +## >>> `fromNumberToMissing()` function: <<< ####################### + +The **fromNumberToMissing()** function +gets a number as an argument and returns +a numeric missing value or zero. + +For a numeric argument +the returned values are: +- `._` for 1 +- `.` for 2 +- `.a` for 3 +- ... +- `.z` for 28 and +- `0` for *all other*. + +The function is used **internally** by +functions in the *BasePlus* package. + +For arguments 1,2,3, ..., and 28 the function +is an inverse of the `fromMissingToNumberBS()` function. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +fromNumberToMissing(x) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `x` - A numeric value. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + do x = 1 to 29; + y = fromNumberToMissing(x); + put x= y=; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `quicksort4notmiss()` function ###### + +## >>> `quickSort4NotMiss()` subroutine: <<< ####################### + +The **quickSort4NotMiss()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + + +**Caution 1!** Array _CANNOT_ contains missing values! + +**Caution 2!** Array parameters to subroutine calls must be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSort4NotMiss(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of NOT missing numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM, + array of size 250'000'000 with values in range + from 0 to 99'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + test[_N_] = int(100000000*rand("uniform")); + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSort4NotMiss (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** Resources comparison for + session with 8GB of RAM. + + Array of size 250'000'000 with random values + from 0 to 999'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 8.82s + memory 1'953'470.62k + OS Memory 1'977'436.00k + + Call quickSort4NotMiss: + Sorting time 66.92s + Memory 1'954'683.06k + OS Memory 1'977'436.00k + + Call quickSortLight: + Sorting time 70.98s + Memory 1'955'479.71k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `quicksorthash()` function ###### + +## >>> `quickSortHash()` subroutine: <<< ####################### + +The **quickSortHash()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +The number of "sparse distinct data values" is set to `100'000` to +use the hash sort instead of the quick sort. + E.g. when number of unique values for sorting is less then + 100'000 then an ordered hash table is used to store the data + and their count and sort them. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +*Note!* Due to improper memory reporting/releasing for hash + tables in FCMP procedure the reported memory used after running + the function may not be in line with the RAM memory required + for processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortHash(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHash (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 9'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(10000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHash (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3.** Resources comparison for + session with 8GB of RAM + + A) Array of size 10'000'000 with + random values from 0 to 9'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.61s + Memory 78'468.50k + OS Memory 101'668.00k + + Call sortn: + Sorting time 0.87s + Memory 1'120'261.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.76s + Memory 1'222'242.75k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 23.45s + Memory 80'527.75k + OS Memory 101'924.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + B) Array of size 10'000'000 with + random values from 0 to 99'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.6s + Memory 78'463.65k + OS Memory 101'924.00k + + Call sortn: + Sorting time 1.51s + Memory 1'120'253.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.28s + Memory 1'222'241.93k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 0.78s + Memory 80'669.28k + OS Memory 102'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + C) Array of size 250'000'000 with + random values from 0 to 999'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 15.34s + memory 1'953'471.81k + OS Memory 1'977'436.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 124.68s + Memory 7'573'720.34k(*) + OS Memory 8'388'448.00k(*) + + Call quickSortLight: + Sorting time 72.41s + Memory 1'955'520.78k + OS Memory 1'977'180.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + D) Array of size 250'000'000 with + random values from 0 to 99'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 16.07 + Memory 1'953'469.78k + OS Memory 1'977'180.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 123.5s + Memory 7'573'722.03k + OS Memory 8'388'448.00k + + Call quickSortLight: + Sorting time 1'338.25s + Memory 1'955'529.90k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(*) When using hash tables in `Proc FCMP` the RAM + usage is not indicated properly. The memory + allocation is reported up to the session limit + and then reused if needed. The really required + memory is in fact much less then reported. + +--- + + +--- + +## `quicksorthashsddv()` function ###### + +## >>> `quickSortHashSDDV()` subroutine: <<< ####################### + +The **quickSortHashSDDV()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +The number of "sparse distinct data values" (argument `SDDV`) may +be adjusted to use the hash sort instead of the quick sort. + E.g. when number of unique values for sorting is less then + some *N* then an ordered hash table is used to store the data + and their count and sort them. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +*Note!* Due to improper memory reporting/releasing for hash + tables in FCMP procedure the report memory used after running + the function may not be in line with the RAM memory required + for processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortHashSDDV(A, SDDV) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + +2. `SDDV` - A number of distinct data values, e.g. 100'000. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHashSDDV (test, 2e4); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 9'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(10000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHashSDDV (test, 2e4); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `quicksortlight()` function ###### + +## >>> `quickSortLight()` subroutine: <<< ####################### + +The **quickSortLight()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortLight(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortLight (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** Resources comparison for + session with 8GB of RAM. + + Array of size 250'000'000 with random values + from 0 to 999'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 8.82s + memory 1'953'470.62k + OS Memory 1'977'436.00k + + Call quickSort4NotMiss: + Sorting time 66.92s + Memory 1'954'683.06k + OS Memory 1'977'436.00k + + Call quickSortLight: + Sorting time 70.98s + Memory 1'955'479.71k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 3.** Resources comparison for + session with 8GB of RAM + + A) Array of size 10'000'000 with + random values from 0 to 9'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.61s + Memory 78'468.50k + OS Memory 101'668.00k + + Call sortn: + Sorting time 0.87s + Memory 1'120'261.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.76s + Memory 1'222'242.75k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 23.45s + Memory 80'527.75k + OS Memory 101'924.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + B) Array of size 10'000'000 with + random values from 0 to 99'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.6s + Memory 78'463.65k + OS Memory 101'924.00k + + Call sortn: + Sorting time 1.51s + Memory 1'120'253.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.28s + Memory 1'222'241.93k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 0.78s + Memory 80'669.28k + OS Memory 102'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + C) Array of size 250'000'000 with + random values from 0 to 999'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 15.34s + memory 1'953'471.81k + OS Memory 1'977'436.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 124.68s + Memory 7'573'720.34k(*) + OS Memory 8'388'448.00k(*) + + Call quickSortLight: + Sorting time 72.41s + Memory 1'955'520.78k + OS Memory 1'977'180.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + D) Array of size 250'000'000 with + random values from 0 to 99'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 16.07 + Memory 1'953'469.78k + OS Memory 1'977'180.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 123.5s + Memory 7'573'722.03k + OS Memory 8'388'448.00k + + Call quickSortLight: + Sorting time 1'338.25s + Memory 1'955'529.90k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(*) When using hash tables in `Proc FCMP` the RAM + usage is not indicated properly. The memory + allocation is reported up to the session limit + and then reused if needed. The really required + memory is in fact much less then reported. + +--- + + +--- + +## `%date()` macro ###### + +## >>> `%date()` macro: <<< ####################### + +The date() macro function is a "lazy typer" wrapping up `%sysfunc(date())`. + +See examples below for the details. + +The `%date()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%date() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `date()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `date()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %date(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `date()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %date(date11.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%datetime()` macro ###### + +## >>> `%datetime()` macro: <<< ####################### + +The datetime() macro function is a "lazy typer" wrapping up `%sysfunc(datetime())`. + +See examples below for the details. + +The `%datetime()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%datetime() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `datetime()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `datetime()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %datetime(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Get value of `datetime()` as "long" and "short" ISO-8601: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %datetime(e8601dt.); + %put %datetime(b8601dt.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Get value of `datetime()` with user defined format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + proc format; + picture myCrazyDT (default=50) + other='%0Ssec. %0Mmin. %0Hhour %0dday %0mmonth %Yyear' (datatype=datetime) + ; + run; + + %put %datetime(myCrazyDT.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%downloadfilesto()` macro ###### + +## >>> `%downloadFilesTo()` macro: <<< ####################### + +The downloadFilesTo() macro copy files (in binary mode +using `filename()` function with options `lrecl=1 recfm=n`) +from list provided by user to a directory indicated +in the macro call. + +Macro can be executed in two possible ways: +1) by providing list of files to download in a `datalines4`(`cards4`) list + directly after macro call: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %downloadFilesTo() + datalines4; + + + ... + + ;;;; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +2) by create a dataset with a list of links and use of `DS=`, `DSvar=`, + and `DSout=` parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %downloadFilesTo( + , DS= + , DSvar= + , DSout= + ) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +The `%downloadFilesTo()` macro **does not** execute as a pure macro code. + +Temporary dataset `work.______locationInfoData` is generated during processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%downloadFilesTo( + target + <,DS=> + <,DSvar=link> + <,DSout=scan(link,-1,"/\")> + <,inDev=URL> + <,outDev=DISK> + <,inOptions=> + <,outOptions=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `target ` - *Required*, a path to target directory. + If empty the `WORK` location is used. + +*. `DS= ` - *Optional*, name of data set with list + of files to download. + +*. `DSvar= ` - *Optional*, name of variable in data set + with list of files to download. + +*. `DSout=` - *Optional*, name of variable in data set + with list of names for to downloaded files. + Default value is: `scan(link,-1,"/\")` it is + an expression to cut last part of the link. + +*. `inDev=` - *Optional*, type of device used by the + `filename()` function to access incoming files. + Default value is `URL`. + +*. `outDev=` - *Optional*, type of device used by the + `filename()` function to access outgoing files. + Default value is `DISK`. + +*. `inOptions=` - *Optional*, list of additional options for the + `filename()` function to access incoming files. + Default value is empty. + +*. `outOptions=` - *Optional*, list of additional options for the + `filename()` function to access outgoing files. + Default value is empty. + + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Download data from web with direct list and then copy between directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +resetline; +%downloadFilesTo(~/directoryA) +datalines4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.zip +;;;; +run; + +%downloadFilesTo(~/directoryB,inDev=DISK) +datalines4; +~/directoryA/WUSS-2023-Paper-189.pdf +~/directoryA/WUSS-2023-Paper-189.zip +;;;; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Download data from web using data set with list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +resetline; +data listOfFiles; +infile cards; +input files :$1024.; +cards4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-201.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-109.pdf +;;;; +run; + +%downloadFilesTo(R:\directoryC, DS=listOfFiles, DSvar=files) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%filepath()` macro ###### + +## >>> `%filePath()` macro: <<< ####################### + +The filePath() macro function returns path to a file, +it is a wrapper to `pathname()` function for files. + +See examples below for the details. + +The `%filePath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%filePath( + fileref +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `fileref` - *Required*, a fileref from the `filename` statement. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Return path to temporary file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f temp; + %put %filePath(f); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%finddswithvarval()` macro ###### + +## >>> `%findDSwithVarVal()` macro: <<< ####################### + +The findDSwithVarVal() macro searches for all +datasets (available for a given session) containing +a variable of a given value. + +The value search is case sensitive - but can be altered with `IC=` parameter. +The value search keeps leading blanks - but can be altered with `TB=` parameter. +The value search compares full value - but can be altered with `CTS=` parameter. + +The default variable type is `char`, the `type=` parameter allows +to change it (possible values are `char` and `num`), the parameter is case sensitive. + +Only datasets are searched, views are not included. + +During the process two temporary datasets named: +`WORK._` (single underscore) and `WORK.__` (double underscore) +are generated. The datasets are deleted at the end of the process. + +By default search results are stored in the `WORK.RESULT` dataset. +Name of the dataset can be altered with `result=` parameter. +The dataset with result contains two variables: +`datasetName` - names of datasets, +`firstObservation` - the firs occurrence of the value. + +See examples below for the details. + +The `%findDSwithVarVal()` macro does not execute as a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%findDSwithVarVal( + variable + ,value + <,type=> + <,ic=> + <,tb=> + <,cts=> + <,lib=> + <,result=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `variable` - *Required*, name of variable to be searched. + +2. `value` - *Required*, the value to be searched. + +*. `type` - *Optional*, default value is `char`. + Indicates which type is the searched value. + Possible values are `char` and `num`, + the parameter is case sensitive. + +*. `ic` - *Optional*, "Ignore Cases", default value is `0`. + Indicates should the search ignore cases of the text values. + Possible values are `0` and `1`. + +*. `tb` - *Optional*, "Trim Blanks", default value is `0`. + Indicates should the search trim leading and trailing + blanks of the text values. + Possible values are `0` and `1`. + +*. `cts` - *Optional*, "Compare To Shorter", default value is `0`. + IF set to `1` execute value comparison as `=:` for the text value. + Possible values are `0` and `1`. + See examples. + +*. `lib` - *Optional*, default value is missing. + If not empty narrows the search to a particular library. + +*. `result` - *Optional*, default value is `WORK.RESULT`. + Is the name of the dataset with results. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Search variable `NAME` containing value `John`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %findDSwithVarVal(name, John) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Search numeric variable `AGE` containing value `14`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %findDSwithVarVal(age, 14, type=num) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Search numeric variable `SCORE` with missing value: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST; + score=17; output; + score=42; output; + score=. ; output; + run; + + %findDSwithVarVal(score, ., type=num, result=WORK.MissingScore) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Search library `WORK` for variable `NAME` starting with value `Jo` + ignoring cases and trimming blanks from value: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data A; + name="Joanna"; + data B; + name="john"; + data C; + name=" Joseph"; + data D; + name=" joe"; + run; + + %findDSwithVarVal(name, Jo, ic=1, tb=1, cts=1, lib=WORK) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%fmt()` macro ###### + +## >>> `%fmt()` macro: <<< ####################### + +The fmt() macro function returns a `value` formatted by a `format`, +it is a wrapper to `putN()` and `putC()` functions. + +See examples below for the details. + +The `%fmt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%fmt( + value + ,format + ,align + <,type=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `value` - *Required*, a value to be formatted. + +2. `format` - *Required*, a name of a format to be used, + character format should be preceded by the `$`. + +3. `align` - *Optional*, allows to use the `-L`, `-R` and `-C` modifiers. + +* `type=n` - *Optional*, defines type of the format. If the format + name is preceded by the `$` then C is set automatically. + If the character format name is without `$` then set + value to `C` yourself. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Formatting values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %fmt(111, 7.2); + + %put %fmt(111, dollar10.2); + + %put %fmt(abc, $upcase.); + + %put %fmt(12345, date9.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Align values (compare different results!): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%fmt(ABC, $char9., -L)*; + %put *%fmt(ABC, $char9., -R)*; + %put *%fmt(ABC, $char9., -C)*; + + %put %fmt(ABC, $char9., -L); + %put %fmt(ABC, $char9., -R); + %put %fmt(ABC, $char9., -C); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%generateoneliners()` macro ###### + +## >>> `%GenerateOneLiners()` macro: <<< ####################### + +The `%GenerateOneLiners()` macro is a "macro-generator" dedicated +to "lazy typers". + +It allows to generate macro wrappers for functions +that have the following form: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%macro FUNCTION()/parmbuff; +%sysfunc(FUNCTION&syspbuff) +%mend FUNCTION; + +%macro qFUNCTION()/parmbuff; +%qsysfunc(FUNCTION&syspbuff) +%mend qFUNCTION; +~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +The `%GenerateOneLiners()` macro is not pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners( + <,listOfFunctions=> + <,prefix=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `listOfFunctions` - *Required*, is a space separated list of + valid SAS functions. Default value is: + `CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`. + +2. `prefix` - *Optional*, a prefix added to the name + of a created macro. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Create list of macrofunctions for + `CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners(prefix=_) + +%let a = 1,2,3,4,5,6; +%put %_CATX(%str( ),&a.); +%put %_CATQ(2A,&a.); +%put %_QCATQ(1AMD,%str(,),&a.); + +%let x=a 1 b 2 c 3 d 4 e 5 f 6 g; +%put %_COMPRESS(&x.); +%put %_COMPRESS(&x.,,ka); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Create list of macrofunctions for + `SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners( + listOfFunctions=SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS +, prefix=_) + +%put +%_SUM(1,2,3,4,5,6) +%_MEAN(1,2,3,4,5,6) +%_MEDIAN(1,2,3,4,5,6) +%_VAR(1,2,3,4,5,6) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Some other lists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners(prefix=_ +, listOfFunctions=CDF PDF RAND QUANTILE SQUANTILE SDF logCDF logPDF logSDF RMS +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=YEAR QTR MONTH WEEK DAY HOUR MINUTE SECOND +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=PCTL1 PCTL2 PCTL3 PCTL4 PCTL5 PCTL +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=YYQ MDY HMS INTCK INTNX SLEEP +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=WHICHC WHICHN +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=SYMEXIST SYMGLOBL SYMLOCAL +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=PRXCHANGE PRXMATCH PRXPAREN PRXPARSE +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=MD5 SHA256 HASHING +) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%gettitle()` macro ###### + +## >>> `%getTitle()` macro: <<< ####################### + +The getTitle() macro extract text of titles or footnotes +into a delimited list. + +Titles/footnotes numbers can be selected with the `number` argument. +Only the text of a title or footnote is extracted. + +Author of the original code is: Quentin McMullen (`qmcmullen.sas@gmail.com`). + +See examples below for the details. + +The `%getTitle()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%getTitle( + < number> + <,type=> + <,dlm=> + <,qt=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `number` - *Optional*, default value is empty, + indicates numbers of titles to be extracted. + Space-separated list is expected. + If empty or `_ALL_` extract all non-missing. + +*. `type` - *Optional*, default value is `T`. + Indicates which type is the searched. + `T` fro title, `F` for footnote. + +*. `dlm` - *Optional*, "DeLiMiter", default value is `|` (pipe). + Possible values are: `| \ / , . ~ * # @ ! + - _ : ?` + or `s` for space, `c` for comma, `d` for semicolon. + +*. `qt` - *Optional*, "QuoTes", default value is empty. + Use `%str()` for single quote symbol (e.g. `%str(%")`). + If there are multiple symbols, only the first and the + second are selected as a leading and trailing one, + e.g. `qt=""` gives `"title1 text" "title2 text" ... `. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get titles in different forms: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + title1 j=c "Hi Roger" ; + title2 j=l "Good Morning" ; + title3 "How are you?" ; + title4 ; + title5 "Bye bye!" ; + + %put %GetTitle() ; + + %put %GetTitle(1 3,dlm=c, qt=[]) ; + + %put %GetTitle(2:4,dlm=s, qt='') ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Get footnotes in different forms: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + footnote1 "First little footnote"; + footnote2 "Second little footnote"; + footnote3 "Third little footnote"; + + %put %GetTitle(1 2,type=f,dlm=s, qt="") ; + %put %GetTitle(2 3,type=f,dlm=c, qt='') ; + %put %GetTitle(1 3,type=f,dlm=d, qt=[]) ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%iffunc()` macro ###### + +## >>> `%iffunc()` macro: <<< ####################### + +The iffunc() macro function is a "lazy typer" wrapping up conditional execution. + +Instead typing: +~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = 1; + +%if (1=&x.) %then + %do; + %let test = TRUE; + %end; +%else + %do; + %let test = FALSE; + %end; + +%put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~ + +you can make it: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = 1; + +%let test = %iffunc((1=&x.),TRUE,FALSE); + +%put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~ + +The `%iffunc()` macro ca be nested in open code +in contrary to standard `%IF-%THEN-%ELSE`. + +The `minoperator` option is used to handle `IN` operator, +but the `IN` operator in the condition *has* to be surrounded +by spaces, e.g. `&x. in (1 2 3)`. +Condition of the form `&x. in(1 2 3)` (no space after `in`) will +result with an error. + +See examples below for the details. + +The `%iffunc()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%iffunc( + cond + ,true + ,false + <,v=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `cond` - *Required*, is a condition to be evaluated. + It **has** to be provided in brackets, + e.g., `(1=&x.)` or `(%scan(&x.,1)=A)`. + +2. `true` - *Required*, value returned when condition is true. + +3. `false` - *Required*, value returned when condition is false. + +4 `v=` - *Optional*, v for verbose. If set to `1` extra notes + are printed. +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple test: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = 1; + %let test = %iffunc((&x.=1),True,False); + %put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Verbose with `v=` in the `%put` statement: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %iffunc((TRUE=true),TRUE,FALSE,v=1); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Condition can be with decimals or text: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put True: %iffunc((9.9<10),TRUE,FALSE); + + %put False: %iffunc((A>B),TRUE,FALSE); + + %put True: %iffunc((1=1.0),TRUE,FALSE); + + %put False: %iffunc((1/3 = 0.5),TRUE,FALSE); + + %put True: %iffunc((.1+.1+.1+.1+.1+.1+.1+.1+.1+.1 = 1),TRUE,FALSE); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Macro-Functions works too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = A B C; + %put %iffunc((%scan(&x.,1)=A),Starts with "A"., Does not start with "A".); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Simple nesting (in open code): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x=0; + %let y=0; + + %put + %iffunc((&x.) + ,It is X. + ,%iffunc((&y.) + ,It is Y. + ,It is Z. + ,v=1) + ,v=1) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Special characters have to be masked: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %iffunc(1,%str(,),%str(;)); + %put %iffunc(0,%str(,),%str(;)); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** If you want to call macros there is a price. + The `%nrstr()` and `%unquote()` are required: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %macro doX(a,b); + %put >>> &a. &b; + data do_X; + set sashelp.class; + run; + %mend; + %macro doY(a,b); + %put ### &a. &b; + data do_Y; + set sashelp.cars; + run; + %mend; + %macro doZ(a,b); + %put @@@ &a. &b; + data do_Z; + set sashelp.iris; + run; + %mend; + + %let x=0; + %let y=0; + + %unquote( + %iffunc((&x.) + ,%nrstr(%doX(1,2)) + ,%iffunc((&y.) + ,%nrstr(%doY(3,4)) + ,%nrstr(%doZ(5,6)) + ,v=1) + ,v=1) + ) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Traffic lights with `NOTE:` and `ERROR:`, + Remember to handle the `IN` operator with an extra care. + Spaces are required around the `IN` operator. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = A; + %put %iffunc((&x. IN (A B C)),NOTE:,ERROR:) x=%superq(x); + + %let x = 7; + %put %iffunc((&x. IN (1 3 5)),NOTE:,ERROR:) x=%superq(x); + + %let x = 1.1; + %put %iffunc((&x. IN (1.1 2.1 3.1)),NOTE:,ERROR:) x=%superq(x); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Mixing `IN` operator with non-integer evaluation + requires `%sysevalf()` function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = Y; + %let y = 9.9; + + %put THIS will be False: %iffunc((&x. in (y Y) AND &y.<10),TRUE,FALSE); + + %put THIS will be True: %iffunc((&x. in (y Y) AND %sysevalf(&y.<10)),TRUE,FALSE); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%infmt()` macro ###### + +## >>> `%infmt()` macro: <<< ####################### + +The infmt() macro function returns a `value` read in by an `informat`, +it is a wrapper to `inputN()` and `inputC()` functions. + +See examples below for the details. + +The `%infmt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%infmt( + value + ,informat + <,type=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `value` - *Required*, a value to be formatted. + +2. `informat` - *Required*, a name of a format to be used, + character format should be preceded by the `$`. + +* `type=n` - *Optional*, defines type of the informat. If the informat + name is preceded by the `$` then C is set automatically. + If the character format name is without `$` then set + value to `C` yourself. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Informatting values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %infmt(111, 7.2); + %put %infmt(111.234, 7.2); + + %put %infmt($111, dollar10.2); + %put %infmt($111.234, dollar10.2); + + %put %infmt(abc, $upcase.); + + %put %infmt(12mar45, date9.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%letters()` macro ###### + +## >>> `%letters()` macro: <<< ####################### + +The letters() macro function allows to print a list of Roman +letters starting from `start` up to `end` incremented by `by`. +The letters list can be uppercases or lowercase (parameter `c=U` or `c=L`), +can be quoted (e.g. `q=""` or `q=[]`), and can be separated by `s=`. + +Values of `start`, `end`, and `by` have to be integers in range between 1 ad 26. + +See examples below for the details. + +The `%letters()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%letters( + range + <,c=> + <,q=> + <,s=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `range` - *Required*, letters selector in form `start:end:by`. + Lists letters from `start` to `end` by `by`. + Values of `start`, `end`, and `by` are separated by + colon and must be between 1 ad 26. + If value is outside range it is set to + `start=1`, `en=26`, and `by=1`. If `end` is missing + then is set to value of `start`. + If `end` is smaller than `start` list is reversed + +* `c = U` - *Optional*, it is a lowercase letters indicator. + Select `L` or `l`. Default value is `U` for upcase. + +* `q = ` - *Optional*, it is a quite around elements of the list. + Default value is empty. Use `%str()` for one quote symbol. + If there are multiple symbols, only the first and the + second are selected as a preceding and trailing one, + e.g. `q=[]` gives `[A] [B] ... [Z]`. + +* `s = %str( )` - *Optional*, it is a separator between + elements of the list. Default value is space. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Space-separated list of capital letters from A to Z: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:1); + + %put %letters(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** First, thirteenth, and last letter: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1) %letters(13) %letters(26); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Every third lowercase letter, i.e. `a d g j m p s v y`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:3,c=L); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Lists with separators: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:2,s=#); + %put %letters(1:26:3,s=%str(;)); + %put %letters(1:26:4,s=%str(,)); + %put %letters(1:26,s=); + %put %letters(1:26,s==); + %put %letters(1:26,s=/); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Every second letter with quotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:2,q=%str(%')); + %put %letters(2:26:2,q=%str(%")); + + %put %letters(1:26:2,q=''); + %put %letters(2:26:2,q=""); + + %put %letters(1:26:2,q=<>); + %put %letters(2:26:2,q=\/); + + %put %letters(1:26:2,q=()); + %put %letters(2:26:2,q=][); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Mix of examples 4, 5, and 6: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26,c=L,q='',s=%str(, )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** If `end` is smaller than `start` list is reversed: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(26:1:2,q=''); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%libpath()` macro ###### + +## >>> `%libPath()` macro: <<< ####################### + +The libPath() macro function returns path to a library, +it is a wrapper to `pathname()` function for libraries. + +See examples below for the details. + +The `%libPath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%libPath( + libref +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `libref` - *Required*, a libref from the `libname` statement. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Return path to `WORK` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %libPath(WORK); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Return path to `SASHELP` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %libPath(SASHELP); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%minclude()` macro ###### + +## >>> `%mInclude()` macro: <<< ####################### + +The mInclude() macro is a macrolanguage version of the SAS `%include` statement. +But it allows for "embedding any code anywhere into SAS programs". + +Macro was inspired by *Leonid Batkhan* and his blog post: + +"Embedding any code anywhere into SAS programs" from May 30, 2023. + +Link: `https://blogs.sas.com/content/sgf/2023/05/30/embedding-any-code-anywhere-into-sas-programs/` + +The implementation presented, in contrary to inspiration source, is +based on the `doSubL()` function and a list of global +macro variables of the form `______` (six underscores and a number). + +See examples below for the details. + +The `%mInclude()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%mInclude( + < f> + <,source=> + <,lrecl=> + <,symdel=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `f` - *Required*, a SAS `fileref` or a **quoted** path + to the included file. + +*. `source=0` - *Optional*, default value is `0`. + Set to `1` if the source should be printed in the log. + +*. `lrecl=32767` - *Optional*, default value is `32767`. + Sets the `lrecl` value for the file width. + +*. `symdel=1` - *Optional*, default value is `1`. + Indicates if the global macro variables + `______1` to `______N` should be deleted + when the macro ends. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Embedding text in statements (the `%include` won't work here): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f "%workpath()/testFile1.txt"; + filename f list; + + data _null_; + file f; + put "13 14 15"; + run; + + resetline; + data testDataset; + set sashelp.class; + where age in ( %mInclude(f) ); + run; + + data testDataset2; + set sashelp.class; + where age in ( %mInclude(f,source=1) ); + run; + + filename f clear; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Embedding with direct path (mind those quotes!): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f "%workpath()/testFile2.txt"; + filename f list; + + %let someGlobalMacroVariable=17; + + data _null_; + file f; + put "options mprint;"; + do i=1 to 3; + put "data y; x = " i "; run;"; + put '%macro A' i +(-1) '(); %put ' i ' ** &someGlobalMacroVariable.; %mend; %A' i +(-1) '()'; + end; + put "options nomprint;"; + run; + + resetline; + %mInclude("%workpath()/testFile2.txt") + + %mInclude("%workpath()/testFile2.txt",source=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Embedding SQL code inside the pass through execution: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f2 "%workpath()/testSql.txt"; + + data _null_; + file f2; + input; + put _infile_; + cards4; + select + c2.make + , c2.model + , c2.type + , c2.invoice + , c2.date + + from + public.CARS_EU c2 + + where + c2.cylinders > 4 + and + c2.date > '2023-04-02' + ;;;; + run; + + + title 'the %include fails'; + proc sql; + connect to POSTGRES as PSGDB ( + server="127.0.0.1" + port=5432 + user="user" + password="password" + database="DB" + ); + + select * from connection to PSGDB + ( + %Include f2 / source2; + ) + ; + + disconnect from PSGDB; + quit; + + title 'the %mInclude works'; + proc sql; + connect to POSTGRES as PSGDB ( + server="127.0.0.1" + port=5432 + user="user" + password="password" + database="DB" + ); + + + select * from connection to PSGDB + ( + %mInclude(f2, source=1) + ) + ; + + disconnect from PSGDB; + quit; + + title; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** In a limited way and with help of the `resolve()` function, + it even works with IML's interface to R: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +resetline; +filename f3 TEMP; + +data _null_; + file f3; + infile cards4; + input; + put _infile_ ';'; %* a "semicolon" trick for R statements separation *; +cards4; +rModel <- lm(Weight ~ Height, data=Class, na.action="na.exclude") +print (rModel$call) +print (rModel) +;;;; +run; + + +proc iml; + codeText = resolve(' %mInclude(f3, source=1) '); + print codeText; + + call ExportDataSetToR("Sashelp.Class", "Class" ); + submit codeText / R; + &codeText + endsubmit; +quit; + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%monthshift()` macro ###### + +## >>> `%monthShift()` macro: <<< ####################### + +The monthShift() macro is a utility macro +which allows to shift "year-month" period by +a given number of "periods" (months). + +The result is in the `YYYYMM` format but can be altered. + +See examples below for the details. + +The `%monthShift()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%monthShift( + < Y> + <,M> + <,shift> + <,ofmt=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `Y` - *Optional*, a year from which counting starts. + If null the value is set to *system year*. + +2. `M` - *Optional*, a month from which counting starts. + If null the value is set to `1`. Can be a number + (`1` to `12`) or a name (`June`, `OCTOBER`) or + a three letters short (`JAN`, `apr`). + +3. `shift` - *Optional*, number of periods to shift. + If null the value is set to `0`. + Positive value shifts to the "future", + negative value shifts to the "past", + Can be an expression (e.g. `1+2*3`, see examples). + +* `ofmt=YYMMn6.` - *Optional*, it is a format name used to + display the result. Default value is `YYMMn6.` + See examples. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Shift one up and one down: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put + Past: %monthShift(2023, 1, -1) + Current: %monthShift(2023, 1 ) + Future: %monthShift(2023, 1, +1) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Shift by expression: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let n = 2; + %put + %monthShift(2023, 1, +1 + &n.*3) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Shift with default values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %monthShift(); + %put %monthShift(2023); + %put %monthShift(2023,Jan); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Shift with months names: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put + %monthShift(2023,Jan,-1) + %monthShift(2023,Feb,-2) + %monthShift(2023,Mar,-3) + %monthShift(2023,Apr,-4) + %monthShift(2023,May,-5) + %monthShift(2023,Jun,-6) + %monthShift(2023,Jul,-7) + %monthShift(2023,Aug,-8) + %monthShift(2023,Sep,-9) + %monthShift(2023,Oct,-10) + %monthShift(2023,Nov,-11) + %monthShift(2023,Dec,-12) + ; + + %put + %monthShift(2023,January,12) + %monthShift(2023,February,11) + %monthShift(2023,March,10) + %monthShift(2023,April,9) + %monthShift(2023,May,8) + %monthShift(2023,June,7) + %monthShift(2023,July,6) + %monthShift(2023,August,5) + %monthShift(2023,September,4) + %monthShift(2023,October,3) + %monthShift(2023,November,2) + %monthShift(2023,December,1) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Play with formatting: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put + %monthShift(2023, 1, +1 ) + %monthShift(2023, 1, +1, ofmt=yymm7. ) + %monthShift(2023, 1, +1, ofmt=yymmd7.) + %monthShift(2023, 1, +1, ofmt=yymms7.) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Read monthly data with `noDSNFERR` option: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data + A202210 A202211 A202212 + A202301 A202302 A202303 + A202304 A202305 A202306 + A202307 A202308 A202309 + ; + set sashelp.class; + run; + + + options noDSNFERR; + data ALL; + set + A%monthShift(2023, 9, -12) - A%monthShift(2023, 9) + ; + run; + options DSNFERR; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%replist()` macro ###### + +## >>> `%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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + + +--- + +## `%time()` macro ###### + +## >>> `%time()` macro: <<< ####################### + +The time() macro function is a "lazy typer" wrapping up `%sysfunc(time())`. + +See examples below for the details. + +The `%time()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%time() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `time()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `time()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %time(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `time()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %time(time8.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%today()` macro ###### + +## >>> `%today()` macro: <<< ####################### + +The today() macro function is a "lazy typer" wrapping up `%sysfunc(today())`. + +See examples below for the details. + +The `%today()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%today() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `today()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `today()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %today(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `today()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %today(yymmdd10.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%translate()` macro ###### + +## >>> `%translate()` macro: <<< ####################### + +The translate() macro function allows to replace bytes with bytes in text string. + +See examples below for the details. + +The `%translate()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%translate( + string + ,from + ,to +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `string` - *Required*, string to modify. + +2. `from` - *Required*, list of bytes to be replaced with + corresponding bytes from `to`. + +3. `to` - *Required*, list of bytes replacing + corresponding bytes from `from`. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Replace quotes and commas with apostrophes and spaces: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str("A", "B", "C"),%str(%",),%str(%' )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Unify all brackets; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str([A] {B} (C) ),{[(<>)]},(((())))); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Replace all digits with `*`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(QAZ1WSSX2EDC3RFV4TGB5YHN6UJM7IK8OL9P0,1234567890,**********); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Letters change: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str(A=B),AB,BA); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%tranwrd()` macro ###### + +## >>> `%tranwrd()` macro: <<< ####################### + +The tranwrd() macro function allows to replace substrings +with other substrings in text string. + +Returned string is unquoted by `%unquote()`. + +See examples below for the details. + +The `%tranwrd()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%tranwrd( + string + ,from + ,to + <,repeat> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `string` - *Required*, string to modify. + +2. `from` - *Required*, substring replaced with + corresponding string from `to`. + +3. `to` - *Required*, substring replacing + corresponding substring from `from`. + +4. `repeat` - *Optional*, number of times the replacing + should be repeated, default is 1. + Useful while removing multiple adjacent + characters, e.g. compress all multiple + spaces (see example 2). +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple text replacement: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(Miss Joan Smith,Miss,Ms.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Delete multiple spaces; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(%str(A B C),%str( ),%str( ),5); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Remove substring: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(ABCxyzABCABCxyzABC,ABC); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%workpath()` macro ###### + +## >>> `%workPath()` macro: <<< ####################### + +The workPath() macro function returns path to the `WORK` library, +it is a wrapper to `pathname("work", "L")` function. + +See examples below for the details. + +The `%workPath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%workPath() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +*) No arguments. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Create new library inside `WORK` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlCreateDir; + libname NEW "%workPath()/new"; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + + +--- + +# License ###### + +Copyright (c) 2020 - 2023 Bartosz Jablonski + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + diff --git a/hist/1.42.0/baseplus.zip b/hist/1.42.0/baseplus.zip new file mode 100644 index 0000000000000000000000000000000000000000..cb055acd355f09c255e4cf567c4e7f50a135dd1e GIT binary patch literal 307875 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

kQit)lRuJJ3eC$TZYs9 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 k>E8O-cl9?V#R{S%`EaI{*Lx literal 0 HcmV?d00001 diff --git a/hist/1.42.0/baseplus_RainCloudPlot_Ex0.png b/hist/1.42.0/baseplus_RainCloudPlot_Ex0.png new file mode 100644 index 0000000000000000000000000000000000000000..65a46d2469feddee376744d0c54d8611ec34e71c GIT binary patch literal 37349 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 U)p|EN3i(@3>Yilb9pfke3*nvhQvd(} literal 0 HcmV?d00001 diff --git a/hist/1.42.0/baseplus_RainCloudPlot_Ex3.png b/hist/1.42.0/baseplus_RainCloudPlot_Ex3.png new file mode 100644 index 0000000000000000000000000000000000000000..94e815e2d165b5a59931a82fb670ff90d1120611 GIT binary patch literal 84018 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

l>pMqvFTMrE74_rS@_O#)s90ObdlF;B(eHcVfGz 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

MFD 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