Power BI切片器日期范围下静态填埋强度计算问题
解决Power BI中填埋强度静态值计算问题
问题原因
你当前的DAX公式没有消除行级日期的筛选上下文——虽然用了DATESBETWEEN,但当前行的日期筛选依然会限制计算范围,导致每个日期行只计算当天的填埋强度,而非整个选定期的汇总值。
修改后的DAX公式
Landfill_Intensity = // 计算选定期内总填埋重量 VAR TotalLandfillWeight = CALCULATE( SUM('Waste'[Weight (lbs)]), 'Waste'[Disposal Method] = "landfill", ALLSELECTED(_Calendar) // 保留切片器的日期筛选,清除行级日期筛选 ) // 计算选定期内总生产重量 VAR TotalProductionWeight = CALCULATE( SUM(Production[Weight (lbs)]), ALLSELECTED(_Calendar) ) // 返回填埋强度,自动处理除数为0的情况 RETURN DIVIDE(TotalLandfillWeight, TotalProductionWeight, BLANK())
关键说明
ALLSELECTED(_Calendar):这个函数会保留切片器选择的日期范围,同时移除当前视觉对象(比如日期行)的行级日期筛选,让CALCULATE能计算整个选定期的总和。- 用
VAR定义变量既让公式更易读,也避免了重复计算。 DIVIDE替代直接除法,能在生产重量为0时返回空白值,不会出现错误提示。
效果验证
当你选择2024年1-2月时,所有日期行都会统一显示(100+175)/(750+500)=0.22这个值,不再分日期单独计算。
内容的提问来源于stack exchange,提问作者thisisnotluisa
相关产品推荐
相关产品推荐

