Hi
I need a program that forms at the end of month dates between two dates.
Somthing like:
data date;
format date ddmmyy10.;
do date='01jan2010'd to '31dec2016'd by 1;
output;
end;
run;
But unly with one date for each month.
data months;
format date ddmmyy10.;
do date=intnx('month', '31dec2010'd, n)-1 to '31dec2016'd by n;
output;
end;
run;
But how to I count n up with 1 to 31dec2016?
Best regards
Terkel
Do a regular do loop with a plain increment variable. Here you specify how many months you wish to generate.
Use that in your assignment statement as an argument in the intnx() function.
data date;
format date ddmmyy10.;
do date='01jan2010'd to '31dec2016'd by 1;
if day(date+1)=1 then output;
end;
run;
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.