楼主: javitianyu
10212 5

SAS大白系列之count [推广有奖]

  • 0关注
  • 0粉丝

大专生

16%

还不是VIP/贵宾

-

威望
0
论坛币
516 个
通用积分
0
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
244 点
帖子
27
精华
0
在线时间
41 小时
注册时间
2015-2-5
最后登录
2016-6-7

楼主
javitianyu 学生认证  发表于 2015-9-30 09:44:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
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

二维码

扫码加我 拉你入群

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

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

关键词:Count Individual individua RETAIN Total individual count

沙发
Crsky7 发表于 2015-9-30 09:55:33
因为data score2这步中没有retain count 0;

藤椅
javitianyu 学生认证  发表于 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之后,但还是不行呢?

板凳
javitianyu 学生认证  发表于 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之后,但还是不行呢?

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

地板
Crsky7 发表于 2015-9-30 10:20:10
  1. data score;
  2. input chi math eng;
  3. cards;
  4. 80 75 95
  5. 70 85 92
  6. 85 80 94
  7. 93 96 88
  8. 80 99 86
  9. ;
  10. run;
  11. data score2;
  12. set score end=final;
  13. retain count 0;
  14.    count=count+1;
  15.    total=chi+math+eng;
  16. if final then put 'total=' count  'individual mark=' total;
  17. proc print;
  18. run;
复制代码


这样就不会有问题

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 13:09