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

Power BI中如何基于指定日期对图表内的度量值进行过滤

错误原因

  • 你的现有DAX仅对销售额的计算逻辑做了日期过滤,没有对图表的日期轴展示范围做限制:所有早于ClosedMonthsDates[Date]最大值的月份都会返回对应销售额,Power BI会把所有有返回值的月份都展示在图表中。如果你原本需要的是仅展示指定日期所在年度到该日的月度数据,当前逻辑没有限制年份范围,就会出现你看到的过多历史早前数据。
  • 运算符使用错误:你用了<对比日期,如果ClosedMonthsDates[Date]的最大值为6月30日,会直接排除6月30日当天的销售额,不符合“不晚于6月末”的要求,需要替换为<=。
  • 筛选上下文被覆盖:FILTER('Date', ...)是直接迭代整个日期表,会覆盖掉你在视觉对象、页面层级设置的其他日期筛选规则,如果你原本设置了仅展示当年数据的筛选器,也会被这个逻辑覆盖失效。

修正方案

如果你需要仅展示指定日期所在年度、不晚于该日期的月度数据,可以使用以下DAX:

Total Sales Filtered = 
VAR MaxClosedDate = MAX(ClosedMonthsDates[Date])
VAR CurrentMonthMaxDate = MAX('Date'[Date])
RETURN
IF(
    // 仅保留截止日期当年、且不晚于截止日期的月份
    CurrentMonthMaxDate <= MaxClosedDate && YEAR(CurrentMonthMaxDate) = YEAR(MaxClosedDate),
    CALCULATE([Total Sales], 'Date'[Date] <= MaxClosedDate),
    BLANK()
)

该逻辑会让不符合要求的月份返回空值,Power BI默认不会展示度量值为空的轴项,会自动过滤掉不需要的早前数据和超期数据。如果你需要保留所有年份不晚于截止日期的月度数据,仅需要过滤更早时期的数据,调整IF内的判断条件为你需要的时间范围即可。


内容的提问来源于stack exchange,提问作者Robert Di Meglio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:03:00