Hello,
I want to get following "Variable" column's first three digits.
I define the first three digits i.e:"WOE", "REP". If I use "=:" option then I write first three digits, it brings my desired values but what if I have more than one value. Sometimes, I need 5 or 6 values i.e:"WOE","REP","IMP","ITA","BEL" etc. so I want to put these values into macro variable then use into my code.
I hope I could make myself clear. Can you help me about to reach my aim, please?
Data Have;
Do i=1 to 5;
Variable="WOE_Hart";
Output;
End;
Do i=1 to 5;
Variable="REP_Buff";
Output;
End;
Do i=1 to 5;
Variable="IMP_Steph";
Output;
End;
Run;
Data Want2;
Set Have;
If Variable=:"REP" Or Variable =:"IMP" Or Variable=:"ASK ";
Run;
%Let Macro= "WOE" "REP";
Data Want3;
Set Have;
If Variable =:(&Macro.);
Run;Thank you
Take a substring and compare that.
If substr(variable, 1,3) in ('REP', ...,'ASK') then ...
A small change is all that is required:
if variable in : (¯o.);
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!
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.