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!
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.