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.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.