I tried to run the below codes but it won't execute, anyone can help? Many thanks.
data test;
input rptinput $;
cards;
Report1
;
run;
proc sql noprint;
select distinct rptinput
into :REPORT separated by ''
from test;
quit;
%put &report;
%macro condtest;
%if &report eq "Report1" %then %do;
proc sql;
select * from Sashelp.shoes;
%end;
%else %if &report eq "Report2" %then %do;
proc sql;
select * from Sashelp.cars;
;
%end;
%mend condtest;
quit;
%condtest
quit;
Format your code and you will note where additional things are not needed. The cause of your issue is that the macro call is not finished with a ; - always ensure you finish things correctly, end of statemetns with semi colon, end of macro variables with a dot etc.
data test; input rptinput $; cards; Report1 ; run; proc sql noprint; select distinct rptinput into :REPORT separated by '' from test; quit; %macro condtest; proc sql; %if "&report." eq "Report1" %then %do; select * from Sashelp.shoes; %end; %else %if "&report." eq "Report2" %then %do; select * from Sashelp.cars; %end;
quit; %mend condtest; %condtest;
Format your code and you will note where additional things are not needed. The cause of your issue is that the macro call is not finished with a ; - always ensure you finish things correctly, end of statemetns with semi colon, end of macro variables with a dot etc.
data test; input rptinput $; cards; Report1 ; run; proc sql noprint; select distinct rptinput into :REPORT separated by '' from test; quit; %macro condtest; proc sql; %if "&report." eq "Report1" %then %do; select * from Sashelp.shoes; %end; %else %if "&report." eq "Report2" %then %do; select * from Sashelp.cars; %end;
quit; %mend condtest; %condtest;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.