data have;
input ID (Startdate Stopdate Result) (:$40.);
cards;
1 02/03/2011 02/05/2011 1
1 03/22/2016 . 3
1 05/13/2016 05/13/2016 4
2 11/11/2011 11/13/2011 2
2 03/23/2012 03/23/2012 1
2 09/10/2016 . 4
2 02/02/2019 02/02/2019 2
;
data temp;
set have;
by id;
if first.id then n=0;
n+1;
run;
proc sql noprint;
select distinct catt('temp(where=(n=',n,') rename=(Startdate=Startdate',n,' Stopdate=Stopdate',n,' Result=Result',n,'))')
into : merge separated by ' '
from temp;
quit;
data want;
merge &merge.;
by id;
drop n;
run;
... View more