data a;
input id a1 a2 a3 a4 a5;
cards;
1 2 6 8 9 4
2 5 7 6 3 .
3 4 7 3 2 .
4 7 8 6 . .
;
run;
proc transpose data=a out=b;
by id;
run;
data c;
set b;
if COL1=. then delete;
run;
data d;
set c;
by id notsorted;
if first.id then output;
if last.id then output;
run;
proc transpose data=d out=f;
by id;
run;
data g;
set f;
last=compress(cats(of a3-a5),,'kd');
run;
data x;
set g;
keep id a1 last;
rename a1=first;
run;
data y;
set x;
newlast=input(last,12.);
run;
data z;
set y;
keep id first newlast;
rename newlast=last;
run;