LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (July 2011, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Wed, 20 Jul 2011 06:14:53 -0400
Reply-To:     Jim Groeneveld <jim.1stat@YAHOO.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Jim Groeneveld <jim.1stat@YAHOO.COM>
Subject:      Re: how to solve this senario?

Hi Nway,

You might use my macro %MR2RM as in the following example:

FILENAME AutoCall "your SAS AUTOCALL directory"; OPTIONS MAUTOSOURCE SASAUTOS = (AutoCall);

DATA LongData; INPUT PATID SIDE $ DAY ACI ERM; CARDS; 1001 LEFT 1 23 24 1001 RIGHT 1 41 29 1001 LEFT 2 34 15 1001 RIGHT 2 30 5 ; RUN;

TITLE "LongData"; PROC PRINT DATA=LongData; RUN;

%MR2RM (Data=LongData, Out=WideData, Overwrit=Y, ByList=PatID Side, Index=Day, VarList=ACI ERM);

TITLE "WideData"; PROC PRINT DATA=WideData; RUN;

The only thing is that the result variables are not named as you might want, but index numbers are appended to the original variable names. You may rename those variables afterwards.

Download the macro %MR2RM.sas as MR2RM.zip from http://jim.groeneveld.eu.tf/software/SASmacro/ Also download the following necessary auxiliary macros: ChkVar PreZeros FirstCh ChkList CrossChk as zip files from the same location. Put all macros in your SAS AUTOCALL directory.

Regards - Jim. -- Jim Groeneveld, Netherlands Statistician/SAS consultant http://jim.groeneveld.eu.tf

On Wed, 20 Jul 2011 04:40:36 -0400, Nway <hymadsk@GMAIL.COM> wrote:

>Hi All, > > I have data like > > > PATID SIDE DAY ACI ERM > 1001 LEFT 1 23 24 > 1001 RIGHT 1 41 29 > 1001 LEFT 2 34 15 > 1001 RIGHT 2 30 54 > > >I WANT TO OUTPUT AS EACH DAY WISE WE NEED TO CREATE ONE SAPERATE VARIABLE > > DAY1 DAY2 DAY1 DAY2 > PATID SIDE DAY S1_ACI S2_ACI S1_ERM S2_ERM > 1001 LEFT 1 23 34 24 15 > 1001 RIGHT 1 41 30 29 54 > > >HOW TO CREATE ABOVE DATASET USING ARRAYS? > >PLEASE HELP ME OUT THIS? > >THANKS, >NWAY.


Back to: Top of message | Previous page | Main SAS-L page