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
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.