[code:3akik8dk]data a;
input m n $;
cards;
1 A
1 .
1 .
2 .
2 B
2 .
3 .
3 .
3 C
;
run;
/*method I*/
proc sort data=a out=b;
by m descending n;
run;
data b2(drop=n rename=(nn=n));
retain m nn;
set b;
by m descending n;
if first.m then nn=n;
run;
/*method II*/
proc sql;
create table b3(drop=nn) as
select *,max(nn) as n
from a(rename=(n=nn))
group by m;
run;[/code:3akik8dk]