我在 BiqQuery 中有一个数据集,它代表订单,看起来像:
订单_id | 国家 |
---|---|
883bcf7d | 法国 |
fb7e9b19 | 西班牙 |
3jd2xjf11 | 瑞典 |
我想创建一个 Looker Studio 报告,显示在几个选定的地理区域
Areas
中有多少订单,其中每个区域可以相互交叉。我想创建一个显示订单总数的条形图,例如:
Europe: 3
West Europe: 2
Alpine Region: 1
(其中欧洲、西欧和阿尔卑斯地区为X轴)
我尝试使用 CASE WHEN 为此创建一个计算字段,但它不起作用,因为我只能为我的国家/地区维度返回一个
Area
。所以我尝试了例如:
CASE
WHEN country = "Sweden" THEN "Europe"
WHEN country = "France" THEN "Europe"
WHEN country = "France" THEN "West Europe"
...
ELSE "Unknown Area"
END
但这并不能让我将一个国家映射到多个区域。
我还尝试返回多个值,例如:
CASE
WHEN country = "Sweden" THEN "Europe"
WHEN country = "France" THEN "Europe, West Europe, Alpine Region"
...
ELSE "Unknown Area"
END
但是我表格中的 X 轴是区域的所有独特组合,而不仅仅是每个区域一次。
如何解决这个问题?
这可以使用
GROUP BY
结合 CASE
子句来完成:
SELECT
CASE WHEN country = 'Sweden' THEN 'Europe'
WHEN country = 'France' THEN 'Europe'
WHEN country = 'France' THEN 'West Europe'
....
ELSE 'Unknown Area'
END AS REGION, count(*) as total
FROM orders
GROUP BY 1