我正在想创建这样的数据集,P1_31,P1_32,P1_36,P1_37在SAS使用下面的代码%DO循环显示我的错误是SAS
%MACRO P_MISS1;
%LET T1= 3 ;
%LET H1=1;
%DO %WHILE(&H1<=1);
%LET TR1=%SCAN(&T1,&H1);
%DO I= 1,2,6 %TO 7;
DATA P1_&TR1&I;
VALUE=.;
COL&TR1=.;
RUN;
OUTPUT;
%END;
%LET H1=%EVAL(&H1+1);
%END;
%MEND P_MISS1;
%P_MISS1
我用很多宏观的计划,所有上述数据集,但只是为了减少我创建下面的代码的代码大小。我知道我正在做%Do Loop的问题。如果有可能使用上面的代码,请引导我使用代码。
使用%前做我= 1, 2,6%到7,我用%做我= 1,2,6,7。 –
我不认为宏语言支持任何结构。 (两者都是数据步骤中的合法结构,但使用它的人会很奇怪,因为它没有做任何事情。)我相信宏语言只支持%do x%到y,没有逗号列表或类似的东西。 – Joe