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

请求创建Power BI度量值:按日期及类别取最新非空Stage值

修正DAX度量值:按Location、Breed分组获取最新非空Stage值

修正后的DAX代码

Most Recent Stage Nonblank = 
VAR CurrentLocation = SELECTEDVALUE('table'[Location])
VAR CurrentBreed = SELECTEDVALUE('table'[Breed])
VAR LatestDate = MAX('table'[Date])
-- 获取当前Location和Breed分组下,最新的非空Stage对应的日期
VAR LastNonBlankDate = 
    CALCULATE(
        MAX('table'[Date]),
        'table'[Location] = CurrentLocation,
        'table'[Breed] = CurrentBreed,
        NOT(ISBLANK('table'[Stage])),
        'table'[Date] <= LatestDate
    )
-- 根据上述日期提取对应分组的Stage值
VAR LastNonBlankStage = 
    CALCULATE(
        MAX('table'[Stage]),
        'table'[Location] = CurrentLocation,
        'table'[Breed] = CurrentBreed,
        'table'[Date] = LastNonBlankDate
    )
RETURN
    -- 当前行Stage非空则直接返回,否则取分组内最新非空值
    IF(NOT(ISBLANK(SELECTEDVALUE('table'[Stage]))),
        SELECTEDVALUE('table'[Stage]),
        LastNonBlankStage
    )

关键修改说明

  • 新增CurrentLocation和CurrentBreed变量,明确锁定当前行的分组上下文,彻底解决原代码跨分组取值的问题
  • 计算LastNonBlankDate时,强制限定在当前Location+Breed组合内筛选,只找该分组下最新的非空Stage日期
  • 用ISBLANK替代原代码的= BLANK(),这是DAX中判断空值的标准写法,避免潜在的判断误差
  • 最终返回逻辑保持你原本的需求:当前行有值则用当前值,空值则填充分组内最近的非空值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:52:22