楼主: appleqiuqiu
2432 5

[问答] 按照两个指标进行分类加总 [推广有奖]

  • 0关注
  • 1粉丝

已卖:773份资源

副教授

41%

还不是VIP/贵宾

-

威望
0
论坛币
3666 个
通用积分
2.9200
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
4191 点
帖子
133
精华
0
在线时间
1514 小时
注册时间
2010-4-27
最后登录
2022-6-22

楼主
appleqiuqiu 发表于 2014-9-13 17:46:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
问题描述:

捕获.PNG

我这里有两列id,同一个序号代表同一个观测,我现在想做的是同时按照id1和id2对第三列的数进行加总,具体的:把同一个id1下相同的id2进行加总,希望输出这样的形式:

捕获.PNG
即3.45=1.57+1.88
3.54只有一个,所以还是3.54

求助各位大神,在SAS里该如何实现啊?
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 如何

沙发
appleqiuqiu 发表于 2014-9-13 17:49:48
自己顶,求诸位大神赐教!

藤椅
zhengbo8 发表于 2014-9-13 19:00:40

  1. data test;
  2.         input id1 id2 minute;
  3. datalines;
  4. 123 987 1.57
  5. 123 987 1.88
  6. 123 890 3.54
  7. 123 456 0.2
  8. 123 456 56.8
  9. 234 156 4.5
  10. 234 156 9.6
  11. 234 678 4.3
  12. ;
  13. run;

  14. proc sql noprint;
  15.         create table result as
  16.         select id1,id2,sum(minute)as minute
  17.         from test
  18.         group by id1,id2
  19.         order by id1,id2;
  20. quit;
复制代码

板凳
zhengbo8 发表于 2014-9-13 19:15:07
若要求效率,就使用DATA步。
  1. data test;
  2.         input id1 id2 minute;
  3. datalines;
  4. 123 987 1.57
  5. 123 987 1.88
  6. 123 890 3.54
  7. 123 456 0.2
  8. 123 456 56.8
  9. 234 156 4.5
  10. 234 156 9.6
  11. 234 678 4.3
  12. ;
  13. run;

  14. proc sort data=test; by id1 id2; run;

  15. data result(drop=minute rename=(sum=minute));

  16.         set test;
  17.         by id1 id2;
  18.         retain  sum 0;
  19.         if first.id1 | first.id2 then sum=0;
  20.         sum=sum+minute;
  21.         if last.id2 then output;

  22. run;
复制代码

报纸
zhengbo8 发表于 2014-9-13 19:16:41
若是大数据,就使用HASH表,具体代码就不贴了。

地板
appleqiuqiu 发表于 2014-9-13 19:34:49
zhengbo8 发表于 2014-9-13 19:15
若要求效率,就使用DATA步。
多谢老朋友!!!经测验,完全无bug!!!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 23:36