SAS Day 24: Space Trick
Background:
My boss has a motto “Devil in the details”. I think all the Space- Related issues are the “Devil” in SAS.
Today, we will go over the function and tricks I used to deal with Space.
- Remove Space: Compress, Compbl, Strip, Trim
- Concatenate with Remove Space: ||, CAT, CATS, CATX, CATT
[caption id=“attachment_1626” align=“alignnone” width=“550”]
analogicus / Pixabay[/caption]
Group 1: Compress, Compbl, Strip, Trim
1.Compress: Remove all the blanks by default, it can remove any specified characters as well.
2.Compbl: Compress multiple blanks into a single blank
3.Strip: Remove Leading and Trailing Blanks
4.Trim: Remove Trailing blank
Example:
Code:
data test;
input first $ last $ tel $29.;
datalines;
Mary Smith 61 5- 999- 2222
Keith O 777-2 22- 1234
Jay Chou 4 15-221-99 98
Lionel Messi 312-45 6-1111
Chris Wu 480 -9 00-87 63
;
run;
data space;
set test;
compress=compress(tel,"-");
compbl=compbl(tel);
strip=strip(tel);
trim= trim(tel);
run;
Group 2: ||, CAT, CATT, CATS, CATX
||: directly concatenates character strings without modification.
CAT: concatenates character strings with leading or trailing space
CATT: concatenates character strings and removes trailing blanks
CATS: concatenates character strings and remove trailing and leading blanks
CATX: concatenates character strings and remove trailing and leading blanks, and inserts a separator between each string.
Code:
data sample;
set test;
direct=first||last;
cat=cat(first,last);
catt=catt(first,last);
cats=cats(first,last);
catx=catx(".", first, last);
run;
Ref:https://www.lexjansen.com/nesug/nesug09/cc/CC25.pdf