请选择 进入手机版 | 继续访问电脑版
楼主: bluehaiku
2757 2

在sas中,关于用hash实现数据集的链接,不懂 啊,求指教 [推广有奖]

  • 10关注
  • 2粉丝

讲师

73%

还不是VIP/贵宾

-

威望
0
论坛币
801 个
通用积分
14.6008
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
8765 点
帖子
212
精华
0
在线时间
624 小时
注册时间
2015-11-12
最后登录
2024-3-12

bluehaiku 发表于 2016-7-23 23:56:52 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
右边码的代码是数据集中的例子,为什么会提示错误啊
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;


二维码

扫码加我 拉你入群

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

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

关键词:HASH 数据集 求指教 Has Defined amount

360截图20160723235410381.jpg
ans_ 在职认证  发表于 2016-7-30 12:31:44 来自手机 |显示全部楼层 |坛友微信交流群
变量qtrnum在2个数据集都有,一个是数值型,一个字符型,改成一致的就可以了

使用道具

haowang1981 发表于 2017-8-15 10:06:47 |显示全部楼层 |坛友微信交流群
因为qrtnum的第一次出现是在call missing (qtrnum,goalamount)中,call missing默认它为数据类型,还不是字符型;

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

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-28 18:53