Power BI中Cumulative_Complete度量值当前日期后平线问题求助
解决Cumulative_Complete度量在当前日期后出现平线的问题
问题原因
你的度量值在当前日期(2025年4月3日)之后仍会执行计算:MAX(DateTable[Date])会取到未来日期,但未来没有对应的Equipment[PM_Dt]数据,导致分子的SUM(Equipment[Has_PM])不再增长,最终结果固定不变,形成平线。
解决方案
在度量中添加日期判断逻辑,当上下文日期超过截止日期时返回空白值,这样可视化工具会自动跳过未来日期的无效数据,消除平线。
方案1:以系统当前日期为截止点
修改后的DAX代码:
Cumulative_Complete = VAR TotalScope = CALCULATE(COUNT(Equipment[EQ.ID]), ALL(Equipment)) VAR CurrentMaxDate = MAX(DateTable[Date]) RETURN IF( CurrentMaxDate <= TODAY(), DIVIDE( CALCULATE( SUM(Equipment[Has_PM]), FILTER(ALL(Equipment), Equipment[PM_Dt] <= CurrentMaxDate) ), TotalScope ), BLANK() // 未来日期返回空白,不显示数据 )
方案2:以固定日期(2025年4月3日)为截止点
如果你的项目截止日期是固定的2025年4月3日,可替换为自定义日期:
Cumulative_Complete = VAR TotalScope = CALCULATE(COUNT(Equipment[EQ.ID]), ALL(Equipment)) VAR CurrentMaxDate = MAX(DateTable[Date]) VAR CutoffDate = DATE(2025, 4, 3) // 自定义项目截止日期 RETURN IF( CurrentMaxDate <= CutoffDate, DIVIDE( CALCULATE( SUM(Equipment[Has_PM]), FILTER(ALL(Equipment), Equipment[PM_Dt] <= CurrentMaxDate) ), TotalScope ), BLANK() )
修改说明
- 新增
CurrentMaxDate变量存储当前上下文的最大日期,避免重复计算 - 通过
IF判断过滤未来日期,仅在有效日期范围内返回计算结果 - 返回
BLANK()后,可视化图表会自动忽略这些日期点,不会生成平线
内容的提问来源于stack exchange,提问作者Vicente Garcia




