data have;
a ="2, 2, 3, 3, 4 "; output;
a ="2, 3, 3, 4, 5, 5"; output;
a ="3, 6, 8, 8, 9, 0"; output;
run;
data have1;
set have;
do i = 1 to countw(a);
b1 = scan(a,i);
output;
end; drop i;
run;
proc sql;
create table have2 as
select distinct a, b1
from have1
group by a
order by a, b1;
quit;
data wanted;
set have2;
by a;
length b $20;
retain b;
if first.a then b=b1;
else b = cats(b, ",", b1);
if last.a then output;
drop b1;
run;