|
data test;
input usubjid : $15. visit & $8. svstdtc : $12.;
cards;
101202-200101 Visit 1 2013-04-16
101202-200101 Visit 2 2013-04-23
101202-200101 Visit 3 2013-04-27
101202-200101 Visit 4 2013-05-21
101202-200101 Visit 5 2013-06-14
101202-200101 Visit 6 2013-07-17
101202-200102 Visit 1 2013-04-18
101202-200102 Visit 2 2013-04-25
101202-200103 Visit 1 2013-04-22
101202-200103 Visit 2 2013-04-27
101202-200103 Visit 3 2013-05-04
;
proc sort data=test;
by usubjid descending visit descending svstdtc;
run;
data test1;
set test;
by usubjid descending visit descending svstdtc;
lagdtc=lag(svstdtc);
if first.usubjid then svendtc=svstdtc;
else svendtc=put(input(lagdtc,yymmdd10.)-1,yymmdd10.);
drop lagdtc;
run;
proc sort data=test1;
by usubjid visit svstdtc;
run;
|