Can anyone help with the above error when running this small section of code below?
%macro start;
%if &i_creative. = 1 %then %do
data &tmp_filelist.;
length filename $150;
run;
%end;
%else %if &i_creative. >1 %then %do
proc append base=&tmp_filelist. data=&tmp_filelist2. force;
run;
%end;
%mend start;
You need to add a semicolon after the word
%DO;
In both lines where it appears.
You are missing semicolons to end the macro %do statements:
%macro start;
%if &i_creative. = 1 %then %do;
data &tmp_filelist.;
length filename $150;
run;
%end;
%else %if &i_creative. >1 %then %do;
proc append base=&tmp_filelist. data=&tmp_filelist2. force;
run;
%end;
%mend start;
You need to add a semicolon after the word
%DO;
In both lines where it appears.
Ah yes of course - such a schoolgirl error.
Curse SAS with it's misleading error messages!
Just a note that you don't need that piece of code.
PROC APPEND doesn't require the base data set to preexist, so you only need the last section.
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.