data try_1; input ID c_ID d_status age fin_grp; datalines; 1 1 1 6 1 1 2 1 12 1 1 3 1 15 1 2 1 2 10 0 2 2 2 14 0 2 3 2 16 0 4 1 1 6 1 4 2 2 13 1 4 3 2 15 1 5 1 1 9 0 5 2 2 12 0 5 3 2 11 0 ; data want (drop=age1 c_id1); age1=.; do until(last.id); set try_1; by id; where (fin_grp=1 and d_status=1) or (fin_grp=0 and d_status ne 1); age1= min(age1,age); if age<=age1 then c_id1=c_id; else if age>age1 then c_id=c_id1; end; age=age1; run;
... View more