[英]How to sum individual entries from multiple tables in SAS
我擁有的:
A隊
Material Accommodation Travel
1 月 8 日 12 日 10 日
2 月 8 日 15 日 30 日
3月9日12日20日
B隊
Material Accommodation Travel
1 月 4 日 18 日 20 日
2 月 7 日 14 日 20 日
3 月 6 日 12 日 10 日
團隊 C
Material Accommodation Travel
1 月 5 日 18 日 10 日
2 月 9 日 15 日 30 日
3 月 9 日 12 日 10 日
我想要的是:
和
Material Accommodation Travel
1 月 17 日 48 日 40 日
2 月 24 日 44 日 80 日
3 月 24 日 36 日 40 日
我想對三個表中的每個條目求和。
重現表的代碼:
proc sql;
create table TeamA
(Material num, Accommodation num, Travel num);
insert into TeamA
values(8,12,10)
values(8,15,30)
values(9,12,20);
run;
proc sql;
create table TeamB
(Material num, Accommodation num, Travel num);
insert into TeamB
values(4,18,20)
values(7,14,20)
values(6,12,10);
run;
proc sql;
create table TeamC
(Material num, Accommodation num, Travel num);
insert into TeamC
values(5,18,10)
values(9,15,30)
values(9,12,10);
run;
使用 SQL union all corresponding
的語句和 sql 聚合 function sum()
:
proc sql;
create table TeamA
(month char(3), Material num, Accommodation num, Travel num);
insert into TeamA
values('Jan',8,12,10)
values('Feb',8,15,30)
values('Mar',9,12,20);
run;
proc sql;
create table TeamB
(month char(3), Material num, Accommodation num, Travel num);
insert into TeamB
values('Jan',4,18,20)
values('Feb',7,14,20)
values('Mar',6,12,10);
run;
proc sql;
create table TeamC
(month char(3), Material num, Accommodation num, Travel num);
insert into TeamC
values('Jan',5,18,10)
values('Feb',9,15,30)
values('Mar',9,12,10);
run;
proc sql noprint;
create table allteam as
select month,
sum(material) as material,
sum(accommodation) as accommodation,
sum(travel) as travel
from (
select * from teama
union all corresponding
select * from teamb
union all corresponding
select * from teamc
)
group by month
;
quit;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.