sas分类汇总我数据表里有列A(日期),列B(类型),列C(需要求和的量)和列D(需要求和的量),其中是在每个A中有不同

sas分类汇总
我数据表里有列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
猞猁大仙 1年前 已收到1个回答 举报

云枫梦 幼苗

共回答了14个问题采纳率:92.9% 举报

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;

1年前 追问

6

猞猁大仙 举报

数据格式已经存在,不用继续输入,我就想怎么可以先按找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;
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.045 s. - webmaster@yulucn.com