say I have the following macro:
%macro test(var=);
data input; set input;
%if &var. ne %then %do; do something;%end;
%if &var. e %then %do; do something;%end;
run;
%mend;
but the check "%if &var. e" does not work.
How else should I do this?
OR try
%macro test(var=);
data input; set input;
%if %length(&var) %then %do; do something;%end;
%if %length(&var)=0 %then %do; do something;%end;
run;
%mend;
For a comprehensive overview and evaluation of the available methods see the SAS Global Forum 2009 paper "Is This Macro Parameter Blank?".
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.