Commit Graph

521 Commits

Author SHA1 Message Date
Bart Jablonski
e8d1269f6c Merge pull request #113 from yabwon/main
The BasePlus package [ver. 2.3.1]
2025-08-05 14:19:19 -04:00
Bart Jablonski
62b7c64063 The BasePlus package [ver. 2.3.1]
The BasePlus package [ver. 2.3.1]

Changes:
Fix in log notes produced by `%getVars()` and `%QgetVars()`.

- File SHA256: `F*B2D318DD9708D74E5A7C419F7CAE1BF46D662B7F6AEE7E6B1B9D9B6858A5C41A` for this version
- Content SHA256: `C*C34B47FDC4A22C5F5EACA087FA5308B97C367E8B7C32C5B28D37B491C6DAA9A3` for this version
20250805
2025-08-05 20:18:11 +02:00
Bart Jablonski
ef3afe837d The BasePlus package [ver. 2.3.0]
# The BasePlus package [ver. 2.3.0]

- File SHA256: `F*71DC1AFA709B2977E8AEA452721776F62EEC8240ABD658AC83AA6D4310FC49B6` for this version
- Content SHA256: `C*9CEDE8C64D2C619EBC27AC85B4904D2CE2423C832C6C313E526946FC1417EFD1` for this version

---

### Changes:

Update in macros:
- `%getVars()` and `%QgetVars()`

    - New *optional* parameter `nlit=`. Introduced to improve `validvarname=ANY` handling. Indicates if the `NLITERAL()` function should be executed to cover spacial characters. Default value is `0`.
    - Code simplification for the `mcArray=` parameter case.
    - Situation when the `%getVars()` macro is called with `mcArray=` in `%put` or `%let` statements is handled more gracefully.

- `%zipEvalf()` and `%QzipEvalf()`

    - If the list contains quoted blanks, they are respected now, i.e. `a "b c"` are considered 2 strings, `a` and `b c`.

See documentation for details.

---
20250804
2025-08-04 15:45:33 +02:00
Bart Jablonski
ba34a71ffe Merge pull request #112 from yabwon/main
SAS Packages Framework, version 20250729
2025-07-29 05:52:46 -04:00
Bart Jablonski
f63ff497ee SAS Packages Framework, version 20250729
SAS Packages Framework, version 20250729

Changes:
- New parameter `github=` added to the `%installPackage()` macro.
- Documentation updated.
20250729
2025-07-29 11:51:56 +02:00
Bart Jablonski
ff758fc2cc Merge pull request #111 from yabwon/main
SAS Packages Framework, version 20250728
2025-07-28 05:53:45 -04:00
Bart Jablonski
030a0932a8 SAS Packages Framework, version 20250728
SAS Packages Framework, version 20250728

Changes:
- The `mirror=3` parameter in the `%installPackage()` macro allows access `https://github.com/PharmaForest/`.
- Values `SASPAC` and `PharmaForest` are accepted by the `mirror=` parameter in the `%installPackage()` macro.
- Documentation updated.
20250728
2025-07-28 10:39:12 +02:00
Bart Jablonski
35b30ca45e Merge pull request #110 from yabwon/main
SAS Packages Framework, version 20250710
2025-07-10 08:04:33 -04:00
Bart Jablonski
cc25b76144 SAS Packages Framework, version 20250710
SAS Packages Framework, version 20250710

Changes:
- Framework's code cleanup: all uses of the autocall `%lowcase()` macro were removed or replaced by `%sysfunc(lowcase(...))` call.
- Formatting of the default MIT license text in the `%generatePackage()` macro was changed.
- The `sourcePath=` parameter in the `%installPackage()` macro now allows both quoted and un-quoted address.
- Documentation updated.
20250710
2025-07-10 13:56:45 +02:00
Bart Jablonski
bfdede5dd4 Merge pull request #109 from yabwon/main
update README.md
2025-06-11 13:32:59 -04:00
Bart Jablonski
628641a6cf Update README.md 2025-04-22 13:06:18 +02:00
Bart Jablonski
191d07c2c8 Update README.md
A bit of polishing.
2025-04-03 13:40:06 +02:00
Bart Jablonski
856c73758f Merge pull request #108 from yabwon/main
SAS Packages Framework, version 20241207
2024-12-07 23:13:42 +01:00
Bart Jablonski
2e47ab5e37 SAS Packages Framework, version 20241207
SAS Packages Framework, version 20241207

