сумма (отличное число), как указано в вашем вопросе, должна работать:
data have;
input grp1 $1. grp2 $3 col1 col2;
datalines;
a b 20 .
a b 30 10
a b 20 10
a b . 10
;run;
proc sql;
select
grp1, grp2,
sum(distinct col1) as s1,
sum(distinct col2) as s2,
from have
group by grp1, grp2;
run;
... должна давать результаты:
grp1 grp2 s1 s2
---- ---- ---- ----
a b 50 10