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 (December 2008, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Mon, 1 Dec 2008 05:32:01 -0500
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: Dynamically resolving macro
Comments:   To: raj13232.s@GMAIL.COM

Hi Raj,

You don't want to write so much code and yet be able to generate many similar, related macro calls. Something like the following then:

%MACRO Looping (Test_Start=, Test_End=, ID_Start=, ID_End=); %LOCAL I J; %DO I = &Test_Start %TO &Test_End; %DO J = &ID_Start %TO &ID_End; %diff_DW_STATEs(TEST=VW_&I._PT,state=1,ID=&J,Zvalue=ZVALUE11); %diff_DW_STATEs(TEST=VW_&I._PT,state=2,ID=&J,Zvalue=ZVALUE1); %diff_DW_STATEs(TEST=VW_&I._PT,state=3,ID=&J,Zvalue=ZVALUE2); %END; %END; %MEND;

%Looping (Test_Start=1, Test_End=20, ID_Start=201, ID_End=400)

Adapt as desired.

Regards - Jim. -- Jim Groeneveld, Netherlands Statistician, SAS consultant home.hccnet.nl/jim.groeneveld

On Fri, 28 Nov 2008 23:18:36 -0800, raj <raj13232.s@GMAIL.COM> wrote:

>Hi, > >Can we make this code dynamic as i have 150 id like this. >As of now i am passing this through macros because every id has >different view (input dataset). >Earlier i was thinking to do parallel processing but i should pass 150 >id and it becomes huge code. >I can make this state dynamic by using proc sql and writing do loop >over it.i already made differenct companies in each state dyanamic >like the above using sql and loops. >but how about my input dataset (for eg:VW_16_PTEST,VW_19_PT) which is >different for each ids. > >%diff_DW_STATEs(TEST=VW_16_PT,state=1,ID=96,Zvalue=ZVALUE11); >%diff_DW_STATEs(TEST=VW_16_PT,state=2,ID=96,Zvalue=ZVALUE1); >%diff_DW_STATEs(TEST=VW_16_PT,state=3,ID=96,Zvalue=ZVALUE2); > >%diff_DW_STATEs(TEST=VW_19_PT,state=1,ID=216,Zvalue=ZVALUE11); >%diff_DW_STATEs(TEST=VW_19_PT,state=2,ID=216,Zvalue=ZVALUE1); >%diff_DW_STATEs(TEST=VW_19_PT,state=3,ID=216,Zvalue=ZVALUE2); > >Thanks! >Raj


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