Compare commits

..

10 Commits

Author SHA1 Message Date
SASPAC - SAS Packages Archive 4a56a2b5ee Merge pull request #54 from SASPAC/dev
The BasePlus package [ver. 3.1.2]
2026-01-26 17:44:52 +01:00
Bart Jablonski 2fcb5086aa The BasePlus package [ver. 3.1.2]
The BasePlus package [ver. 3.1.2]

Package regenerated with SAS Packages Framework, version 20250126. No functional changes, documentation cleaned up.
2026-01-26 17:27:41 +01:00
SASPAC - SAS Packages Archive b9d5aac3aa Merge pull request #53 from SASPAC/dev
The BasePlus package [ver. 3.1.1]
2025-11-05 15:21:01 +01:00
Bart Jablonski 3b14b9cd3e The BasePlus package [ver. 3.1.1]
The BasePlus package [ver. 3.1.1]

Update:
- Minor updates `%dirsAndFiles()` macro.

- File SHA256: `F*6394CE27FBCF48D475F682CBCF8CA8B4FDD6D40D2672EF571F4A561BDDF274A6` for this version
- Content SHA256: `C*3CA28DF8F3E6D6670D7FD44788D347452F24F4BCF18115873E7EBC742FE30CA4` for this version
2025-11-05 15:19:21 +01:00
SASPAC - SAS Packages Archive 124cc01c3d Merge pull request #52 from SASPAC/dev
The BasePlus package [ver. 3.1.0]
2025-10-20 11:07:32 +02:00
Bart Jablonski 65dc1c510d The BasePlus package [ver. 3.1.0]
The BasePlus package [ver. 3.1.0]

Update:
- Update in macro `%findDSwithVarVal()`. To handle bigger range of engines, when a library is assigned with different engine than: "BASE","SPDE","V6","V7","V8","V9","CVP" observation number is not returned.

- File SHA256: `F*9FFBC40A2B7FC51161C7D6D120DADC3ACEF8087E4EB43BB1A3F0FBC1F1CBD5AC` for this version
- Content SHA256: `C*76C55A9F392EAB938D199144CC834EF332CD78BA8B98565FA003DEA509A33A3E` for this version
2025-10-20 11:01:34 +02:00
SASPAC - SAS Packages Archive 5be733fb98 Merge pull request #51 from SASPAC/dev
The BasePlus package [ver. 3.0.0]
2025-10-15 10:36:02 +02:00
Bart Jablonski eb43a1be93 The BasePlus package [ver. 3.0.0]
The BasePlus package [ver. 3.0.0]

New:
- New utility macro `%workLib()`, created in collaboration with Ryo Nakaya, added.

- File SHA256: `F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125D` for this version
- Content SHA256: `C*680412F6B403870A3A8975FC17300F7C92AEDECA48D3F242B5BC4E545DC6D313` for this version
2025-10-15 10:23:51 +02:00
SASPAC - SAS Packages Archive 7ff5b3de09 Merge pull request #50 from SASPAC/dev
The BasePlus package [ver. 2.4.1]
2025-09-05 10:43:14 +02:00
Bart Jablonski 0fab75eda8 The BasePlus package [ver. 2.4.1]
The BasePlus package [ver. 2.4.1]

Fix:
- Fix engine recognition code in `%splitDSintoBlocks()` macro.

