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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.