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

如何创建CALCULATE度量值,获取当前行日期前最后存在日期的数值总和

解决方案

首先明确你的数据表格(记为'table')结构如下:

rounds_bot_datevalues
12024-04-0910
22024-04-1020
02024-04-1130
32024-04-1540
42024-04-1650
52024-04-1760

要实现你需要的筛选逻辑,创建以下DAX度量值即可:

LastPriorValueSum = 
VAR CurrentDate = MAX('table'[rounds_bot_date])
VAR LastPriorDate = 
    CALCULATE(
        MAX('table'[rounds_bot_date]),
        'table'[rounds_bot_date] < CurrentDate
    )
RETURN
    CALCULATE(
        SUM('table'[values]),
        'table'[rounds_bot_date] = LastPriorDate
    )

度量值逻辑说明

  • CurrentDate:获取当前行上下文对应的日期(比如表格可视化中每一行的rounds_bot_date)。
  • LastPriorDate:筛选出所有早于CurrentDate的日期,取其中最大的那个(即当前日期之前最后一个存在的日期)。
  • 最终计算:匹配LastPriorDate对应的values总和。

验证结果

  • 针对2024-04-15,LastPriorDate为2024-04-11,对应SUM(values)结果为30,符合需求。
  • 针对2024-04-10,LastPriorDate为2024-04-09,对应SUM(values)结果为10,符合需求。

边界情况处理

如果是表格中最早的日期(比如2024-04-09),由于没有更早的日期,LastPriorDate会返回空白,最终度量值结果也为空白。若需要将这种情况返回0,可修改RETURN部分:

RETURN
    IF(
        NOT ISBLANK(LastPriorDate),
        CALCULATE(SUM('table'[values]), 'table'[rounds_bot_date] = LastPriorDate),
        0
    )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:35:27