Power BI计算列问题:基于最大日期与筛选的DAX公式无效排查
问题原因及修正方案
原公式的问题
你的DAX计算列未达到预期效果,核心问题有两点:
- 只判断了当前行日期等于
Actual组的最大日期,但没校验当前行的Attribute 1是否为Actual——如果其他属性的行也存在与最大日期相同的日期,这些行也会被标记为1,不符合你「仅Actual且最新日期的行标1」的需求。 - 虽然计算
MaxDate时筛选了Attribute 1="Actual",但返回逻辑遗漏了当前行属性的判断,导致整体逻辑不完整。
修正后的DAX计算列
LastDateFilter = VAR MaxActualDate = CALCULATE ( MAX ( 'Table'[Date] ), ALL ( 'Table' ), -- 确保获取全局范围内Actual的最大日期,不受行上下文干扰 'Table'[Attribute 1] = "Actual" ) RETURN IF ( 'Table'[Attribute 1] = "Actual" && 'Table'[Date] = MaxActualDate, 1, 0 )
关键说明
- 加入
ALL('Table')是为了清除计算列的行上下文干扰,确保MaxActualDate是整个表中Attribute 1为Actual的最大日期,而非当前行上下文下的局部最大值。 - 新增
'Table'[Attribute 1] = "Actual"的判断,严格限定只有属性为Actual且日期是最新的行才会被标记为1。
内容的提问来源于stack exchange,提问作者bitterjam
相关产品推荐
相关产品推荐

