Google Data Studio/Looker Studio是否支持窗口函数及累计求和方案问询
Google Data Studio(Looker Studio)是否支持窗口函数式的累计求和?
问题背景
需要在混合数据源的某一列上实现类似SQL窗口函数的累计求和,不确定Looker Studio是否支持该功能,是否必须通过创建BigQuery视图预处理累计值后再作为数据源使用。
场景详情
原始数据表结构与数据:
due_date amount 2018-01-05T00:00:00 99.0 2018-02-15T00:00:00 70.0 2018-02-15T00:00:00 90.0 2018-03-17T00:00:00 20.0 2018-03-17T00:00:00 10.0
最初通过BigQuery视图实现累计求和,视图SQL:
select tmp.due_date, sum(tmp.amount) over(order by tmp.due_date) as cumulative_amount from (select due_date, sum(amount) from `bigquery.table` join `bigquery.another` on ... where due_date is not null group by due_date order by due_date) as tmp
视图返回结果:
due_date cumulative_amount 2018-01-05T00:00:00 99.0 2018-02-15T00:00:00 259.0 2018-03-17T00:00:00 289.0
但添加日期范围控件(如选择2018-02-15至2018-03-17)后,报表显示的累计值包含了筛选前的99.0:
due_date cumulative_amount 2018-02-15T00:00:00 259.0 2018-03-17T00:00:00 289.0
用户预期的是基于筛选范围重新计算累计值:
due_date cumulative_amount 2018-02-15T00:00:00 160.0 2018-03-17T00:00:00 190.0
因此计划修改视图为仅按日汇总金额,将累计求和操作移至Looker Studio中:
select due_date, sum(amount) from `bigquery.table` join `bigquery.another` on ... where due_date is not null group by due_date order by due_date
解答
Looker Studio支持动态累计求和,无需依赖BigQuery视图预处理,具体实现方式有两种:
方式1:通过指标聚合设置实现
- 将修改后的仅按日汇总的视图作为数据源接入Looker Studio
- 添加指标时,选择
amount字段,点击字段旁的聚合方式下拉菜单,选择累计求和(Running Sum) - 在累计求和的设置中,指定排序依据为
due_date(升序)
方式2:通过计算字段实现
创建自定义计算字段,使用RUNNING_SUM函数:
RUNNING_SUM(SUM(amount))
将该计算字段作为指标使用,并确保报表按due_date升序排列。
两种方式都能实现:当用户通过日期范围控件筛选时,累计求和会基于当前筛选后的数据集重新计算,完全符合用户预期的结果。
内容的提问来源于stack exchange,提问作者SoT
相关产品推荐
相关产品推荐

