Power BI上年销售额度量值无数据显示问题求助
解决上年销售额度量值无结果的问题
原公式失效的核心原因是DATEADD需要基于完整连续的日期列(如日期表中的[Date]字段),而非年份层级('Calendar'[Year (Date)].[Date]是年份的层次结构,并非单个日期值),导致筛选逻辑无法生效。
以下是修正后的两种可行方案:
方案一:用DATEADD修正参数并添加年份判断
Total CWT LY = VAR CurrentYear = YEAR(MAX('Calendar'[Date])) VAR FirstYear = YEAR(MIN('Calendar'[Date])) RETURN IF(CurrentYear = FirstYear, 0, CALCULATE([CWT Total], DATEADD('Calendar'[Date], -1, YEAR)))
方案二:用SAMEPERIODLASTYEAR简化逻辑
Total CWT LY = VAR CurrentYear = YEAR(MAX('Calendar'[Date])) VAR FirstYear = YEAR(MIN('Calendar'[Date])) RETURN IF(CurrentYear = FirstYear, 0, CALCULATE([CWT Total], SAMEPERIODLASTYEAR('Calendar'[Date])))
关键注意事项
- 确保日期表是完整无缺失的连续日期序列,这是所有DAX时间智能函数生效的基础。
- 先验证
[CWT Total]度量值能正常返回当前年份的销售额,否则上年计算也会无结果。 - 若在按年份聚合的视觉对象中使用,
MAX('Calendar'[Date])会自动提取对应年份的最后一天,YEAR函数可准确判断当前年份是否为数据的第一年。
内容的提问来源于stack exchange,提问作者user19351102
相关产品推荐
相关产品推荐

