You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Looker中实现类似Google Sheets SUMIFS的行级聚合值引用?

在Looker中实现类似Google Sheets SUMIFS的聚合值引用功能

要在Looker里为每行数据匹配对应维度分组下的聚合值(类似Google Sheets的SUMIFS效果),核心是用表计算结合窗口函数来实现,以下是具体方案:

核心实现逻辑

通过窗口函数的partition by子句指定要分组的维度(比如Project、Year Month),用聚合函数(如sum())计算该分组的总计值,再将这个值广播到分组内的每一行。

示例1:获取对应Project+Year Month的总营收

假设你的度量字段是total_revenue,维度是project和year_month,创建表计算时输入:

sum(${total_revenue}) over (partition by ${project}, ${year_month})

这个计算会自动按项目和年月分组,计算每组的总营收,然后把该组的总计值(比如P1+2023-01的220)填充到该组的每一行中,和SUMIFS的效果完全一致。

示例2:获取对应维度下的总费用

同理,若要得到每组的总费用(比如结果为-140),只需替换度量字段:

sum(${total_expense}) over (partition by ${project}, ${year_month})

如果费用字段本身存储为负数,计算结果会直接显示为负数。

注意事项

  • 确保project、year_month这些分组维度已经添加到当前探索的维度列表中,否则窗口函数无法正确分区。
  • 表计算基于当前查询的结果集运行,所以要先在探索中包含所需的度量(总营收、总费用)和维度。
  • 若需添加条件过滤(比如只计算特定类型的费用),可以结合case语句:
    sum(case when ${expense_type} = '运营费用' then ${total_expense} else 0 end) over (partition by ${project}, ${year_month})
    

内容的提问来源于stack exchange,提问作者Dragos Ailiesei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:52:39