我正在使用 SAS 9.1.3 在 DATA 步骤中调用宏,但宏会生成 PROC REPORT 步骤,因此我使用 CALL EXECUTE 来调用它,生成所有这些 PROC REPORT 步骤,然后在数据步。
我正在使用一个数组,每次都会为此数组中的每个元素执行宏:
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 的执行顺序,以便我可以按顺序打印问题报告,或者它只是做自己的事情?
谢谢!