我正在尝试使用
将varialbe中的值保存到宏变量中 call symputx
然而SAS抛出错误
我写的程序是这样的
data want;
set have;
array SR(*) &orde;
bb=dim(SR);
call symputx('D',bb);
array M(symget('D'));
do i=1 to dim(SR);
M(i)=SR(i);
end;
run;
它给出错误
array MXY_A(symget(D));
-
79
76
ERROR 79-322: Expecting a ).
ERROR 76-322: Syntax error, statement will be ignored.
这里可能出现什么问题?
答案 0 :(得分:2)
在编译数据步骤之前,在开始执行之前设置数组的维度。在数据步骤开始执行之前,不会通过call symput
定义宏变量。如果要使用宏变量来设置这样的数组大小,则需要在数据步骤之前定义它。
答案 1 :(得分:0)