You don't want macros, you want arrays: data test; set table; array cure_stress{4} 8.; cure_stress{1}=cure_rate * (1 + weighted_param_diff); do I=2 to 4; cure_stress{I}=cure_stress{I-1} * (1 + weighted_param_diff); end; run; You could of course put number of iterations into a macro variable if you want and replace that in the code.
... View more