Hi,
how do I offset this below so that the start= will always be the first month of the year (this year it’s 01jan2016 but next year I need it to say 01jan2017 and so on) and then have the stop= as the previous month? The idea is I want to automate this to prevent user error by keying in the incorrect month.
%macro scants(start=01jan2016,stop=01apr2016);
%local i;
%do i=-%sysfunc(intck(month,"&start."d,%sysfunc(today()))) %to -%sysfunc(intck(month,"&stop."d,%sysfunc(today())));
%let runmonth=%sysfunc(intnx(month,%sysfunc(today()),&i.),yymmn6.);
%let month=%sysfunc(intnx(month,%sysfunc(today()),&i.),monyy5.);
%let month2=%sysfunc(intnx(month,%sysfunc(today()),&i.),date9.);
%put &month2.;
%let startcomp = %sysfunc(intnx(month,"&month2"d,0,b),date9.); %put &startcomp.;
%let endcomp = %sysfunc(intnx(month,"&month2"d,0,e),date9.); %put &endcomp.;