Hi,
I am trying to write SAS code that can generate month end dates backward and forward. The goal is that the user enters a start date in a macro variable and specifies the periods (-1 going back one month and 1 going forward one month).
This is my initial idea... The generated dates would be assigned a variable name and stored so they can be called throughout the code (e.g. date1=7/31/2013 , date2=8/31/2013...daten=m/dd/yy)
%Let StrtDt = 6/30/2013;
%Let ProjLen = 10;
data DateGen (keep=y);
do i=1 to &ProjLen;;
x=intnx('month',&StrtDt,0,'end');
y=x;
output;
end;
run;
%Let StrtDt=06/30/2013;
%Let ProjLen = 10;
data DateGen (keep=y);
do i=1 to &ProjLen;
x=intnx('month',input("&StrtDt",mmddyy10.),i,'end');
y=x;
format y mmddyy10.;
output;
end;
run;
proc print;run;
%Let StrtDt=06/30/2013;
%Let ProjLen = 10;
data DateGen (keep=y);
do i=1 to &ProjLen;
x=intnx('month',input("&StrtDt",mmddyy10.),i,'end');
y=x;
format y mmddyy10.;
output;
end;
run;
proc print;run;
It worked! thanks!
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.