Changes:
- New parameter `instDoc=` in the `%installPackage()` macro allows to download (if one is available) the `.md` documentation file for a package.
20241207
2024-12-07 23:08:14 +01:00
Bart Jablonski
104c38ab2c Merge pull request #107 from yabwon/main
SAS Packages Framework, version 20241129
2024-11-29 17:08:10 +01:00
Bart Jablonski
c4e21e86b6 SAS Packages Framework, version 20241129
SAS Packages Framework, version 20241129

Bug Fix in:
- `%generatePackage()` macro, and
- `%splitCodeForPackage()` macro.

---
20241129
2024-11-29 17:01:10 +01:00
Bart Jablonski
006377b255 PHUSE EU 2024 conference article on SAS packages
PHUSE EU 2024 conference article on SAS packages
2024-11-11 10:43:30 +01:00
Bart Jablonski
9a7b81c2ad Merge pull request #106 from yabwon/main
SAS Packages Framework, version 20241102
2024-11-02 22:24:21 +01:00
Bart Jablonski
4b640e8ce1 SAS Packages Framework, version 20241102
SAS Packages Framework, version 20241102

Changes:

In the `%loadPackage()`, the `%ICEloadPackage()`, and the `%loadPackageAddCnt()` macros version of a package can be provided with a comparison condition.

If the required version is provided with a comparison operator, e.g., `<=`, `=`, or `>`, then the operator is used to compare `required` and `provided` versions.

The following example:
```sas
%loadPackage(myPackage
  ,requiredVersion=1.2.2=
)
```
will force to load the package only if the required version is exactly equal to the provided one.

Comparison is done in form "`req. comparison prov.`".

Documentation and HoW-materials updated.
20241102
2024-11-02 22:18:23 +01:00
Bart Jablonski
a56da0fa4f Merge pull request #105 from yabwon/main
SAS Packages Framework, version 20241027
2024-10-28 10:34:16 +01:00
Bart Jablonski
7a7f674acf SAS Packages Framework, version 20241027
SAS Packages Framework, version 20241027
- new utility macro added (`%splitCodeForPackage()`)
- documentation and workshop materials updated
20241027
2024-10-28 10:05:28 +01:00
Bart Jablonski
edeb1729b5 Merge pull request #104 from yabwon/main
SAS Packages Framework, version `20241014`
2024-10-14 21:44:37 +02:00
Bart Jablonski
c667bc6b25 SAS Packages Framework, version 20241014
#SAS Packages Framework, version `20241014`

## Changes

---

