各位大虾:
最近在编程时碰到这样一个问题,请高手帮忙看看:
data work.bb;
do i=1 to 9;
output;
end;
run;
data _null_;
set work.bb;
call symput('nclus',i);
run;
data work.aa;
array ww(*) ww1-ww&nclus;
do i=1 to &nclus;
ww(i)=i;
output;
end;
run;
结果在运行aa数据集时报错如下:
246 data work.aa;
247 array ww(*) ww1-ww&nclus;
-
200
NOTE: 由宏变量“NCLUS”生成行。
1 ww 1
-
22
ERROR: 编号的变量列表中 (ww1-ww) 数字后缀缺失。
WARNING: 定义带 0 个元素的数组。
ERROR 200-322: 该符号不可识别,将被忽略。
ERROR 22-322: 语法错误,期望下列之一: 名称, (, ;, _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_.
248 do i=1 to &nclus;
249 ww(i)=i;
250 output;
251 end;
252 run;
NOTE: SAS 系统由于错误而停止了该步的处理。
WARNING: 数据集 WORK.AA 可能不完整。该步停止时,共有 0 个观测和 1 个变量。
WARNING: 数据集 WORK.AA 由于该步已停止,而没有被替换。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.01 秒
CPU 时间 0.01 秒