12 Commits

Author SHA1 Message Date
SASPAC - SAS Packages Archive
0e83226bcc Merge pull request #47 from SASPAC/dev
The BasePlus package [ver. 2.3.0]
2025-08-04 15:52:21 +02:00
SASPAC - SAS Packages Archive
2c7713a45c Merge pull request #46 from SASPAC/dev
The BasePlus package [ver. 2.1.0]
2024-09-09 13:20:22 +02:00
SASPAC - SAS Packages Archive
88092381eb Merge pull request #44 from SASPAC/dev
WUSS 2024 conference - materials on %RainCloudPlot() macro
2024-09-05 07:40:19 +02:00
SASPAC - SAS Packages Archive
dd158fc596 Merge pull request #43 from SASPAC/dev
The BasePlus package [ver. 2.0.1]
2024-07-24 08:14:52 +02:00
SASPAC - SAS Packages Archive
f6f520b0d0 Merge pull request #42 from SASPAC/dev
The BasePlus package [ver. 2.0.0]
2024-07-23 22:16:25 +02:00
SASPAC - SAS Packages Archive
4b19a7438c Merge pull request #41 from SASPAC/dev
The BasePlus package [ver. 1.43.0]
2024-07-22 09:08:06 +02:00
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
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
SASPAC - SAS Packages Archive
3cecb0a5c0 Merge pull request #38 from SASPAC/dev
The BasePlus package [ver. 1.41.0]
2024-06-09 18:54:18 +02:00
SASPAC - SAS Packages Archive
ab783382a8 Merge pull request #37 from SASPAC/dev
The BasePlus package [ver. 1.40.0]
2024-06-06 22:20:35 +02:00
SASPAC - SAS Packages Archive
c88e524d3d Merge pull request #36 from SASPAC/dev
The BasePlus package [ver. 1.39.0]
2024-05-29 16:44:04 +02:00
SASPAC - SAS Packages Archive
3aaf69ebab Merge pull request #35 from SASPAC/dev
The BasePlus package [ver. 1.38.0]
2024-03-12 14:46:39 +01:00
36 changed files with 17 additions and 46434 deletions

View File

@@ -53,12 +53,10 @@ libname NEW "%workPath()/new";
%put %monthShift(2023,1,-5); %put %monthShift(2023,1,-5);
%put #%expandDataSetsList(lib=sashelp,datasets=_all_)#; %put #%expandDataSetsList(lib=sashelp,datasets=_all_)#;
%workLib(ABC)
``` ```
and more. and more.
SHA256 digest for the latest version of `BasePlus`: F*6394CE27FBCF48D475F682CBCF8CA8B4FDD6D40D2672EF571F4A561BDDF274A6 SHA256 digest for the latest version of `BasePlus`: F*71DC1AFA709B2977E8AEA452721776F62EEC8240ABD658AC83AA6D4310FC49B6
[**Documentation for BasePlus**](./baseplus.md "Documentation for BasePlus") [**Documentation for BasePlus**](./baseplus.md "Documentation for BasePlus")

View File

