全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
10126 5
2015-09-30
data score;
retain count total 0;
input chi math eng;
cards;
80 75 95
70 85 92
85 80 94
93 96 88
80 99 86
;
data score2;
set score end=final;
  count=count+1;
  total+chi+math+eng;
if final then put 'total=' count  'individual mark=' total;
proc print;
run;

问:之前用count=count+1跑出来的结果都是1、2、3、4、5
但以上程序跑出来都是1.1.1.1.1,求问为什么啊?结果如下:
Screen Shot 2015-09-29 at 9.43.36 PM.png

二维码

扫码加我 拉你入群

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

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

全部回复
2015-9-30 09:55:33
因为data score2这步中没有retain count 0;
二维码

扫码加我 拉你入群

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

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

2015-9-30 10:11:14
Crsky7 发表于 2015-9-30 09:55
因为data score2这步中没有retain count 0;
我看书对retain的解读就是一般用在求和前将有关变量“置成0”,以此避免sas在反复读取数据前将input语句行的变量值当做缺少值。但是我一直不是很明白这个的意义?

我尝试把retain count 0加在了data score2之后,但还是不行呢?
二维码

扫码加我 拉你入群

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

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

2015-9-30 10:11:14
Crsky7 发表于 2015-9-30 09:55
因为data score2这步中没有retain count 0;
我看书对retain的解读就是一般用在求和前将有关变量“置成0”,以此避免sas在反复读取数据前将input语句行的变量值当做缺少值。但是我一直不是很明白这个的意义?

我尝试把retain count 0加在了data score2之后,但还是不行呢?
二维码

扫码加我 拉你入群

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

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

2015-9-30 10:18:24
javitianyu 发表于 2015-9-30 10:11
我看书对retain的解读就是一般用在求和前将有关变量“置成0”,以此避免sas在反复读取数据前将input语句行 ...
因为你在data score中加了retain count total 0;
二维码

扫码加我 拉你入群

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

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

2015-9-30 10:20:10
复制代码


这样就不会有问题
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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