Releases: SASPAC/baseplus
The BasePlus package [ver. 3.1.1]
The BasePlus package [ver. 3.1.1]
- File SHA256:
F*6394CE27FBCF48D475F682CBCF8CA8B4FDD6D40D2672EF571F4A561BDDF274A6for this version - Content SHA256:
C*3CA28DF8F3E6D6670D7FD44788D347452F24F4BCF18115873E7EBC742FE30CA4for this version
Changes:
Update:
- Minor updates in
%dirsAndFiles()macro.
See documentation for details.
The BasePlus package [ver. 3.1.0]
The BasePlus package [ver. 3.1.0]
- File SHA256:
F*9FFBC40A2B7FC51161C7D6D120DADC3ACEF8087E4EB43BB1A3F0FBC1F1CBD5ACfor this version - Content SHA256:
C*76C55A9F392EAB938D199144CC834EF332CD78BA8B98565FA003DEA509A33A3Efor this version
Changes:
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.
See documentation for details.
The BasePlus package [ver. 3.0.0]
The BasePlus package [ver. 3.0.0]
This release introduces new utility macro created in collaboration with Ryo Nakaya.
- File SHA256:
F*B9F6D8F1EDD1ECDA89F4BE327C4F4202649475D1D9DFB476279B633D9F14125Dfor this version - Content SHA256:
C*680412F6B403870A3A8975FC17300F7C92AEDECA48D3F242B5BC4E545DC6D313for this version
Changes:
New macro:
- New utility macro
%workLib()allows assigning libraries to sub-directories create inside theWORKlibrary.
See documentation for details.
Example
Create library ABC assigned to <path to WORK>/ABC directory.
%workLib(ABC)The BasePlus package [ver. 2.4.1]
The BasePlus package [ver. 2.4.1]
The release is dedicated to Ryo Nakaya who reported the bug this release fixes.
- File SHA256:
F*DB0811D8F207641BD45FCE30CB75D03CDF8D06849EBEA268BB575358FAA4E76Cfor this version - Content SHA256:
C*27861ABABB412E8229FE25CD5EEA868F49BB3CBD805CCE65F321ADBC522FAC4Efor this version
Fix:
- Fix engine recognition code in
%splitDSintoBlocks()macro.
The BasePlus package [ver. 2.4.0]
The BasePlus package [ver. 2.4.0]
This release is dedicated to SAS programmers running on Linux. Those running on Windows won't experience changes.
- File SHA256:
F*19FE220C82DE4B9990B4AC352A9D9DEF5FAF2FD601BE756B2F3A2AC39CDAF381for this version - Content SHA256:
C*83DEF0C93481B1C77494531E5CE9F8EB8E4C15AB3CC48D1E9C0223C13A84DB3Ffor this version
Changes:
Update in %dirsAndFiles() macros:
-
New optional parameter
backslashSens=. Introduced to handle situation when a directory or a file name contains backslash(\) character in it. Yes, you read correctly, in their names(!), e.g.,/my/path/with/ugly\file.txtThere is a separate place in hell for people who create such names, but (as you can guess) such people exists. That is why, when you suspect that a directory tree you are crawling through contains backslashes, run:%dirsAndFiles(..., backslashSens=1)to handle the situation correctly.
The BasePlus package [ver. 2.3.1]
The BasePlus package [ver. 2.3.1]
- File SHA256:
F*B2D318DD9708D74E5A7C419F7CAE1BF46D662B7F6AEE7E6B1B9D9B6858A5C41Afor this version - Content SHA256:
C*C34B47FDC4A22C5F5EACA087FA5308B97C367E8B7C32C5B28D37B491C6DAA9A3for this version
Changes:
Update in log notes produced by %getVars() and %QgetVars() macros.
The BasePlus package [ver. 2.3.0]
The BasePlus package [ver. 2.3.0]
- File SHA256:
F*71DC1AFA709B2977E8AEA452721776F62EEC8240ABD658AC83AA6D4310FC49B6for this version - Content SHA256:
C*9CEDE8C64D2C619EBC27AC85B4904D2CE2423C832C6C313E526946FC1417EFD1for this version
Changes:
Update in macros:
-
%getVars()and%QgetVars():- New optional parameter
nlit=. Introduced to improvevalidvarname=ANYhandling. Indicates if theNLITERAL()function should be executed to cover spacial characters. Default value is0. - Code simplification for the
mcArray=parameter case. - Situation when the
%getVars()macro is called withmcArray=in%putor%letstatements is handled more gracefully.
- New optional parameter
-
%zipEvalf()and%QzipEvalf():- If the list contains quoted blanks, they are respected now, i.e.
a "b c"are considered 2 strings,aandb c.
- If the list contains quoted blanks, they are respected now, i.e.
See documentation for details.
Example 1. Improved validvarname=ANY handling. Without nlit=1 the code will fail. With nlit=1 special characters are handled correctly
options validvarname = any;
data varnameANY;
set sashelp.class(obs=3);
'A&B'n=42;
'space name'n=101;
'2025-08'n=234;
'2025%09'n=235;
"2025'10"n=236;
'2025"11'n=237;
run;
%put %getVars(varnameANY, nlit=1);Log prints:
01 %put %getVars(varnameANY, nlit=1);
NOTE: [GETVARS] Option VALIDVARNAME=ANY is not fully supported.
Name Sex Age Height Weight 'A&B'N "space name"N "2025-08"N '2025%09'N "2025'10"N '2025"11'N
02
Example 2. Quoted space handling:
%let x = %zipEvalf("a b" "b c", 0 1, function=repeat);
%put &=x;
%put %zipEvalf("name a" "name b", n);X="a b" "b c""b c"
"name a"n "name b"n
The BasePlus package [ver. 2.1.0]
The BasePlus package [ver. 2.1.0]
Changes:
Update to the
%rainCloudPlot()
macro, new whiskerScale= parameter added.
See documentation for details.
SHA256 digest for BasePlus: F*DFA83F8E0D7424DEB63D49620392068BC68D766552E2804CB6B01DE8E5A87769
Example.
%rainCloudPlot(
sashelp.class
,sex
,height
,whiskerScale=0.5
)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()allowing to expand data set lists of the form:a1-a3,b_:, mixed, and_all_;%unifyVarsCaseSize()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.bplength.- Bug fix in spelling (
lenghtvslength).
See documentation for details.
SHA256 digest for BasePlus: F*FB102C9B12E870666C15A651017D48E0141E47D64C11437350D0EC75A7E9E609
Example 1. New macros.
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:
data _null_;
x = input('żółw', bpklength.);
y = input('żółw', bplength.);
put x= y=;
run;x=4 y=7
The BasePlus package [ver. 2.0.0]
The BasePlus package [ver. 2.0.0]
Changes:
New macros:
%expandDataSetsList()allowing to expand data set lists of the form:a1-a3,b_:, mixed, and_all_;%unifyVarsCaseSize()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:
See documentation for details.
SHA256 digest for BasePlus: F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD
Example 1. New macros.
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:
data _null_;
x = input('żółw', bpklenght.);
y = input('żółw', bplenght.);
put x= y=;
run;x=4 y=7