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