楼主: shuimozhou
2763 5

急求:相同变量数据加总 [推广有奖]

  • 0关注
  • 0粉丝

初中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
125 点
帖子
11
精华
0
在线时间
12 小时
注册时间
2012-3-20
最后登录
2016-7-12

楼主
shuimozhou 发表于 2013-1-18 11:57:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有一张表形式如下:
id        amount
001     100
003     200
005     500
009     700
001     400
005     600
如上所示,id中有重复的记录,现在我想实现的结果是
id        amount
001     500
003     200
005     1100
009     700
就是把id相同的金额汇总,记录只出现一条,怎么操作啊?求!



二维码

扫码加我 拉你入群

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

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

关键词:amount 怎么操作 AMO 记录

沙发
webgu 发表于 2013-1-18 12:19:50
data demo;
input  id     amount;
datalines;
001     100
003     200
005     500
009     700
001     400
005     600
;

proc sql;
  select id ,sum(amount) as sum_amount
  from demo
  group by id;
quit;
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

藤椅
webgu 发表于 2013-1-18 12:25:16
/*or do it in data step*/

proc sort data=demo;
  by id;
run;

data want;
    set demo;  
    by id;
if first.id then sum_amount=0;
   sum_amount+amount;
if last.id;
run;
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

板凳
zhengbo8 发表于 2013-1-18 12:29:42
data a;
input id $ amount;
datalines;
001     100
003     200
005     500
009     700
001     400
005     600
;
run;

proc sort data=a;
        by id;
run;

data b;
        set a(rename=(amount=amount1));
        by id;
        if first.id then amount=0;
        retain amount;
        amount=sum(amount,amount1);
        if last.id;
        drop amount1;
run;

运行结果:

id        amount
001     500
003     200
005     1100
009     700

报纸
ihust 发表于 2013-1-18 22:18:58
data tmp;
input id $ amount;
cards;
001     100
003     200
005     500
009     700
001     400
005     600
;
run;
proc sql;
select id,  sum(amount) as sum
from tmp
group by id
;
quit;

地板
shuimozhou 发表于 2013-1-24 16:41:03
谢谢楼上三位,帮助很大!

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

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