全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6532 3
2011-12-13
我先大致说一下我的问题吧
这只是一个数据集:
data test;
input region $ state $ month monyy5. headcnt expenses revenue;
format month monyy5.;
cards;
EASTERN VA FEB78 10 7800 15500
SOUTHERN FL MAR78 9 9800 13500
SOUTHERN GA JAN78 5 2000 8000
NORTHERN MA MAR78 3 1500 1000
SOUTHERN FL FEB78 10 8500 11000
NORTHERN NY MAR78 5 6000 5000
EASTERN VA MAR78 11 8200 16600
PLAINS NM MAR78 2 1350 500
SOUTHERN FL JAN78 10 8000 10000
NORTHERN NY FEB78 4 3000 4000
SOUTHERN GA FEB78 7 1200 6000
;
run;
接下来进行如下处理:
data ttest;
%let dsid=%sysfunc(open(test));
if &dsid gt 0 then do;
%let nobs=%sysfunc(attrn(&dsid,nobs));
do i=1 to &nobs;
  %let rc=%sysfunc(fetchobs(&dsid,i));
  %let varnume=%sysfunc(varnum(&dsid,region));
  %let variable=%sysfunc(getvarc(&dsid,&varnume));
end;
put "&dsid";
put "&nobs";
put "&rc";
put "&varnume";
put "&variable";
end;
run;
当运行第二段程序时,语句%let rc=%sysfunc(fetchobs(&dsid,i));会提示有错误?日志中说 i 变量不是number,哪位大侠帮我解释一下为什么会出现这种错误?最好也帮我解释一下put "&dsid";的输出结果,多次运行其输出值会逐步加1,为什么?非常感谢~~~


二维码

扫码加我 拉你入群

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

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

全部回复
2011-12-13 09:11:07
复制代码
二维码

扫码加我 拉你入群

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

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

2011-12-13 09:47:25
hopewell 发表于 2011-12-13 09:11
你好,非常感谢你帮我修正~你的意思是那段代码必须要放在一个宏中是吗?像我那样写不可以吗?
二维码

扫码加我 拉你入群

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

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

2011-12-13 14:39:47
等等...
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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