2015-04-06 7 views
1

В настоящее время мой макрос выполняется для вставки постоянного количества строк:Вставьте переменное число строк

%MACRO ADD_PERIOD; 

%DO P = 1 %TO 39; 

ли я быть в состоянии изменить этот макрос или создать новый макрос для запуска этого, а не 39 раз , но замените число циклов на переменную, которую я имею из другой таблицы?

Спасибо!

ответ

2

Используйте call symput, чтобы превратить эту переменную (my_var) в macro переменную (loop_var)

data _null_; 
set your_table; 
call symput("loop_var", my_var); 
run; 

и использовать & разрешить макропеременную в код

%MACRO ADD_PERIOD; 

%DO P = 1 %TO &loop_var; 

Можно также передать эту макро переменную как параметры в ваш макрос.

%MACRO ADD_PERIOD(loop_var); 
+0

О, мужчина! Это сработало! Спасибо огромное! – Young