早教吧 育儿知识 作业答案 考试题库 百科 知识分享

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

题目详情
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
▼优质解答
答案和解析
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;