I defined one macro variable VAR, then I wrote the codes as below;
%if %UPCASE(&VAR) NOT IN ("ABC", "XYZ") %THEN %DO;
BLABLABLA;
%END;
It seems incorrect, is there one statement in MACRO equal to "not in" or "in" statement?
Thanks in advance.
you need to use option:
example:
options minoperator;
%if &state in (NY NJ PA) %then %let ®ion = %eval(®ion + 1);
more detail at http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#a003092012.htm
you need to use option:
example:
options minoperator;
%if &state in (NY NJ PA) %then %let ®ion = %eval(®ion + 1);
more detail at http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#a003092012.htm
Got it. Thanks
Actually, since you are using macro code, I think you will also need a macro option as well:
%let var=ABC;
options minoperator;
%macro test/mindelimiter=',';
%if not(%upcase(&VAR) in (ABC,XYZ)) %THEN %DO;
%put met condition;
%END;
%else %do;
%put did not meet condition;
%end;
%mend test;
%test
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.