4 Commits

Author SHA1 Message Date
SASPAC - SAS Packages Archive
817fa27b6b Merge pull request #40 from SASPAC/dev
The BasePlus package [ver. 1.42.1]
2024-07-19 10:33:21 +02:00
Bart Jablonski
bc7b2b5ee8 The BasePlus package [ver. 1.42.1]
## The BasePlus package [ver. 1.42.1]

### Changes:

Update to the
[`%rainCloudPlot()`](https://github.com/SASPAC/baseplus/blob/1.42.1/baseplus.md#raincloudplot-macro-17)
macro, input parameters checks added.

See [documentation](https://github.com/SASPAC/baseplus/blob/main/baseplus.md) for details.

---

SHA256 digest for BasePlus: `F*2129F372D72A34A4FB1F368A581EA33D64AD4D8F3707213D5B9553F3C3122003`

---
2024-07-19 10:29:38 +02:00
SASPAC - SAS Packages Archive
94ec410027 Merge pull request #39 from SASPAC/dev
The BasePlus package [ver. 1.42.0]
2024-07-10 23:10:40 +02:00
Bart Jablonski
95a0f71940 The BasePlus package [ver. 1.42.0]
## The BasePlus package [ver. 1.42.0]

### Changes:

New macro
[`%GenerateOneLiners()`](https://github.com/SASPAC/baseplus/blob/1.42.0/baseplus.md#generateoneliners-macro)
allowing to generate "one liner" functions of the form:

~~~~sas
%macro FUNCTION()/parmbuff;
%sysfunc(FUNCTION&syspbuff)
%mend FUNCTION;
~~~~

See [documentation](https://github.com/SASPAC/baseplus/blob/main/baseplus.md) for details.

---

SHA256 digest for BasePlus: `F*6012D1475AE22A4445C032D8EAE092BE515D8CD2AE390CC087F5987ACB8BCB13`

---

### Example

~~~~sas
%GenerateOneLiners(
  listOfFunctions=SUM MEAN MEDIAN VAR
, prefix=_)

%put
  %_SUM(1,2,3,4,5,6)
  %_MEAN(1,2,3,4,5,6)
  %_MEDIAN(1,2,3,4,5,6)
  %_VAR(1,2,3,4,5,6)
;
~~~~
2024-07-10 23:07:23 +02:00
21 changed files with 14638 additions and 35 deletions

View File

@@ -54,7 +54,7 @@ libname NEW "%workPath()/new";
```
and more.
SHA256 digest for the latest version of `BasePlus`: F*6760DDF382E7CA9A1291F028FA7F2BACB68A3D31CEA3A85104E13EA08645AEF1
SHA256 digest for the latest version of `BasePlus`: F*2129F372D72A34A4FB1F368A581EA33D64AD4D8F3707213D5B9553F3C3122003
[**Documentation for BasePlus**](./baseplus.md "Documentation for BasePlus")

View File

@@ -9,22 +9,22 @@
### Version information:
- Package: BasePlus
- Version: 1.41.0
- Generated: 2024-06-09T18:22:04
- Version: 1.42.1
- Generated: 2024-07-19T10:19:18
- Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com)
- Maintainer(s): Bartosz Jablonski (yabwon@gmail.com)
- License: MIT
- File SHA256: `F*6760DDF382E7CA9A1291F028FA7F2BACB68A3D31CEA3A85104E13EA08645AEF1` for this version
- Content SHA256: `C*850DEDF85E36C971713B7E3B29AC703C570A89479D47799F1482216E4F1F52FC` for this version
- File SHA256: `F*2129F372D72A34A4FB1F368A581EA33D64AD4D8F3707213D5B9553F3C3122003` for this version
- Content SHA256: `C*565555B57455548ABAFB1E30A77C9BEE008F601697300B01518FD05A97A1F9F9` for this version
---
# The `BasePlus` package, version: `1.41.0`;
# The `BasePlus` package, version: `1.42.1`;
---
# The BasePlus package [ver. 1.41.0] <a name="baseplus-package"></a> ###############################################
# The BasePlus package [ver. 1.42.1] <a name="baseplus-package"></a> ###############################################
The **BasePlus** package implements useful
functions and functionalities I miss in the BASE SAS.
@@ -384,12 +384,13 @@ localization (only if additional content was deployed during the installation pr
--------------------------------------------------------------------
*SAS package generated by SAS Package Framework, version `20240529`*
*SAS package generated by SAS Package Framework, version `20240711`*
--------------------------------------------------------------------
# The `BasePlus` package content
The `BasePlus` package consists of the following content:
1. [`%bppipe()` macro ](#bppipe-macro-1 )
2. [`%deduplistc()` macro ](#deduplistc-macro-2 )
3. [`%deduplistp()` macro ](#deduplistp-macro-3 )
@@ -453,22 +454,23 @@ The `BasePlus` package consists of the following content:
61. [`%filepath()` macro ](#filepath-macro-61 )
62. [`%finddswithvarval()` macro ](#finddswithvarval-macro-62 )
63. [`%fmt()` macro ](#fmt-macro-63 )
64. [`%gettitle()` macro ](#gettitle-macro-64 )
65. [`%iffunc()` macro ](#iffunc-macro-65 )
66. [`%infmt()` macro ](#infmt-macro-66 )
67. [`%letters()` macro ](#letters-macro-67 )
68. [`%libpath()` macro ](#libpath-macro-68 )
69. [`%minclude()` macro ](#minclude-macro-69 )
70. [`%monthshift()` macro ](#monthshift-macro-70 )
71. [`%replist()` macro ](#replist-macro-71 )
72. [`%time()` macro ](#time-macro-72 )
73. [`%today()` macro ](#today-macro-73 )
74. [`%translate()` macro ](#translate-macro-74 )
75. [`%tranwrd()` macro ](#tranwrd-macro-75 )
76. [`%workpath()` macro ](#workpath-macro-76 )
64. [`%generateoneliners()` macro ](#generateoneliners-macro-64 )
65. [`%gettitle()` macro ](#gettitle-macro-65 )
66. [`%iffunc()` macro ](#iffunc-macro-66 )
67. [`%infmt()` macro ](#infmt-macro-67 )
68. [`%letters()` macro ](#letters-macro-68 )
69. [`%libpath()` macro ](#libpath-macro-69 )
70. [`%minclude()` macro ](#minclude-macro-70 )
71. [`%monthshift()` macro ](#monthshift-macro-71 )
72. [`%replist()` macro ](#replist-macro-72 )
73. [`%time()` macro ](#time-macro-73 )
74. [`%today()` macro ](#today-macro-74 )
75. [`%translate()` macro ](#translate-macro-75 )
76. [`%tranwrd()` macro ](#tranwrd-macro-76 )
77. [`%workpath()` macro ](#workpath-macro-77 )
98. [License note](#license)
78. [License note](#license)
---
@@ -5853,7 +5855,125 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%gettitle()` macro <a name="gettitle-macro-64"></a> ######
## `%generateoneliners()` macro <a name="generateoneliners-macro-64"></a> ######
## >>> `%GenerateOneLiners()` macro: <<< <a name="generateoneliners-macro"></a> #######################
The `%GenerateOneLiners()` macro is a "macro-generator" dedicated
to "lazy typers".
It allows to generate macro wrappers for functions
that have the following form:
~~~~~~~~~~~~~~~~~~~~~~~sas
%macro FUNCTION()/parmbuff;
%sysfunc(FUNCTION&syspbuff)
%mend FUNCTION;
%macro qFUNCTION()/parmbuff;
%qsysfunc(FUNCTION&syspbuff)
%mend qFUNCTION;
~~~~~~~~~~~~~~~~~~~~~~~
See examples below for the details.
The `%GenerateOneLiners()` macro is not pure macro code.
### SYNTAX: ###################################################################
The basic syntax is the following, the `<...>` means optional parameters:
~~~~~~~~~~~~~~~~~~~~~~~sas
%GenerateOneLiners(
<,listOfFunctions=>
<,prefix=>
)
~~~~~~~~~~~~~~~~~~~~~~~
**Arguments description**:
1. `listOfFunctions` - *Required*, is a space separated list of
valid SAS functions. Default value is:
`CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`.
2. `prefix` - *Optional*, a prefix added to the name
of a created macro.
---
### EXAMPLES AND USECASES: ####################################################
**EXAMPLE 1.** Create list of macrofunctions for
`CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%GenerateOneLiners(prefix=_)
%let a = 1,2,3,4,5,6;
%put %_CATX(%str( ),&a.);
%put %_CATQ(2A,&a.);
%put %_QCATQ(1AMD,%str(,),&a.);
%let x=a 1 b 2 c 3 d 4 e 5 f 6 g;
%put %_COMPRESS(&x.);
%put %_COMPRESS(&x.,,ka);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**EXAMPLE 2.** Create list of macrofunctions for
`SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS`:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%GenerateOneLiners(
listOfFunctions=SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS
, prefix=_)
%put
%_SUM(1,2,3,4,5,6)
%_MEAN(1,2,3,4,5,6)
%_MEDIAN(1,2,3,4,5,6)
%_VAR(1,2,3,4,5,6)
;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**EXAMPLE 3.** Some other lists:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%GenerateOneLiners(prefix=_
, listOfFunctions=CDF PDF RAND QUANTILE SQUANTILE SDF logCDF logPDF logSDF RMS
)
%GenerateOneLiners(prefix=_
, listOfFunctions=YEAR QTR MONTH WEEK DAY HOUR MINUTE SECOND
)
%GenerateOneLiners(prefix=_
, listOfFunctions=PCTL1 PCTL2 PCTL3 PCTL4 PCTL5 PCTL
)
%GenerateOneLiners(prefix=_
, listOfFunctions=YYQ MDY HMS INTCK INTNX SLEEP
)
%GenerateOneLiners(prefix=_
, listOfFunctions=WHICHC WHICHN
)
%GenerateOneLiners(prefix=_
, listOfFunctions=SYMEXIST SYMGLOBL SYMLOCAL
)
%GenerateOneLiners(prefix=_
, listOfFunctions=PRXCHANGE PRXMATCH PRXPAREN PRXPARSE
)
%GenerateOneLiners(prefix=_
, listOfFunctions=MD5 SHA256 HASHING
)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---
---
## `%gettitle()` macro <a name="gettitle-macro-65"></a> ######
## >>> `%getTitle()` macro: <<< <a name="gettitle-macro"></a> #######################
@@ -5939,7 +6059,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%iffunc()` macro <a name="iffunc-macro-65"></a> ######
## `%iffunc()` macro <a name="iffunc-macro-66"></a> ######
## >>> `%iffunc()` macro: <<< <a name="iffunc-macro"></a> #######################
@@ -6140,7 +6260,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%infmt()` macro <a name="infmt-macro-66"></a> ######
## `%infmt()` macro <a name="infmt-macro-67"></a> ######
## >>> `%infmt()` macro: <<< <a name="infmt-macro"></a> #######################
@@ -6197,7 +6317,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%letters()` macro <a name="letters-macro-67"></a> ######
## `%letters()` macro <a name="letters-macro-68"></a> ######
## >>> `%letters()` macro: <<< <a name="letters-macro"></a> #######################
@@ -6315,7 +6435,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%libpath()` macro <a name="libpath-macro-68"></a> ######
## `%libpath()` macro <a name="libpath-macro-69"></a> ######
## >>> `%libPath()` macro: <<< <a name="libpath-macro"></a> #######################
@@ -6360,7 +6480,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%minclude()` macro <a name="minclude-macro-69"></a> ######
## `%minclude()` macro <a name="minclude-macro-70"></a> ######
## >>> `%mInclude()` macro: <<< <a name="minclude-macro"></a> #######################
@@ -6573,7 +6693,7 @@ quit;
---
## `%monthshift()` macro <a name="monthshift-macro-70"></a> ######
## `%monthshift()` macro <a name="monthshift-macro-71"></a> ######
## >>> `%monthShift()` macro: <<< <a name="monthshift-macro"></a> #######################
@@ -6722,7 +6842,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%replist()` macro <a name="replist-macro-71"></a> ######
## `%replist()` macro <a name="replist-macro-72"></a> ######
## >>> `%repList()` macro: <<< <a name="replist-macro"></a> #######################
@@ -6838,7 +6958,7 @@ run;
---
## `%time()` macro <a name="time-macro-72"></a> ######
## `%time()` macro <a name="time-macro-73"></a> ######
## >>> `%time()` macro: <<< <a name="time-macro"></a> #######################
@@ -6881,7 +7001,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%today()` macro <a name="today-macro-73"></a> ######
## `%today()` macro <a name="today-macro-74"></a> ######
## >>> `%today()` macro: <<< <a name="today-macro"></a> #######################
@@ -6924,7 +7044,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%translate()` macro <a name="translate-macro-74"></a> ######
## `%translate()` macro <a name="translate-macro-75"></a> ######
## >>> `%translate()` macro: <<< <a name="translate-macro"></a> #######################
@@ -6988,7 +7108,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%tranwrd()` macro <a name="tranwrd-macro-75"></a> ######
## `%tranwrd()` macro <a name="tranwrd-macro-76"></a> ######
## >>> `%tranwrd()` macro: <<< <a name="tranwrd-macro"></a> #######################
@@ -7055,7 +7175,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
---
## `%workpath()` macro <a name="workpath-macro-76"></a> ######
## `%workpath()` macro <a name="workpath-macro-77"></a> ######
## >>> `%workPath()` macro: <<< <a name="workpath-macro"></a> #######################

Binary file not shown.

7241
hist/1.42.0/baseplus.md Normal file

File diff suppressed because it is too large Load Diff

BIN
hist/1.42.0/baseplus.zip Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

7242
hist/1.42.1/baseplus.md Normal file

File diff suppressed because it is too large Load Diff

BIN
hist/1.42.1/baseplus.zip Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB