Hi... Pls the try following code: data have; infile datalines dlm=' ' truncover; input (groupname x) (:$2.) xnum 8.; datalines; a ui 100 b gg 100 c hy 40 c kt 59 c jj 1 d kq 88 d qp 3 d qv 9 e nl 100 f aq 34 f zz 2 f bb 30 f mq 34 g qq 66 g gt 5 g zf 29 h hu 100 i aa 40 i xf 20 i ir 40 j er 33 j ae 33 j vt 33 ; run; proc sql; create table temp_table as(select groupname, x , xnum from have a where xnum=(select max(xnum) from have b group by groupname having a.groupname=b.groupname)); quit; proc sort data=temp_table; by groupname xnum; run; data want;length b1 $20.; retain b1; set temp_table; by groupname xnum; if first.xnum then b1=x; else b1=catt(b1,',',x); if last.xnum; drop x; rename b1=x; run;
... View more