proc sort - это самый простой способ сделать это.Вы можете использовать недокументированную функцию monotonic (), чтобы сделать это в Proc sql, как показано ниже
data have;
input acct attr1 $ attr2 $ attr3 $;
datalines;
100 a b c
100 b d e
100 c e f
101 a b c
102 h i j
102 h k l
;
proc sql;
create table want(drop =rn) as
select * from
(select b.*,monotonic() as rn
from have b)
group by acct
having rn =min(rn);
или используя n в шаге данных (создание представления является хорошим вариантом, как предложено @richardв комментариях) с последующей группировкой, как показано ниже.
data have_view/view=have_view;;
set have;
rn=_n_;
run;
proc sql;
create table want as
select acct, attr1 , attr2 , attr3
from have_view b
group by acct
having rn =min(rn);