我正在使用sql(通过procsql在sas中)获取表。
我设法将一堆不同的表合并在一起,并将所有信息汇总到一个表中,但是我不知道该怎么做。
我有3栏。细分,国家/地区,收入。
Segment | Country|Revenue|
A | USA | 3 |
A | CAN | 2 |
A | FRA | 1 |
A | ITA | 2 |
.
.
.
我需要的是通过将这些国家分类为大洲来汇总收入:像这样
Segment | America| Europe|
A | 5 | 3 |
B | 7 | 10 |
老实说,我不知道如何开始。我可以创建两个表,使用按国家/地区进行过滤的位置,然后进行合并,但我想知道是否还有更直接的方法。
答案 0 :(得分:1)
您可以使用条件聚合。如果您有国家/地区的硬清单:
proc sql;
select segment, sum(case when country in ('USA', 'CAN', . . .) then revenue end) as americas,
sum(case when country in ('FRA', 'ITA', . . . ) then revenue end) as europe
from t
group by segment;