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

Google Data Studio使用CASE WHEN匹配两组条件统计项目状态流转数量

错误原因

你之前写的计算字段公式逻辑存在天然矛盾:每一行数据只会对应唯一的Update_Date和Status值,不可能同时满足两个不同日期、两个不同状态的判断条件,所以永远不会返回符合要求的Project_Code,最终结果自然为0。

落地实现方案

方案1:Google Data Studio内直接实现(无需提前预处理数据)

  • 第一步:将同一份Google Sheets数据源在Data Studio中添加两次,分别命名为当前周期数据、上一周期数据
  • 第二步:配置两个数据源的关联关系,关联键设置为Project_Code
  • 第三步:新建计算字段,按需求写判断逻辑:
    统计所有发生状态流转的项目数公式:
    COUNT_DISTINCT(CASE WHEN 上一周期数据.Status != 当前周期数据.Status AND 上一周期数据.Status IS NOT NULL THEN 当前周期数据.Project_Code ELSE NULL END)
    
    统计特定类型流转(比如Proposal转Business Case)的项目数公式:
    COUNT_DISTINCT(CASE WHEN 上一周期数据.Status = "Proposal" AND 当前周期数据.Status = "Business Case" THEN 当前周期数据.Project_Code ELSE NULL END)
    
  • 第四步:将当前周期数据.Update_Date作为维度拖入报表,即可查看每个日期对应的流转项目数量。

方案2:先在Google Sheets预处理后接入(实现更简单、性能更优)

直接在原始数据集里新增两列计算字段,提前标记每个项目的状态变化:

  • 新增上一状态列,公式参考:
=IFERROR(VLOOKUP(B2, FILTER($A:$C, $A:$A < A2), "首次上报")
  • 新增是否流转列,公式参考:
=IF(C2=D2, 0, 1)

处理完成后将数据集接入Data Studio,直接对是否流转字段求和即可得到对应日期的流转项目数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:24:03