楼主: Lindsay林
376 4

[SAS EM] SAS分组求和问题 [推广有奖]

  • 0关注
  • 1粉丝

高中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
12 个
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
247 点
帖子
15
精华
0
在线时间
49 小时
注册时间
2014-10-18
最后登录
2018-10-16

Lindsay林 发表于 2018-8-9 23:21:54 |显示全部楼层
本帖最后由 Lindsay林 于 2018-8-10 20:31 编辑

SB

year

month

mv

fenzi





BH

2000

11

a

x





BH

2000

11

b

y

rp=(x+y+z)/(a+b+c)



BH

2000

11

c

z





BH

2000

12







BH

2000

12







BH

2000

12







BH

2001

1







BH

2001

1







BH

2001

1







BL

2000

11







BL

2000

11







BL

2000

11







BL

2000

12







BL

2000

12







BL

2000

12







BL

2001

1







BL

2001

1







BL

2001

1







数据先按SB分为三类,BH BL BM;SB的每一项后面,比如BH后面,又按月份排序;
现在要求每个月的rp,怎么写代码?

最后要求的结果是这样的:

SB

year

month

rp

BH

2000

11


BH

2000

12


BH

2001

1


BL

2000

11


BL

2000

12


BL

2001

1





stata SPSS
Lindsay林 发表于 2018-8-10 22:01:25 |显示全部楼层
proc sql;
create table shuju as
select SB,year,month,sum(mv) as mv,sum(fenzi) as fenzi,sum(fenzi)/sum(mv) as rp
from aa
group by 1,2,3;
quit;
回复

使用道具 举报

whymath 发表于 2018-8-11 21:54:51 |显示全部楼层
与此帖类似:
http://bbs.pinggu.org/thread-6575726-1-1.html
萍踪隐
回复

使用道具 举报

steven_1017 发表于 2018-8-17 11:46:08 |显示全部楼层
里面的mv,fenzi,我随便编了一些数字,但大概按照你希望的business写了一下,你看看。
data work.test;
input sb $ year month mv fenzi;
datalines;
BH 2000 11 4 3
BH 2000 11 5 3
BH 2000 11 2 6
BH 2000 12 8 1
BH 2000 12 2 5
BH 2000 12 4 3
BH 2001 1 3 6
BH 2001 1 7 6
BH 2001 1 5 5
BL 2000 11 3 3
BL 2000 11 8 3
BL 2000 11 2 4
BL 2000 12 5 3
BL 2000 12 2 2
BL 2000 12 6 9
BL 2001 1 4 7
BL 2001 1 8 1
BL 2001 1 3 6
;
run;

proc sort data = work.test ;
by sb year month;
run;

data work.test1 (drop= mv fenzi mvsum fenzisum);
set work.test;
by sb year month;
if first.month then do;
mvsum = 0;
fenzisum = 0;
end;
mvsum + mv;
fenzisum + fenzi;
if last.month then do;
rp = fenzisum/mvsum;
output;
end;
run;
已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

回复

使用道具 举报

Lindsay林 发表于 2018-8-18 00:16:38 |显示全部楼层
steven_1017 发表于 2018-8-17 11:46
里面的mv,fenzi,我随便编了一些数字,但大概按照你希望的business写了一下,你看看。
data work.test;
...
谢谢谢谢,十分感谢!
回复

使用道具 举报

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

GMT+8, 2018-10-16 14:32