I am trying to modify a macro (http://www.agreestat.com/software/AgreeStat_2SAS.sas) by adding a DO LOOP but am getting an error: The %DO statement is not valid in open code. Really not sure why ..
%macro acboot;
%do M=1 %to &REPS;
data boot_input;
set &bootdata;
where replicate=&M;
run;
%let inputfile=boot_input;
<Macro Code>
<Macro Code>
<Macro Code>
%end;
%mend acboot;
Firstly, I get an error when I compile the macro (There is no matching %DO statement for the %END. This statement will be ignored). This is for the %end inserted right at the end of the code.
And then I get the %DO statement error when I run the macro.
That error is usually a side effect of missing semi-colons, unbalanced quotes or unbalanced comments or other problems that result in SAS not seeing the %MACRO statement.
Start over with a fresh SAS session.
That error is usually a side effect of missing semi-colons, unbalanced quotes or unbalanced comments or other problems that result in SAS not seeing the %MACRO statement.
Start over with a fresh SAS session.
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.