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 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Mon, 15 Dec 2008 09:10:30 -0500
Reply-To:   Ed Heaton <EdHeaton@WESTAT.COM>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   Ed Heaton <EdHeaton@WESTAT.COM>
Subject:   Re: Macro Do Loop for Discrete Values
Comments:   To: "D. Yanosky" <dyanosky@KENNESAW.EDU>
In-Reply-To:   <200812150016.mBEBoP8Q031734@malibu.cc.uga.edu>
Content-Type:   text/plain; charset="us-ascii"

Daniel;

I ran your code and it seemed to work just fine. Can you tell us why you think it doesn't work?

Ed

Edward Heaton, Senior Systems Analyst, Westat (An Employee-Owned Research Corporation), 1650 Research Boulevard, TB-286, Rockville, MD 20850-3195 Voice: (301) 610-4818 Fax: (301) 294-2085 mailto:EdHeaton@Westat.com http://www.Westat.com

-----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of D. Yanosky Sent: Sunday, December 14, 2008 7:16 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Macro Do Loop for Discrete Values

Hello,

I need to run a macro-valued do loop using discrete values. I found the following code (paraphrased) on the list-serv, but it does not seem to work in my case because one of my values contains a decimal. Any idea on how to make this work?

%LET VARIANCE = %STR(1.5 2 3 5);

%MACRO SIM(ITER=);

%LOCAL I TKN1;

%LET I = 1; %LET TKN1 = %SCAN(&VARIANCE, &I); %DO %WHILE (%LENGTH(&TKN1) NE 0);

DATA D; I = &I; TOKEN = &TKN1; RUN;

PROC APPEND BASE=RESULTS DATA=D FORCE; RUN; QUIT;

%LET I = %EVAL(&I + 1); %LET TKN1 = %SCAN(&VARIANCE, &I);

%END;

%MEND;

%SIM(ITER=1)

PROC PRINT DATA=RESULTS; RUN; QUIT;

Thanks,

Daniel


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