【发布时间】:2009-09-04 14:36:14
【问题描述】:
我正在使用 SAS 9.1.3 在 DATA 步骤中调用宏,但该宏会生成 PROC REPORT 步骤,因此我使用 CALL EXECUTE 来调用它,生成所有这些 PROC REPORT 步骤,然后执行它们都在 DATA 步之后。
我正在使用一个数组,并且每次都会对该数组中的每个元素执行宏:
DATA macro_test;
ARRAY questions[3] $ 32 ('question1' 'question2' 'question3');
DO i=1 to 3;
a_question = questions(i);
CALL EXECUTE( "%report_by_question(a_question)" );
end;
RUN;
问题是,报告输出(通常)向后输出 - 它会先打印 question3,然后是 2,然后是 1。
有没有办法修改 CALL EXECUTE 的执行顺序,以便我可以按顺序打印问题报告,还是它只是做自己的事情?
谢谢!
【问题讨论】: