全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3039 2
2016-07-23
右边码的代码是数据集中的例子,为什么会提示错误啊
data contri;
input empid $ qtrnum $ amount;
cards;
e00224 qtr1 12
e00224 qtr2 33
e00224 qtr3 22
e00224 qtr4 .
e00224 qtr1 35
e00367 qtr1 35
e00367 qtr2 48
e00367 qtr4 30
e00441 qtr1 .
e00441 qtr2 63
e00441 qtr4 15
;
data a;
length goalamount 8;
if _N_=1 then do;
declare hash goal( );
goal.definekey("qtrnum");
goal.definedata("goalamount");
goal.definedone( );
call missing (qtrnum,goalamount);
goal.add(key:"qtr1",data:"10");
goal.add(key:"qtr2",data:"15");
goal.add(key:"qtr3",data:"5");
goal.add(key:"qtr4",data:"15");
end;
set contri;
goal.find( );
diff=amount-goalamount;
run;
proc print data=a;
run;


附件列表
360截图20160723235410381.jpg

原图尺寸 20.73 KB

360截图20160723235410381.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2016-7-30 12:31:44
变量qtrnum在2个数据集都有,一个是数值型,一个字符型,改成一致的就可以了
二维码

扫码加我 拉你入群

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

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

2017-8-15 10:06:47
因为qrtnum的第一次出现是在call missing (qtrnum,goalamount)中,call missing默认它为数据类型,还不是字符型;

等到set语句时,发现变量类型不一致了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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