sas分类汇总

我数据表里有列A(日期),列B(类型),列C(需要求和的量)和列D(需要求和的量),其中是在每个A中有不同的B,在SAS里如何先按照A,再按B来分类加总,即每个日期中的所... 我数据表里有列A(日期),列B(类型),列C(需要求和的量)和列D(需要求和的量),其中是在每个A中有不同的B,在SAS里如何先按照A,再按B来分类加总,即每个日期中的所有相同类型的B相加,然后再到下个日期,再把相同类型的B相加???数据格式如下:

A1 B1 C D
A2 B1 C D
A3 B1 C D
A4 B1 C D
A1 B2 C D
A2 B2 C D
A3 B3 C D
A4 B4 C D
展开
 我来答
可乐heihei
2013-03-07
知道答主
回答量:11
采纳率:0%
帮助的人:15.8万
展开全部
这样应该可以了。。。

data test;
input x $ y $ z k;
cards;
a1 1 1 1
a1 1 2 2
a2 1 1 1
a2 1 2 2
a3 3 1 1
a3 3 3 3
a1 4 4 4
a2 5 5 5
a3 6 6 6
;
proc summary data=test nway nmiss;
class x y;
var z k;
output out=test1(drop=_:)
sum(z)=sum_z
sum(k)=sum_k;
run;
追问
数据格式已经存在,不用继续输入,我就想怎么可以先按找A的分类,再按B的分类然后进行汇总?也就是说把所有A1里面的B1全加起来,然后再把A2里的B1又加起来,然后A3的B1加起来,然后A2的B1.A2的B2...如此类推,其实准确的格式是这样

A1 B1 C
A1 B1 C
A1 B1 C
A1 B1 C
A2 B1 C
A2 B1 C
A3 B1 C
A3 B1 C
A1 B2 C
A1 B2 C
A2 B2 C
A2 B2 C
追答
proc summary data=你得数据集名字 nway nmiss;
class A B;
var C;
output out=test1(drop=_:)
sum(C)=sum_C;
run;
zhongll0520
2013-03-08 · TA获得超过117个赞
知道答主
回答量:108
采纳率:0%
帮助的人:63万
展开全部
data tmp;
input x$ y $z ;
cards;
A1 B1 1
A1 B1 2
A1 B1 3
A1 B1 4
A2 B1 5
A2 B1 6
A3 B1 7
A3 B1 8
A1 B2 9
A1 B2 10
A2 B2 11
A2 B2 12
;
run;
proc sort data=tmp out=a ;by x y;run;
data b;
retain num 0;
set a;
by x y;
if first.x or first.y then num=z;else num=sum(z,num);
if last.x or last.y;
run;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式