You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

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

火山引擎 最新活动