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

DAX如何获取最新日期对应的非空值 现有公式返回空值如何修正

错误原因

你两次写法的核心问题都是日期最大值的计算逻辑顺序错了:

  • MAX('Table1'[Date])默认是在当前原始上下文(未做额外筛选的表范围)里计算全局最大日期,也就是你数据里的19/12/2021
  • 你后续加的Value <> BLANK()筛选和最大日期匹配是同时生效的,不存在同时满足「日期是19/12/2021」且「Value非空」的行,所以最终返回空值,并不会先过滤非空值再动态调整最大日期。

正确实现方式

你可以先用变量先计算所有非空值对应的最大日期,再用这个日期匹配取值,写法如下:

Latest Value = 
-- 先计算Value非空的行里的最大日期
VAR MaxDateWithValue = CALCULATE(
    MAX('Table1'[Date]),
    'Table1'[Value] <> BLANK()
)
RETURN
-- 用上面拿到的最大日期取对应值
CALCULATE(
    SUM('Table1'[Value]),
    'Table1'[Date] = MaxDateWithValue
)

如果你的需求需要忽略当前报表的切片器、行标签等外部筛选全局计算,就在上面两个CALCULATE的筛选参数里加上ALL('Table1')即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:06:04