Releases: SASPAC/baseplus
The BasePlus package [ver. 1.33.0]
The BasePlus package [ver. 1.33.0]
- New macro
%unzipArch()
added. The macro allows to extract ZIP archive file from SAS session and does not needXCMD
(is OS independent). - Documentation updated.
SHA256 digest for the latest version of BasePlus
: F*6214654B4575DC8E4BA3CF032924862C2F69A03A6384872BAA9F774EDF6A8DDA
The BasePlus package [ver. 1.32.0]
The BasePlus package [ver. 1.32.0
]
Updates:
- New
%monthShift()
macro added. - Doc. updated.
SHA256 digest: F*81EF4FA7E1D9363A991B686F38C6569FFB22024CB9C67A9395EEF6D4257D508E
Examples:
%put %monthShift(2023, January, -6);
The BasePlus package [ver. 1.31.0]
The BasePlus package [ver. 1.31.0
]
Updates:
- A bunch of "date & time" macro one-liners added.
- Doc. updated.
SHA256 digest: F*B91771D45C781B6806DBB44A3B491A0784D7698B9F3BBBE1A86EE5594834315F
Examples:
%put %today() %date() %time() %datetime();
The BasePlus package [ver. 1.30.0]
The BasePlus package [ver. 1.30.0
]
Updates:
- New macro
%repList()
added. - Doc. updated.
SHA256 digest: F*B91771D45C781B6806DBB44A3B491A0784D7698B9F3BBBE1A86EE5594834315F
Examples:
options mprint;
data work.A;
x=17;
data work.B;
x=42;
data work.C;
x=303;
run;
data work.test5;
set
%repeatTxt(work.A work.B work.C, 5)
;
run;
data Times2_A3B4C5;
set
%repList(work.A work.B work.C, times = 2, each = 3 4 5)
;
run;
The BasePlus package [ver. 1.29.1]
The BasePlus package [ver. 1.29.1]
Package regenerated with the latest version of the SAS Packages Framework (20230904).
SHA256 digest for the latest version of BasePlus
: F*2FE68DD9B3692B9D46EF85B82F63C7E65010BF9E89D670FD1779F4670FA03F31
The BasePlus package [ver. 1.29.0]
The BasePlus package [ver. 1.29.0
]
Updates:
Three new macros:
%fmt()
macro is a wrapper allowing to apply formats to values%infmt()
macro is a wrapper allowing to apply informats to values%minclude
the macro is "macro version" of the SAS%include
statement. Inspired by this blog post but implemented different way.
Documentation updated.
SHA256 for BasePlus: F*9EEE4F4B99EA725B60141645AB6A50BFEBA32CE54848593F8D832D907D63CAD7
Examples:
%put %fmt(12345, date9.);
%put %infmt($111.234, dollar10.2);
filename f TEMP;
data _null_;
file f;
put "13 14 15";
run;
data testDataset;
set sashelp.class;
where age in ( %mInclude(f) );
run;
The BasePlus package [ver. 1.26.1]
The BasePlus package [ver. 1.26.1]
Current release is natural continuation of 1.24.2
Updates:
- The
%RainCloudPlot()
has new parameter:catAxisValueAttrs
which allows to modify attributes of category axis values. ThecatAxisValueAttrs
should be space separated lists ofkey=value
pairs, e.g.catAxisValueAttrs=size=12 color=Green weight=bold
, see Example below. - Documentation was updated (refreshed example with plot).
The SHA256 hash digest for package BasePlus:
F*D6DC5AD1B60A92AD300B639B3C361C1F7846EB01E5AB35BF4FDDA6E783408172
Example:
%RainCloudPlot(
sashelp.cars(where=(Type ne "Hybrid"))
, Origin
, Invoice
, HeightPX=300
, y2axisLevels=3
, catLabels=("Continent of Origin")
, xLabels="Invoice, [$]"
, xLabelAttrs=size=12 color=Pink weight=bold
, catAxisValueAttrs=size=10 color=Red weight=bold
)
The BasePlus package [ver. 1.26.0]
The BasePlus package [ver. 1.26.0
]
Updates:
Two new macros were introduces in the release:
%findDSwithVarVal()
macro searches for all datasets (available for a given session) containing a variable of a given value.%getTitle()
macro extract text of titles or footnotes into a delimited list.
Documentation updated.
Note:
With this release the BasePlus
gained its first official co-author: Quentin McMullen who provided the %getTitle()
macro.
Examples:
EXAMPLE 1. Search numeric variable AGE
containing value 14
:
%findDSwithVarVal(age, 14, type=num)
EXAMPLE 2. Search library WORK
for variable NAME
starting with value Jo
ignoring cases and trimming blanks from value:
data A;
name="Joanna";
data B;
name="john";
data C;
name=" Joseph";
data D;
name=" joe";
run;
%findDSwithVarVal(name, Jo, ic=1, tb=1, cts=1, lib=WORK)
EXAMPLE 3. Get titles in different forms:
title1 j=c "Hi Roger" ;
title2 j=l "Good Morning" ;
title3 "How are you?" ;
title4 ;
title5 "Bye bye!" ;
%put %GetTitle() ;
%put %GetTitle(1 3,dlm=c, qt=[]) ;
%put %GetTitle(2:4,dlm=s, qt='') ;
The BasePlus package [ver. 1.24.2]
The BasePlus package [ver. 1.24.2
]
Current release is natural continuation of 1.24.1
Updates:
-
The
%RainCloudPlot()
has 2 new parameters:catLabelAttrs
andxLabelAttrs
:-
catLabelAttrs
- Optional, default value is empty.
List of attributes for group axix labels (vertical). -
xLabelAttrs
- Optional, default value is empty.
List of attributes for data variable axix labels (horizontal).
The
catLabelAttrs
andxLabelAttrs
should be space separated lists ofkey=value
pairs,
e.g.xLabelAttrs=size=12 color=Pink weight=bold
, see Example below. -
-
Documentation was updated (new examples with plots), and some spellings were fixed.
The SHA256 hash digest for package BasePlus:
F*2A4F3953EC56DB914024457F74286D565C23DCF220FF151040BDB704FD8DDB06
EXAMPLE 2. Rain Cloud plot for sashelp.cars
dataset with groups by Origin or Type for Invoice variables:
%RainCloudPlot(
sashelp.cars(where=(Type ne "Hybrid"))
, Origin Type
, Invoice
, HeightPX=300
, y2axisLevels=3
, catLabels=("Continent of Origin", "Car Type")
, xLabels="Invoice, [$]"
, xLabelAttrs=size=12 color=Pink weight=bold
)
The BasePlus package [ver. 1.24.1]
The BasePlus package [ver. 1.24.1
]
- The
BasePlus
package, version1.24.1
was regenerated with latest version of the framework. - The
%RainCloudPlot()
macro from theBasePlus
packages was updated with new parameters:-
sganno
- Optional, default value is empty.
keeps name of a data set for thesganno=
option
of the SGPLOT procedure. -
sgPlotOptions
- Optional, default value isnoautolegend noborder
.
List of additional options values for SGPLOT procedure. -
odsGraphicsOptions
- Optional, default value is empty.
List of additional options values forODS Graphics
statement.
By default only the:width=
,height=
, andantialiasmax=
are modified.
-
Example: Rain Cloud plot with formatted groups and annotations.
data annotation;
function="text";
label="This graph is full(*ESC*){sup '2'} of annotations!";
drawspace="graphpercent";
rotate=30;
anchor="center";
textsize=32;
x1=50;
y1=50;
textcolor="red";
justify="center";
textweight="bold";
width=100;
widthunit="percent";
run;
proc format;
value system
1="Windows"
2="MacOS"
3="Linux"
;
run;
data test;
do system = 1 to 3;
do i = 1 to 30;
x = rannor(123)/system;
output;
end;
end;
format system system.;
run;
%RainCloudPlot(test, system, x
, formated=1
, sganno=annotation
, sgPlotOptions=noborder
, WidthPX=2000
, HeightPX=420
)