From 9dab7aeda27fa5931621318c455fd135ebb29c1c Mon Sep 17 00:00:00 2001 From: "Bart Jablonski (yabwon)" Date: Fri, 30 Sep 2022 18:19:45 +0200 Subject: [PATCH] The BasePlus package [ver. 1.17] Initial commit of the package. --- baseplus.md | 3957 ++++++++++++++++++++++++++++++ baseplus.zip | Bin 0 -> 84738 bytes baseplus_RainCloudPlot_Ex0_9.png | Bin 0 -> 42001 bytes baseplus_RainCloudPlot_Ex1.png | Bin 0 -> 36444 bytes baseplus_RainCloudPlot_Ex2a.png | Bin 0 -> 53192 bytes baseplus_RainCloudPlot_Ex2b.png | Bin 0 -> 67970 bytes hist/1.17/baseplus.zip | Bin 0 -> 84738 bytes 7 files changed, 3957 insertions(+) create mode 100644 baseplus.md create mode 100644 baseplus.zip create mode 100644 baseplus_RainCloudPlot_Ex0_9.png create mode 100644 baseplus_RainCloudPlot_Ex1.png create mode 100644 baseplus_RainCloudPlot_Ex2a.png create mode 100644 baseplus_RainCloudPlot_Ex2b.png create mode 100644 hist/1.17/baseplus.zip diff --git a/baseplus.md b/baseplus.md new file mode 100644 index 0000000..2f53b8a --- /dev/null +++ b/baseplus.md @@ -0,0 +1,3957 @@ +- [The BasePlus package](#baseplus-package) +- [Content description](#content-description) + * [`%getVars()` macro](#getvars-macro) + * [`%QgetVars()` macro](#qgetvars-macro) + * [`%symdelGlobal()` macro](#symdelglobal-macro) + * [`bool.` format](#bool-format) + * [`boolz.` format](#boolz-format) + * [`ceil.` format](#ceil-format) + * [`floor.` format](#floor-format) + * [`int.` format](#int-format) + * [`arrFill()` subroutine](#arrfill-subroutine) + * [`arrFillC()` subroutine](#arrfillc-subroutine) + * [`arrMissFill()` subroutine](#arrmissfill-subroutine) + * [`arrMissFillC()` subroutine](#arrmissfillc-subroutine) + * [`arrMissToLeft()` subroutine](#arrmisstoleft-subroutine) + * [`arrMissToLeftC()` subroutine](#arrmisstoleftc-subroutine) + * [`arrMissToRight()` subroutine](#arrmisstoright-subroutine) + * [`arrMissToRightC()` subroutine](#arrmisstorightc-subroutine) + * [`catXFc()` function](#catxfc-function) + * [`catXFi()` function](#catxfi-function) + * [`catXFj()` function](#catxfj-function) + * [`catXFn()` function](#catxfn-function) + * [`delDataset()` function](#deldataset-function) + * [`qsortInCbyProcProto()` proto function](#qsortincbyprocproto-proto-function) + * [`fromMissingToNumberBS()` function](#frommissingtonumberbs-function) + * [`fromNumberToMissing()` function](#fromnumbertomissing-function) + * [`quickSort4NotMiss()` subroutine](#quicksort4notmiss-subroutine) + * [`quickSortHash()` subroutine](#quicksorthash-subroutine) + * [`quickSortHashSDDV()` subroutine](#quicksorthashsddv-subroutine) + * [`quickSortLight()` subroutine](#quicksortlight-subroutine) + * [`%dedupListS()` macro](#deduplists-macro) + * [`%dedupListC()` macro](#deduplistc-macro) + * [`%dedupListP()` macro](#deduplistp-macro) + * [`%dedupListX()` macro](#deduplistx-macro) + * [`%QdedupListX()` macro](#qdeduplistx-macro) + * [`brackets.` format](#brackets-format) + * [`semicolon.` format](#semicolon-format) + * [`bracketsC()` function](#bracketsc-function) + * [`bracketsN()` function](#bracketsn-function) + * [`semicolonC()` function](#semicolonc-function) + * [`semicolonN()` function](#semicolonn-function) + * [`%zipEvalf()` macro](#zipevalf-macro) + * [`%QzipEvalf()` macro](#qzipevalf-macro) + * [`%functionExists()` macro](#functionexists-macro) + * [`%RainCloudPlot()` macro](#raincloudplot-macro) + * [`%zipLibrary()` macro](#ziplibrary-macro) + * [`%unzipLibrary()` macro](#unziplibrary-macro) + * [`%LDSN()` macro](#ldsn-macro) + * [`%LDsNm()` macro](#ldsnm-macro) + * [`%LVarNm()` macro](#lvarnm-macro) + * [`%LVarNmLab()` macro](#lvarnmlab-macro) + + + + * [License](#license) + +--- + +# The BasePlus package [ver. 1.17] ############################################### + +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 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*. + +--- + +### 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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**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 time 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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +Package contains: +1. macro deduplistc +2. macro deduplistp +3. macro deduplists +4. macro deduplistx +5. macro functionexists +6. macro getvars +7. macro ldsn +8. macro ldsnm +9. macro lvarnm +10. macro lvarnmlab +11. macro qdeduplistx +12. macro qgetvars +13. macro qzipevalf +14. macro raincloudplot +15. macro symdelglobal +16. macro unziplibrary +17. macro zipevalf +18. macro ziplibrary +19. format bool +20. format boolz +21. format ceil +22. format floor +23. format int +24. functions arrfill +25. functions arrfillc +26. functions arrmissfill +27. functions arrmissfillc +28. functions arrmisstoleft +29. functions arrmisstoleftc +30. functions arrmisstoright +31. functions arrmisstorightc +32. functions bracketsc +33. functions bracketsn +34. functions catxfc +35. functions catxfi +36. functions catxfj +37. functions catxfn +38. functions deldataset +39. functions semicolonc +40. functions semicolonn +41. format brackets +42. format semicolon +43. proto qsortincbyprocproto +44. functions frommissingtonumberbs +45. functions fromnumbertomissing +46. functions quicksort4notmiss +47. functions quicksorthash +48. functions quicksorthashsddv +49. functions quicksortlight + +*SAS package generated by generatePackage, version 20220830* + +The SHA256 hash digest for package BasePlus: +`56B260350FEB7D5118F581B9EFD1B9CE1F0298DCB9A4C000A7654E2FF3F0298C` + +--- +# Content description ############################################################################################ + +## >>> `%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) coma separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *"%getVars(sashelp.class,sep=%str(", "))"*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) coma 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) coma separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class,sep=%str(,),quote=%str(%"))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) coma 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(.*)(?>> `%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. + +--- + +## >>> `%symdelGlobal()` macro: <<< ####################### + +The `%symdelGlobal()` macro deletes all global macrovariables +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 macrovariable `________________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 macrovariables, 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 macrovariables 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_; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--- + +## >>> `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: <<< ####################### + +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: <<< ####################### + +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: <<< ####################### + +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: <<< ####################### + +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()` 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()` 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()` 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()` 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()` 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()` 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()` 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()` 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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `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: <<< ####################### + +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: <<< ####################### + +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: <<< ####################### + +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: <<< ####################### + +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))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `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: <<< ####################### + +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: <<< ####################### + +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()` 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()` 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()` 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()` 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. + +--- + +## >>> `%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 macrovariable. + +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.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%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 macrovariable. + +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: <<< ####################### + +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 macrovariable. + +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.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%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 macrovariable. + +**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.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%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 macrovariable. + +**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.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `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: <<< ####################### + +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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `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: <<< ####################### + +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. + +--- + +## >>> `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: <<< ####################### + +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. + +--- + +## >>> `%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. + +--- + +## >>> `%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 macrovariables: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%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); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%RainCloudPlot()` macro: <<< ####################### + +The RainCloudPlot() macro allow to plot Rain Cloud plots, i.e. pots 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=> + <,colorsList=> + <,monochrome=> + <,antialiasMax=> + <,title=> + <,footnote=> + <,catLabels=> + <,xLabels=> + <,catLabelPos=> + <,xLabelPos=> + <,formated=> + <,y2axis=> + <,y2axisLevels=> + <,y2axisValueAttrs=> + <,xaxisValueAttrs=> + <,xaxisTickstyle=> + + + <,VSCALE=> + <,KERNEL_K=> + <,KERNEL_C=> + + <,cleanTempData=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**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. + +* `rainDropSiz` - *Optional*, default value `5px`. + Size of data points in the "rain" plot. + +* `boxPlotSymbolSize` - *Optional*, default value `8px`. + Size of symbols on the box plot. + +* `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 axix 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 axix labels (horizontal). + When empty a data variable name is used. + For details see notes below. + +* `catLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on group axix (vertical). + Allowed values are `BOTTOM`, `CENTER`, `DATACENTER`, and `TOP`. + +* `xLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on data axix (horizontal). + Allowed values are `LEFT`, `CENTER`, `DATACENTER`, and `RIGHT`. + +* `formated` - *Optional*, default value `0`. + Indicates if values of the grouping variable should be formated. + +* `y2axis` - *Optional*, default value `1`. + Indicates if the righ vertical axix should be displayed. + +* `y2axisLevels` - *Optional*, default value `4`. + Indicates if the number of expected levels of values printed + on the right vertical axix. + +* `y2axisValueAttrs` - *Optional*, default value `Color=Grey`. + Allows to modify Y2 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!* + +***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`, + +***Other options***: + +* `cleanTempData` - *Optional*, default value `1`. + Indicates if temporary data sets should be deleted. + +--- + +### 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. + +* Kernel density estimates and basic statistics are calculated with `PROC UNIVARIATE`. + +* Plot is generated by `PROC SGPLOT` with `BAND`, `SCATTE`, 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. + +* 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); + 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; + output; + end; + + g = "C"; + do _N_ = 1 to 60; + x = 3*rannor(42)+7; + output; + end; + run; + + %RainCloudPlot(have, g, x) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output: +![Example 1](./baseplus_RainCloudPlot_Ex1.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, [$]" + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output: +![Example 2a](./baseplus_RainCloudPlot_Ex2a.png) +![Example 2b](./baseplus_RainCloudPlot_Ex2b.png) + + +--- + +## >>> `%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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%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. + +* `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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%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: <<< ####################### + +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()` macro works differently than the `%LDSN()` macro. + +The `%LDSN()` macro assumes that *both* libname and dataset options *are* +be passed as elements **inside** the macro argument, together with the data set name. 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()` macro, in contrary, assumes that both libname and dataset options are +passed **outside** the macro parameter, 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 overcomes some limitations the LDSN has. + +The **additional** feature of the `%LDSNM()` is that when the macro is called, +a global macrovariable is created. +The macro variable name is the text of the hashed data set name. +The macro variable value is the text of the unhashed data set name (i.e. 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 macro variable with name `DSN_BF1F8C4D6495B34A_` and with value: `JOHN "X" 'Y' DOG`. + +The macrovariable 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 macrovariable 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 considered as *"only dataset name"*, i.e. the macro does not +assume it contains 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: <<< ####################### + +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 to that 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 )`. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LVarNm( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +### EXAMPLES AND USE CASES: #################################################### + +**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: <<< ####################### + +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) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## License #################################################################### + +Copyright (c) 2020 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/baseplus.zip b/baseplus.zip new file mode 100644 index 0000000000000000000000000000000000000000..8935aae791677bd609e3d5daf614580630dacbc7 GIT binary patch literal 84738 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 PuD=iPMepZ%M_>3Gxf>Vv literal 0 HcmV?d00001 diff --git a/baseplus_RainCloudPlot_Ex1.png b/baseplus_RainCloudPlot_Ex1.png new file mode 100644 index 0000000000000000000000000000000000000000..4926f022347cce3502e7a880248d0965e77b1d27 GIT binary patch literal 36444 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 Vk6)A4w&9crNzoV23Pp7O`Y-k9C{X|a literal 0 HcmV?d00001 diff --git a/baseplus_RainCloudPlot_Ex2a.png b/baseplus_RainCloudPlot_Ex2a.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf24d5d463c33c8b2afbd698aa8a40d99469ef0 GIT binary patch literal 53192 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 HI&c36(j?PT literal 0 HcmV?d00001 diff --git a/baseplus_RainCloudPlot_Ex2b.png b/baseplus_RainCloudPlot_Ex2b.png new file mode 100644 index 0000000000000000000000000000000000000000..0d258fa628072da37574f93d1ae1b1b03776d28d GIT binary patch literal 67970 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