全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6252 3
2012-03-08
各位大虾:
最近在编程时碰到这样一个问题,请高手帮忙看看:
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 秒
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-3-8 16:32:50
array ww(*) ww1-ww&nclus;
如下
array ww(*) ww1-ww%left(&nclus);
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-8 16:35:09
谢谢楼上,以前sas可以跑,最近重装了sas就不可以了,就是感觉挺奇怪的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-12 04:04:22
change

call symput('nclus',i);    ----> call symputx('nclus',i);

the call symputx will do left and trim functions automatically while it assigns variable i to nclus.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群