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

Power BI中DATESBETWEEN函数致LY Revenue度量值日期范围错误

问题原因分析
  1. 你的LY Revenue度量值中使用了ALL('Date Table'[Date]),这会清除所有日期筛选条件。当筛选2023年第一期时,若对应的上年同期(2022年第一期)LY Date存在空值,MIN('Date Table'[LY Date])或MAX('Date Table'[LY Date])会返回空值,导致DATESBETWEEN的区间参数无效,最终返回所有日期的收入(即2022全年)。
  2. 额外的+1操作可能导致区间计算偏差,比如将起始日、结束日各延后一天,这与你需要的“同期”范围不匹配。
修复方案

方案一:使用DAX内置函数(推荐)

直接用SAMEPERIODLASTYEAR函数自动匹配上年同期区间,避免手动计算的错误,同时天然处理无上年数据的场景(返回空值):

LY Revenue = CALCULATE([Revenue], SAMEPERIODLASTYEAR('Date Table'[Date]))

方案二:基于现有LY Date列优化

如果必须依赖当前的LY Date列,可修改度量值,增加空值判断并移除不必要的ALL筛选:

LY Revenue = 
VAR LY_Start = MIN('Date Table'[LY Date])
VAR LY_End = MAX('Date Table'[LY Date])
RETURN
IF(
    NOT(ISBLANK(LY_Start)) && NOT(ISBLANK(LY_End)),
    CALCULATE([Revenue], DATESBETWEEN('Date Table'[Date], LY_Start, LY_End)),
    BLANK()
)

优化说明:

  • 用变量存储上年同期的起止日期,先判断是否为空,避免无效区间返回全量数据。
  • 移除ALL('Date Table'[Date]),既保留产品、区域等其他筛选条件的影响,又通过DATESBETWEEN精准锁定目标日期区间。
  • 去掉了+1操作,确保区间完全匹配上年同期范围(若业务逻辑确实需要延后日期,可重新添加,但需验证日期逻辑合理性)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:55:25