Thank you this was very helpful! Here is my updated WORKING code: options mcompile mlogic mprint;
%macro loop();
%global i ;
%do i=1 %to 13 ; /*looping through the past 13 weeks (current week plus past 12 weeks/3months) to compare current week to weekly averages over past 3 months*/
data _null_;
call symput('startdt',quote(put(intnx('week',today(),-&i.,'b'),date9.))||'d');/*Sunday SQL date*/
call symput('enddt',quote(put(intnx('week',today(),-&i.,'e'),date9.))||'d'); /*Saturday SQL date*/
run;
%week (&startdt., &enddt., &i.);
%end ;
%mend loop;
%macro week(startdt, enddt, i);
data batches_&i;
set dates;
batch = &i.;
where dateloaded>= &startdt. and dateloaded <= &enddt.;
run;
proc append base=batches data=batches_&i.; run;
%mend week;
%loop();
... View more