data bbb;set aaa;run;
proc sort data=bbb;by id visit;
run;
data c;set bbb;by id ;
if last.id;
run;
data c;set c;
if visit=1 then delete;
run;
data c;set c;
visitpass=1;
run;/*选出visit>1的个体,用visitpass标记*/
proc sort data=bbb;by id x;
run;
data d;set bbb;by id x;
if last.id;
run;
data d;set d;fl=x;run;/*选出x最大的个体*/
data cd;merge c d;by id;
run;
data cd;set cd;
if visitpass=. then delete;
run;
data cdd;set cd;keep id fl;run;
data eee;set bbb;by id ;
if first.id;
run;
data ccc;merge eee cdd;by id ;
run;
data ddd;merge ccc aaa;by id visit;run;
proc sort data=aaa(where=(visit>1)) out=bbb;by id visit x;run;
data bbb;
set bbb;
by id visit x;
if last.id;
visit=1;
rename x=fl;
run;
proc sort data=aaa;by id visit;run;
data result;
merge aaa(in=a) bbb(in=b);
by id visit;
if a;
run;