| 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 |
|
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
|