id date
2309 04/14/2013
2309 05/01/2013
2309 05/21/2013
2309 06/21/2013
Looking output like
ID initialdate Recent
2309 04/14/2013 06/21/2013
PROC SQL;
SELECT
ID,
MIN(DATE) AS INITIALDATE,
MAX(DATE) AS RECENT
FROM
WORK.DATA
GROUP BY ID;
QUIT;
data have;
input id date mmddyy10.;
cards;
2309 04/14/2013
2309 05/01/2013
2309 05/21/2013
2309 06/21/2013
;
data want(drop=date);
retain id initialdate;
set have;
by id;
if first.id then initialdate=date;
Recent=ifn(last.id,date,.);
if last.id;
format initialdate Recent mmddyy10.;
proc print;run;
Obs id initialdate Recent
1 2309 04/14/2002 06/21/2002
Thanks you very helpful!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.