Power BI用DAX计算前一日/周/月指标返回空值或数值不变问题求助
修正方案
语法错误修正
你原公式中'calendar'[Date].[Date]的写法调用了日期层级结构,会导致筛选上下文失效,直接改为引用日期列'calendar'[Date]即可。
基础配置校验
- 确保
calendar表已标记为日期表:在模型视图右键选中calendar表,依次选择「标记为日期表」→「标记为日期表」 - 确保
calendar表日期列连续无缺失、无重复值,且覆盖mydata表所有业务数据的日期范围 - 确保
calendar表与mydata表已通过日期列建立激活的一对多关系,筛选方向为从calendar到mydata
最终可用公式
-- 前一日指标平均值 previous_day = CALCULATE ( AVERAGE ( 'mydata'[position] ), DATEADD ( 'calendar'[Date], -1, DAY ) ) -- 前一周对应日指标平均值 previous_week = CALCULATE ( AVERAGE ( 'mydata'[position] ), DATEADD ( 'calendar'[Date], -7, DAY ) ) -- 前一月对应日指标平均值 previous_month = CALCULATE ( AVERAGE ( 'mydata'[position] ), DATEADD ( 'calendar'[Date], -1, MONTH ) )
数值一致问题说明
之前出现计算结果与原时段数值完全一致,是因为时间智能函数未生效,CALCULATE未触发上下文转换、没有叠加新的日期筛选条件导致,完成上述校验和语法修正后即可解决该问题。
内容的提问来源于stack exchange,提问作者Андрей Буланкин
相关产品推荐
相关产品推荐