- File SHA256: `F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76C` for this version
- Content SHA256: `C*27861ABABB412E8229FE25CD5EEA868F49BB3CBD805CCE65F321ADBC522FAC4E` for this version
2025-09-05 10:30:04 +02:00
20 changed files with 38831 additions and 20 deletions
+3 -1
View File
@@ -53,10 +53,12 @@ libname NEW "%workPath()/new";
%put %monthShift(2023,1,-5);
%put #%expandDataSetsList(lib=sashelp,datasets=_all_)#;
%workLib(ABC)
```
and more.
SHA256 digest for the latest version of `BasePlus`: F*19FE220C82DE4B9990B4AC352A9D9DEF5FAF2FD601BE756B2F3A2AC39CDAF381
SHA256 digest for the latest version of `BasePlus`: F*91A5AD4709A418704315EF37DDCF954522D4FB42808D406B3ED4DA560F6864C6
[**Documentation for BasePlus**](./baseplus.md "Documentation for BasePlus")
+97 -19
View File
@@ -9,22 +9,22 @@
### Version information:
- Package: BasePlus
- Version: 2.4.0
- Generated: 2025-08-07T17:06:16
- Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com)
- Version: 3.1.2
- Generated: 2026-01-26T15:57:25
- Author(s): Bartosz Jablonski (yabwon@gmail.com), contributors are Quentin McMullen (qmcmullen@gmail.com) and Ryo Nakaya (nakaya.ryou@gmail.com)
- Maintainer(s): Bartosz Jablonski (yabwon@gmail.com)
- License: MIT
- File SHA256: `F*19FE220C82DE4B9990B4AC352A9D9DEF5FAF2FD601BE756B2F3A2AC39CDAF381` for this version
- Content SHA256: `C*83DEF0C93481B1C77494531E5CE9F8EB8E4C15AB3CC48D1E9C0223C13A84DB3F` for this version
- File SHA256: `F*91A5AD4709A418704315EF37DDCF954522D4FB42808D406B3ED4DA560F6864C6` for this version
- Content SHA256: `C*BB61DE3ECA8293AD1CFCE9A6BF5E175B7CFDB75DF063D6070783B75F7B97CE61` for this version
---
# The `BasePlus` package, version: `2.4.0`;
# The `BasePlus` package, version: `3.1.2`;
---
# The BasePlus package [ver. 2.4.0] <a name="baseplus-package"></a> ###############################################
# The BasePlus package [ver. 3.1.2] <a name="baseplus-package"></a> ###############################################
The **BasePlus** package implements useful
functions and functionalities I miss in the BASE SAS.
@@ -47,7 +47,8 @@ Kudos to all who inspired me to generate this package:
*Quentin McMullen*,
*Kurt Bremser*,
*Leonid Batkhan*,
*Louise Hadden*.
*Louise Hadden*,
*Ryo Nakaya*.
---
@@ -387,6 +388,11 @@ proc print data=b_x;
run;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**EXAMPLE 29** Create library ABC assigned to `<WORK>/ABC` directory:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas
%workLib(abc)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---
---
@@ -401,11 +407,13 @@ Package contains additional content, run: `%loadPackageAddCnt(BasePlus)` to lo
or look for the `baseplus_AdditionalContent` directory in the `packages` fileref
localization (only if additional content was deployed during the installation process).
--------------------------------------------------------------------
---------------------------------------------------------------------
*SAS package generated by SAS Package Framework, version `20250729`*
*SAS package generated by SAS Package Framework, version `20260125`,*
*under `WIN`(`X64_10PRO`) operating system,*
*using SAS release: `9.04.01M9P06042025`.*
--------------------------------------------------------------------
---------------------------------------------------------------------
# The `BasePlus` package content
The `BasePlus` package consists of the following content:
@@ -490,10 +498,11 @@ The `BasePlus` package consists of the following content:
78. [`%translate()` macro ](#translate-macro-78 )
79. [`%tranwrd()` macro ](#tranwrd-macro-79 )
80. [`%unifyvarscasesize()` macro ](#unifyvarscasesize-macro-80 )
81. [`%workpath()` macro ](#workpath-macro-81 )
81. [`%worklib()` macro ](#worklib-macro-81 )
82. [`%workpath()` macro ](#workpath-macro-82 )
82. [License note](#license)
83. [License note](#license)
---
@@ -6022,6 +6031,11 @@ See examples below for the details.
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: ###################################################################
The basic syntax is the following, the `<...>` means optional parameters:
@@ -6656,7 +6670,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
The letters() macro function allows to print a list of Roman
letters starting from `start` up to `end` incremented by `by`.
The letters list can be uppercases or lowercase (parameter `c=U` or `c=L`),
The letters list can be uppercase or lowercase (parameter `c=U` or `c=L`),
can be quoted (e.g. `q=""` or `q=[]`), and can be separated by `s=`.
Values of `start`, `end`, and `by` have to be integers in range between 1 ad 26.
@@ -6684,12 +6698,12 @@ The basic syntax is the following, the `<...>` means optional parameters:
Values of `start`, `end`, and `by` are separated by
colon and must be between 1 ad 26.
If value is outside range it is set to
`start=1`, `en=26`, and `by=1`. If `end` is missing
then is set to value of `start`.
`start=1`, `end=26`, and `by=1`. If `end` is missing
then it is set to value of `start`.
If `end` is smaller than `start` list is reversed
* `c = U` - *Optional*, it is a lowercase letters indicator.
Select `L` or `l`. Default value is `U` for upcase.
Select `L` or `l`. Default value is `U` for uppercase.
* `q = ` - *Optional*, it is a quite around elements of the list.
Default value is empty. Use `%str()` for one quote symbol.
@@ -7619,7 +7633,71 @@ run;
---
## `%workpath()` macro <a name="workpath-macro-81"></a> ######
## `%worklib()` macro <a name="worklib-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> #######################
@@ -7662,7 +7740,7 @@ The basic syntax is the following, the `<...>` means optional parameters:
# License <a name="license"></a> ######
Copyright (c) 2020 - 2025 Bartosz Jablonski
Copyright (c) 2020 - 2026 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
BIN
View File
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.
File diff suppressed because it is too large Load Diff
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

File diff suppressed because it is too large Load Diff
Binary file not shown.