Hi Kyoo, Proc transpose would work fine for your data. But what if the data is like this... 111 1-Jan 1 111 1-Feb 3 111 1-Mar 4 222 1-Jan 1 222 1-Apr 3 Order2 will not be included in your output. For this u have to go with data step as given below, DATA HAVE; INPUT Acct mail_date $ Order; DATALINES; 111 1-Jan 1 111 1-Feb 3 111 1-Mar 4 222 1-Jan 1 222 1-Apr 3 ; RUN; *Selecting the maximum of order; PROC SQL NOPRINT; SELECT MAX(ORDER) INTO :M_ORD FROM HAVE ; QUIT; PROC SORT DATA=HAVE; BY ACCT; RUN; DATA WANT(DROP=ORD MAIL_DATE I); SET HAVE (RENAME=(ORDER=ORD)); ARRAY ORDER(&M_ORD) $ ; BY ACCT; RETAIN ORDER: ; IF FIRST.ACCT THEN DO I = 1 TO &M_ORD; ORDER(I)=" "; END; ORDER(ORD)= MAIL_DATE; IF LAST.ACCT; RUN;
... View more