Bart Jablonski 72595e978a 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
~~~~
2024-07-23 22:15:11 +02:00
2024-07-23 22:15:11 +02:00
2024-07-23 22:15:11 +02:00
2024-07-23 22:15:11 +02:00
2024-07-23 22:15:11 +02:00

basePlus - The BASE SAS plus a bunch of functionalities I am missing in BASE SAS :-)


The BasePlus package adds a bunch of functionalities I am missing in BASE SAS, such as:

call arrMissToRight(myArray); 

call arrFillMiss(17, myArray); 

call arrFill(42, myArray); 

rc = delDataset("DataSetToDrop"); 

string = catXFn("date9.", "#", myArray);

format x bool.;

%put %getVars(sashelp.class, pattern = ght$, sep = +, varRange = _numeric_);

%rainCloudPlot(sashelp.cars,DriveTrain,Invoice)

%zipLibrary(sashelp,libOut=work)

%bpPIPE(ls -la ~/)

%dirsAndFiles(C:\SAS_WORK\,ODS=work.result)

%put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$);

%put %intsList(42);
%put %letters(1:26:1);

%splitDSIntoBlocks(5, sashelp.class, classBlock)

%splitDSIntoParts(7, sashelp.cars, carsPart)

filename f temp;
%put %filePath(f);

%put %libPath(WORK);

libname NEW "%workPath()/new";

%put %translate(%str("A", "B", "C"),%str(%",),%str(%' ));

%put %tranwrd(Miss Joan Smith,Miss,Ms.);

%put %date() %time() %datetime();

%put %date(yymmddn10.) %time(time5.) %datetime(e8601dt.);

%put %monthShift(2023,1,-5);

%put #%expandDataSetsList(lib=sashelp,datasets=_all_)#;

and more.

SHA256 digest for the latest version of BasePlus: F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD

Documentation for BasePlus

To work with a package use the SAS Packages Framework.

Description
The BASE SAS plus a bunch of functionalities I am missing in BASE SAS
Readme 47 MiB
Languages
SAS 100%