data VS; input ptid @5 vsdtc ddmmyy10. @17 result; format vsdtc ddmmyy10.; cards; 101 24/10/2018 110 101 25/10/2018 120 101 26/10/2018 115 101 27/10/2018 125 101 28/10/2018 135 102 23/10/2018 130 102 25/10/2018 120 102 26/10/2018 110 102 29/10/2018 115 102 30/10/2018 125 103 24/10/2018 120 103 26/10/2018 140 103 27/10/2018 110 103 28/10/2018 115 103 28/10/2018 145 ; run; data DM; input ptid @8 rfstdtc ddmmyy10.; format rfstdtc ddmmyy10.; cards; 101 26/10/2018 102 26/10/2018 103 27/10/2018 ; run; proc sort data=VS; by ptid; run; proc sort data=DM; by ptid; run; data VS1; merge VS DM; by ptid; run; proc print; run; DATA VS2 VS3; set VS1; if vsdtc < rfstdtc then output VS2; if vsdtc > rfstdtc then output VS3; run; DATA NEWL; SET VS2; IF LAST.result THEN vsblfl = 'Y'; RUN; PROC PRINT; RUN
... View more