Hello,
I'm currently trying to do what should be a simple task but the searches for proc expand and retain functions haven't been giving me the code that I need.
I currently have 3 columns, ID, Startdate, enddate, and I'd like to expand my dataset to fill in the months between my start and end dates.
For example:
ID Startdate Enddate
1 01/2001 03/2001
Would become:
ID date
1 01/2001
1 02/2001
1 03/2001
Thanks.
I assume that startdate and enddate are both SAS dates in mmyys7. format:
data new (keep=id date);
set old;
format date mmyys7.;
do increment = 0 to intck('month', startdate, enddate);
date = intnx('month', startdate, increment, 'beginning');
output;
end;
run;
I assume that startdate and enddate are both SAS dates in mmyys7. format:
data new (keep=id date);
set old;
format date mmyys7.;
do increment = 0 to intck('month', startdate, enddate);
date = intnx('month', startdate, increment, 'beginning');
output;
end;
run;
Works exactly as I wanted! Thanks!
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.