@@ -9,22 +9,22 @@
### Version information: ### Version information:
- Package: BasePlus - Package: BasePlus
- Version: 3.1.1 - Version: 2.3.0
- Generated: 2025-11-05T15:10:31 - Generated: 2025-08-04T14:12:30
- Author(s): Bartosz Jablonski (yabwon@gmail.com), contributors are Quentin McMullen (qmcmullen@gmail.com) and Ryo Nakaya (nakaya.ryou@gmail.com) - Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com)
- Maintainer(s): Bartosz Jablonski (yabwon@gmail.com) - Maintainer(s): Bartosz Jablonski (yabwon@gmail.com)
- License: MIT - License: MIT
- File SHA256: `F*6394CE27FBCF48D475F682CBCF8CA8B4FDD6D40D2672EF571F4A561BDDF274A6` for this version - File SHA256: `F*71DC1AFA709B2977E8AEA452721776F62EEC8240ABD658AC83AA6D4310FC49B6` for this version
- Content SHA256: `C*3CA28DF8F3E6D6670D7FD44788D347452F24F4BCF18115873E7EBC742FE30CA4` for this version - Content SHA256: `C*9CEDE8C64D2C619EBC27AC85B4904D2CE2423C832C6C313E526946FC1417EFD1` for this version
--- ---
# The `BasePlus` package, version: `3.1.1`; # The `BasePlus` package, version: `2.3.0`;
--- ---
# The BasePlus package [ver. 3.1.1] <a name="baseplus-package"></a> ############################################### # The BasePlus package [ver. 2.3.0] <a name="baseplus-package"></a> ###############################################
The **BasePlus** package implements useful The **BasePlus** package implements useful
functions and functionalities I miss in the BASE SAS. functions and functionalities I miss in the BASE SAS.
@@ -47,8 +47,7 @@ Kudos to all who inspired me to generate this package:
*Quentin McMullen*, *Quentin McMullen*,
*Kurt Bremser*, *Kurt Bremser*,
*Leonid Batkhan*, *Leonid Batkhan*,
*Louise Hadden*, *Louise Hadden*.
*Ryo Nakaya*.
--- ---
@@ -388,11 +387,6 @@ proc print data=b_x;
run; run;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**EXAMPLE 29** Create library ABC assigned to `<WORK>/ABC` directory:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%workLib(abc)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- ---
--- ---
@@ -409,7 +403,7 @@ localization (only if additional content was deployed during the installation pr
-------------------------------------------------------------------- --------------------------------------------------------------------
*SAS package generated by SAS Package Framework, version `20251017`* *SAS package generated by SAS Package Framework, version `20250729`*
-------------------------------------------------------------------- --------------------------------------------------------------------
@@ -496,11 +490,10 @@ The `BasePlus` package consists of the following content:
78. [`%translate()` macro ](#translate-macro-78 ) 78. [`%translate()` macro ](#translate-macro-78 )
79. [`%tranwrd()` macro ](#tranwrd-macro-79 ) 79. [`%tranwrd()` macro ](#tranwrd-macro-79 )
80. [`%unifyvarscasesize()` macro ](#unifyvarscasesize-macro-80 ) 80. [`%unifyvarscasesize()` macro ](#unifyvarscasesize-macro-80 )
81. [`%worklib()` macro ](#worklib-macro-81 ) 81. [`%workpath()` macro ](#workpath-macro-81 )
82. [`%workpath()` macro ](#workpath-macro-82 )
83. [License note](#license) 82. [License note](#license)
--- ---
@@ -845,7 +838,6 @@ The basic syntax is the following, the `<...>` means optional parameters:
<,longFormat=> <,longFormat=>
<,fileExt=> <,fileExt=>
<,maxDepth=> <,maxDepth=>
<,backslashSens=>
) )
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
@@ -876,11 +868,6 @@ The basic syntax is the following, the `<...>` means optional parameters:
* `maxDepth=0` - *Optional*, if not zero then indicates * `maxDepth=0` - *Optional*, if not zero then indicates
maximum depth of search in the root path. maximum depth of search in the root path.
* `backslashSens=0` - *Optional*, if not zero then it indicates
that backslash(`\`) symbol in files and dirs
names is detectable under Linux. Accepted
values: `0` and `1`. Ignored under Windows.
### EXAMPLES AND USECASES: #################################################### ### EXAMPLES AND USECASES: ####################################################
@@ -6029,11 +6016,6 @@ See examples below for the details.
The `%findDSwithVarVal()` macro does not execute as a pure macro code. The `%findDSwithVarVal()` macro does not execute as a pure macro code.
**NOTE:**
When a library is assigned with different engine than:
"BASE","SPDE","V6","V7","V8","V9","CVP"
observation number is not returned.
### SYNTAX: ################################################################### ### SYNTAX: ###################################################################
The basic syntax is the following, the `<...>` means optional parameters: The basic syntax is the following, the `<...>` means optional parameters:
@@ -6668,7 +6650,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
The letters() macro function allows to print a list of Roman The letters() macro function allows to print a list of Roman
letters starting from `start` up to `end` incremented by `by`. letters starting from `start` up to `end` incremented by `by`.
The letters list can be uppercase or lowercase (parameter `c=U` or `c=L`), The letters list can be uppercases or lowercase (parameter `c=U` or `c=L`),
can be quoted (e.g. `q=""` or `q=[]`), and can be separated by `s=`. can be quoted (e.g. `q=""` or `q=[]`), and can be separated by `s=`.
Values of `start`, `end`, and `by` have to be integers in range between 1 ad 26. Values of `start`, `end`, and `by` have to be integers in range between 1 ad 26.
@@ -6696,12 +6678,12 @@ The basic syntax is the following, the `<...>` means optional parameters:
Values of `start`, `end`, and `by` are separated by Values of `start`, `end`, and `by` are separated by
colon and must be between 1 ad 26. colon and must be between 1 ad 26.
If value is outside range it is set to If value is outside range it is set to
`start=1`, `end=26`, and `by=1`. If `end` is missing `start=1`, `en=26`, and `by=1`. If `end` is missing
then it is set to value of `start`. then is set to value of `start`.
If `end` is smaller than `start` list is reversed If `end` is smaller than `start` list is reversed
* `c = U` - *Optional*, it is a lowercase letters indicator. * `c = U` - *Optional*, it is a lowercase letters indicator.
Select `L` or `l`. Default value is `U` for uppercase. Select `L` or `l`. Default value is `U` for upcase.
* `q = ` - *Optional*, it is a quite around elements of the list. * `q = ` - *Optional*, it is a quite around elements of the list.
Default value is empty. Use `%str()` for one quote symbol. Default value is empty. Use `%str()` for one quote symbol.
@@ -7631,71 +7613,7 @@ run;
--- ---
## `%worklib()` macro <a name="worklib-macro-81"></a> ###### ## `%workpath()` macro <a name="workpath-macro-81"></a> ######
## >>> `%workLib()` macro: <<< <a name="worklib-macro"></a> #######################
The `%workLib()` macro creates and assigns a WORK-scoped sub-library.
Purpose:
The macro creates (if needed) and assigns a SAS library as a sub-directory
under the current `WORK` location. This is useful for isolating temporary
outputs per task while ensuring automatic cleanup at the end of the SAS session.
Basic engines libraries, like `BASE`, `V*`, and simple `SPDE`, can be set.
### SYNTAX: ###################################################################
The basic syntax is the following, the `<...>` means optional parameters:
~~~~~~~~~~~~~~~~~~~~~~~sas
%workLib(lib,<engine>)
~~~~~~~~~~~~~~~~~~~~~~~
**Arguments description**:
- `lib` - *Required*: Name of a library (and sub-folder)
to create under WORK. The value must be a valid
nonempty SAS libref (8 characters max, starting
with a letter or underscore).
- `engine` - *Optional*, Name of a basic, directory level,
SAS engine, e.g. `BASE`. When empty the default
engine is used.
---
### Details
- Builds a target path: `<WORK>/<lib>`.
- All data written to this libref are temporary and will be removed
when the WORK library is cleared at session end.
- If a directory with the same name already exists under WORK,
the macro prints a note and simply assigns the LIBNAME to
that location.
- The `dcreate()` function is used to create sub-directory.
### EXAMPLES AND USECASES: ####################################################
**EXAMPLE 1.** Create library ABC assigned to `<WORK>/ABC` directory:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%workLib(abc)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**EXAMPLE 2.** Create libraries with different engines:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%workLib(b,BASE)
%workLib(v,V6) %* for Windows only.;
%workLib(s,SPDE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---
---
## `%workpath()` macro <a name="workpath-macro-82"></a> ######
## >>> `%workPath()` macro: <<< <a name="workpath-macro"></a> ####################### ## >>> `%workPath()` macro: <<< <a name="workpath-macro"></a> #######################

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB