Hello,
I need to find the ID where the first 3 characters of the field are between (‘A’) and (‘Z’)...So if I have this list:
5021060 A310603 D1A5421 5022000 5001050 5002000 5010020 5010045 5010045 50A5421 5012060 5013100
then the SAS program would output only these:
A310603
D1A5421
50A5421
Thank you!
something like this
data have;
input string $;
datalines;
5021060
A310603
D1A5421
5022000
5001050
5002000
5010020
5010045
5010045
50A5421
5012060
5013100
501310D
;
data want;
set have;
if anyalpha(substr(string,1,3)) gt 0;
run;
something like this
data have;
input string $;
datalines;
5021060
A310603
D1A5421
5022000
5001050
5002000
5010020
5010045
5010045
50A5421
5012060
5013100
501310D
;
data want;
set have;
if anyalpha(substr(string,1,3)) gt 0;
run;
Post test data in the form of a datastep!
Something like (and not tested as not typing all that in):
data want; set have; if lengthn(compress(substr(yourvar,1,3),"","ka")) > 0 then output; run;
So take the first 3 chars, compress down to only a-z and if length > 0 at least one is present
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.