PROC FREQ DATA=A NOPRINT ORDER=FREQ;
TABLES A/MISSING OUT=F_A(KEEP=COUNT);
RUN;
DATA _NULL_;
IF _N_=1 THEN SET F_A;
CALL SYMPUTX('N',COUNT);
RUN;
%PUT &N;
PROC SORT DATA=A;
BY A;
DATA A;
SET A;
BY A;
ARRAY X(&N) $;
RETAIN X;
IF FIRST.A THEN DO;
N=0;
DO I=1 TO &N;
X(I)='';
END;
END;
N+1;
X(N)=B;
IF LAST.A THEN OUTPUT;
KEEP A X:;
RUN;
PROC PRINT;
RUN;