全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5277 14
2011-04-25
求助各位:我需要将表中mnthsgn和indcd完全相同的obs合并求和,该怎么写程序呢?
附件列表
未命名.bmp

原图尺寸 1.05 MB

未命名.bmp

二维码

扫码加我 拉你入群

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

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

全部回复
2011-4-25 17:01:14
这个适用于你的第二列相同情况,不知道是不是你需要的。
data a;
input mn monyy5.  ind  x;
format mn yymms7.;
cards;
sep05  27  166
sep05  27  166
oct05  27  345  
oct05  27   344
oct05  27  445
oct05  27  356
oct05  27  764
nov05  27  454
nov05  27  356
nov05  27  356
nov05  27  257
dec05  27  457
dec05  27  864
dec05  27  453
dec05  27 637
jan06  27 234
jan06  27 15767
;
run;

proc sql;
select  mn ,sum(x) as total_x  /*total_x类似你的后边的数据*/
from a
group by mn ;
quit;
二维码

扫码加我 拉你入群

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

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

2011-4-25 21:22:15
2# zhaoping603
感谢热心回复,还有两个很弱的回复求大神顺便回答吧@@

1、sql结果是以output的形式展现的,要生成table需要什么语句呢?
2、select 和group by在这里是什么意思呀?我大概有一万多条数据,mn和in同时相同才做求和运算,这个的话要怎么搞呢?
二维码

扫码加我 拉你入群

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

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

2011-4-26 00:14:38
3# jhtata
1. 生成table:
proc sql;
create table a as select ... from... where ...
2. select, group by是 sql 的基本语句。 select 是告诉SAS 选择哪个column;group by是按哪个Column分组
proc sql;
create table a as select *, sum(x) from work.a group by mn, in;
quit;
同时group by mn, in 就可以在这两个变量同时相同的时候求和了。
希望能有点帮助。


二维码

扫码加我 拉你入群

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

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

2011-4-26 08:34:42
4# sas_user
感谢楼上各位的细心解答!
根据两位的指导,我能得到我要的结果了,但表里面的重复值该怎么删除呢?
我大概想到用first./last.但写不来语句...><
附件列表
未命名.bmp

原图尺寸 1.05 MB

未命名.bmp

二维码

扫码加我 拉你入群

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

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

2011-4-26 08:54:57
复制代码
这样结果就应该不会有重复观测
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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