The [%generatePackage()]{https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#generatepackage} macro accepts two new code types:
- `DS2PCK` for Proc DS2 packages, and
- `DS2THR` for Proc DS2 threads.

Those two new types allow to add `PROC DS2` *threads* and *packages* to a SAS package.

---

The [%loadPackage()]{https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#loadpackage} macro has new parameter:
- `DS2force` - when set to `1` an existing data set named the same as thread or package is overwritten by DS2 file.

While loading a package that contains `PRCO DS2` code, by default, if there already exist a SAS data set with the same name (which is not a DS2 thread or package file) a warning is issued in the log and the thread/package data set is not generated. To force overwrite, set the `DS2force=` parameter of the `%loadPackage()` macro to 1.

---

Minor updates and fixes:
- Proc `sql` "drop table" replaced with `fedsqsl`'s for data sets deletion.
- Proc `iml`, `fcmp`, and `proto` code blocks end with `quit;` statement.

---

[Documentation]{https://github.com/yabwon/SAS_PACKAGES/tree/main/SPF/Documentation} and [Hands-on-Workshops materials]{https://github.com/yabwon/HoW-SASPackages} updated.

---
20241014
2024-10-14 21:38:08 +02:00
Bart Jablonski
0a01f39662 update in README.md
update in README.md

- links to packages documentation updated
2024-10-01 07:25:20 +02:00
Bart Jablonski
9b2ec979e4 Merge pull request #103 from yabwon/main
SAS Packages Framework, version 20240927
2024-09-27 11:27:06 +02:00
Bart Jablonski
45127a057e SAS Packages Framework, version 20240927
## SAS Packages Framework, version `20240927`

---

### Changes

- Aesthetic changes in log when running the `%installPackage()` macro, notes about successful/failed installation.
- New parameter `SFRCVN` added to the `%installPackage()` macro, `SFRCVN` provides a *name* for a macro variable to store value of the *success-failure return code* of the installation process. Return value has the following form: `<number of successes>.<number of failures>` The macro variable is created as a *global* macro variable.
- Documentation updated.

---
20240927
2024-09-27 11:25:33 +02:00
Bart Jablonski
3f950e11ce The BasePlus package [ver. 2.1.0]
## The BasePlus package [ver. 2.1.0]

### Changes:

Update to the
[`%rainCloudPlot()`](https://github.com/SASPAC/baseplus/blob/2.1.0/baseplus.md#raincloudplot-macro-17)
macro, new `whiskerScale=` parameter added.

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

---

SHA256 digest for BasePlus: `F*DFA83F8E0D7424DEB63D49620392068BC68D766552E2804CB6B01DE8E5A87769`

---

### Example.

~~~~sas
%rainCloudPlot(
 sashelp.class
,sex
,height
,whiskerScale=0.5
)
~~~~
20240909
2024-09-09 13:17:27 +02:00
Bart Jablonski
efda10b412 Merge pull request #102 from yabwon/main
The BasePlus package [ver. 2.0.1]
2024-07-24 08:11:27 +02:00
Bart Jablonski
96247523ba The BasePlus package [ver. 2.0.1]
## The BasePlus package [ver. 2.0.1]

This release is dedicated to all dyslexics in the world.

### Changes:

New macros:
- [`%expandDataSetsList()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#expanddatasetslist-macro) allowing to expand data set lists of the form: `a1-a3`, `b_:`, mixed, and `_all_`;
- [`%unifyVarsCaseSize()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#unifyvarscasesize-macro) allowing to convert all variables in a list of datasets to all-low-case or all-upcase letters.

Both macros are result of recent discussions at `SAS-L` and `communities.sas.com`.

New format/informats:
- [`bpklength.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bpklength-format)
- [`bplength.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bplength-format)
- Bug fix in spelling (`lenght` vs `length`).

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

---

SHA256 digest for BasePlus: `F*FB102C9B12E870666C15A651017D48E0141E47D64C11437350D0EC75A7E9E609`

---

### Example 1. New macros.

~~~~sas
data a1 a2 a3 b_x b_y b_z;
  set sashelp.class(obs=1);
run;

%put #%expandDataSetsList(lib=work,datasets=a1-a3 b_:)#;

proc print data=a1;
proc print data=b_x;
run;

%unifyVarsCaseSize(work,a1-a3 b_:)

proc print data=a1;
proc print data=b_x;
run;
~~~~

### Example 2. New formats/informats:

~~~~sas
data _null_;
  x = input('żółw', bpklength.);
  y = input('żółw', bplength.);
  put x= y=;
run;
~~~~

~~~~log
x=4 y=7
~~~~
20240724
2024-07-24 08:09:50 +02:00
Bart Jablonski
78a79d1fc7 Merge pull request #101 from yabwon/main
The BasePlus package [ver. 2.0.0]
2024-07-23 22:17:14 +02:00
Bart Jablonski
425f7b389c The BasePlus package [ver. 2.0.0]
## The BasePlus package [ver. 2.0.0]

### Changes:

New macros:
- [`%expandDataSetsList()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#expanddatasetslist-macro) allowing to expand data set lists of the form: `a1-a3`, `b_:`, mixed, and `_all_`;
- [`%unifyVarsCaseSize()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#unifyvarscasesize-macro) allowing to convert all variables in a list of datasets to all-low-case or all-upcase letters.

Both macros are result of recent discussions at `SAS-L` and `communities.sas.com`.

New format/informats:
- [`bpklenght.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bpklenght-format)
- [`bplenght.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bplenght-format)

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

---

SHA256 digest for BasePlus: `F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD`

---

### Example 1. New macros.

~~~~sas
data a1 a2 a3 b_x b_y b_z;
  set sashelp.class(obs=1);
run;

%put #%expandDataSetsList(lib=work,datasets=a1-a3 b_:)#;

proc print data=a1;
proc print data=b_x;
run;

%unifyVarsCaseSize(work,a1-a3 b_:)

proc print data=a1;
proc print data=b_x;
run;
~~~~

### Example 2. New formats/informats:

~~~~sas
data _null_;
  x = input('żółw', bpklenght.);
  y = input('żółw', bplenght.);
  put x= y=;
run;
~~~~

~~~~log
x=4 y=7
~~~~
20240723
2024-07-23 22:14:24 +02:00
Bart Jablonski
e61a9689df Merge pull request #100 from yabwon/main
The BasePlus package [ver. 1.43.0]
2024-07-22 09:06:08 +02:00
Bart Jablonski
56748bc44b The BasePlus package [ver. 1.43.0]
## The BasePlus package [ver. 1.43.0]

### Changes:

Update to [`%getVars()`](https://github.com/SASPAC/baseplus/blob/1.41.0/baseplus.md#getvars-macro-8) and [`%qgetVars()`](https://github.com/SASPAC/baseplus/blob/1.41.0/baseplus.md#qgetvars-macro-15) macros.

New parameter `ignoreCases=` added. It is an *optional* parameter.
It indicates if variables names search should be case insensitive.
With default value `1`, the search *is* case insensitive.

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

---

SHA256 digest for BasePlus: `F*68BB953CD732EB43119A3339656670292317FE1C3B764EC57484C7D5C9DF23EB`

---
20240722
2024-07-22 09:04:57 +02:00
Bart Jablonski
044019608f Merge pull request #99 from yabwon/main
The BasePlus package [ver. 1.42.1]
2024-07-19 10:30:22 +02:00
Bart Jablonski
96fa16078c 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`

---
20240719
2024-07-19 10:29:28 +02:00
Bart Jablonski
fedf5b894d Merge pull request #98 from yabwon/main
SAS Packages Framework, version `20240711`
2024-07-11 14:59:42 +02:00
Bart Jablonski
dc7f8cee19 SAS Packages Framework, version 20240711
SAS Packages Framework, version `20240711`

Changes (minor):
- aesthetic change in automatic documentation generation.

---
20240711
2024-07-11 14:57:29 +02:00
Bart Jablonski
3c30e7d17c Merge pull request #97 from yabwon/main
The BasePlus package [ver. 1.42.0]
2024-07-10 23:09:57 +02:00
Bart Jablonski
9b76f52b78 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)
;
~~~~
20240710
2024-07-10 23:06:20 +02:00
Bart Jablonski
c40c0bd9dc The BasePlus package [ver. 1.41.0]
## The BasePlus package [ver. 1.41.0]

### Changes:

Update to the
[`%rainCloudPlot()`](https://github.com/SASPAC/baseplus/blob/1.41.0/baseplus.md#raincloudplot-macro-17)
macro, new parameter:
 - `meanShiftLine=`
 - `meanShiftStep=`
 - `meanShiftColors=`
 - `xaxisValues=`
 - `xaxisValuesDisplay=`
 - `xaxisValuesFormat=`
 - `xaxisValuesRotate=`
 - `xaxisOther=`
 - `reuseN=`

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

---

SHA256 digest for BasePlus: `F*6760DDF382E7CA9A1291F028FA7F2BACB68A3D31CEA3A85104E13EA08645AEF1`

---
20240609
2024-06-09 18:50:18 +02:00
Bart Jablonski
a99b75ffe9 Merge pull request #96 from yabwon/main
The BasePlus package [ver. 1.40.0]
2024-06-06 22:23:23 +02:00
Bart Jablonski
ba2ca42015 The BasePlus package [ver. 1.40.0]
## The BasePlus package [ver. 1.40.0]

### Changes:

Update to the
[`%rainCloudPlot()`](https://github.com/SASPAC/baseplus/blob/1.40.0/baseplus.md#raincloudplot-macro-17)
macro, new parameter:
- `boxPlotLineSize=`
- `boxPlotFill=`
- `xBothAxis=`
- `minRange=`
- `maxRange=`

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

---

SHA256 digest for BasePlus: `F*BD0333B92D7CB639A136CD4994DE0C63F8396E449E45BC714D71D2E15318F42D`

---
20240606
2024-06-06 22:16:22 +02:00
Bart Jablonski
e7357877f0 Merge pull request #95 from yabwon/main
SAS Packages Framework, version `20240529`
2024-05-29 16:39:15 +02:00
Bart Jablonski
55b7b507cf SAS Packages Framework, version 20240529
SAS Packages Framework, version `20240529`

Changes:
- aesthetic changes in log when running `%generatePackage()` macro,
- reshaped format of an automatic documentation header,
- and little bug fix for automatic documentation generation (for excluding file from documentation the `IN` operator should be used instead `IN:`).

---

BasePlus, version `1.39.0`

Changes:
- new parameter `DSout=` added in `%downloadFilesTo()` macro,
- file SHA256: `F*3C3A2050E3FF46E1FC0F936634A66FC3F294A3531EFE0A7DC9CE74F2EF17C687` for this version.
20240529
2024-05-29 16:38:34 +02:00
Bart Jablonski
b47b1fb536 SAS Packages Framework, version 20240529
SAS Packages Framework, version `20240529`

Changes:
- aesthetic changes in log when running `%generatePackage()` macro,
- reshaped format of an automatic documentation header,
- and little bug fix for automatic documentation generation (for excluding file from documentation the `IN` operator should be used instead `IN:`).

---

BasePlus, version `1.39.0`

Changes:
- new parameter `DSout=` added in `%downloadFilesTo()` macro,
- file SHA256: `F*3C3A2050E3FF46E1FC0F936634A66FC3F294A3531EFE0A7DC9CE74F2EF17C687` for this version.
2024-05-29 16:34:37 +02:00
Bart Jablonski
05946c92ce Merge pull request #94 from yabwon/main
SAS Packages Framework, version 20240423
2024-04-23 11:33:44 +02:00
Bart Jablonski
73f0ba2d4c SAS Packages Framework, version 20240423
SAS Packages Framework, version 20240423

A minor aesthetic update in a log note about KMF snippets added to `%generatePackage()` macro. Does not change any functionality, just make it look nicer.
20240423
2024-04-23 11:32:52 +02:00
Bart Jablonski
b3b36174af Merge pull request #93 from yabwon/main
SAS Packages Framework, version 20240415
2024-04-15 19:33:16 +02:00
Bart Jablonski
c38cb1e70d SAS Packages Framework, version 20240415
SAS Packages Framework, version 20240415

Features:

- In the `%generatePackage()` macro, when `markdownDoc=` parameters is used, packages files can be "excluded" from being used to produce documentation markdown file.

- Documentation updated.
20240415
2024-04-15 19:31:06 +02:00
Bart Jablonski
62fd354c6d SAS Packages Framework, version 20240415
SAS Packages Framework, version 20240415

Features:

- In the `%generatePackage()` macro, when `markdownDoc=` parameters is used, package files can be "excluded" from being used to produce documentation markdown file.

- Documentation updated.
2024-04-15 19:24:07 +02:00