You need to enable JavaScript to run this app. Power BI切片器选月份后上月日均案件DAX度量值不生效咨询
优惠活动
大模型
产品
解决方案
定价
更多

Power BI切片器选月份后上月日均案件DAX度量值不生效咨询

原度量值错误原因

  • SELECTEDVALUE('Date'[MMM-YYYY])返回的是文本类型的月份标识(例如May-2021),无法直接传入MONTH()、YEAR()函数解析,这两个函数仅支持日期格式入参,第一步就取不到正确的年月参数。
  • 手动计算上月逻辑未处理跨年场景:如果选中每年1月,MONTH(xxx)-1会得到0,同时年份沿用选中月的年份,完全匹配不到上年12月的日期。
  • 计算时未清除当前选中的MMM-YYYY筛选条件,即使匹配到上月日期,也会被当前的月份筛选过滤,返回空结果。

修复后的度量值

使用DAX内置时间智能函数处理月份偏移,无需手动处理年月计算,自动适配跨年场景:

Avg Daily Cases Prev Month =
VAR 当前月首日 = STARTOFMONTH(MAX('Date'[Date]))
VAR 上月首日 = EDATE(当前月首日, -1)
VAR 上月末日 = EOMONTH(上月首日, 0)
RETURN
CALCULATE(
    AVERAGEX(VALUES('Date'[DateAsInteger]), CALCULATE(DISTINCTCOUNT(MyTable[CaseNo]))),
    DATESBETWEEN('Date'[Date], 上月首日, 上月末日),
    ALL('Date'[MMM-YYYY])
)

简化优化方案

如果你的日历表已经新增了数值型的年月序号列(例如202104对应2021年4月,202105对应2021年5月,字段名为YearMonthNum),可以直接复用你已经写好的当月日均度量值,逻辑更简洁:

Avg Daily Cases Prev Month =
VAR 当前年月序号 = SELECTEDVALUE('Date'[YearMonthNum])
RETURN
CALCULATE(
    [Avg Daily Cases],
    FILTER(ALL('Date'), 'Date'[YearMonthNum] = 当前年月序号 - 1),
    ALL('Date'[MMM-YYYY])
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 02:06:04