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!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.