Power BI Desktop中基于实际数据截止日期的预算YTD计算问题
预算YTD(按实际数据截止月计算)解决方案
前提说明
假设你已创建获取实际数据最大日期的度量值:
实际最大日期 = CALCULATE(MAX('实际表'[日期]), ALL('实际表'))
核心度量值编写
创建如下度量值来计算受限范围的预算YTD,避免循环依赖:
预算YTD(到实际截止月) = VAR _ActualMaxDate = [实际最大日期] VAR _ActualMaxMonth = EOMONTH(_ActualMaxDate, 0) // 提取实际数据最后一个月的月末日期 VAR _FilteredBudget = CALCULATE( SUM('预算表'[预算金额]), // 筛选日期表中同一年且不晚于实际截止月的日期 FILTER( ALL('日期表'[日期]), '日期表'[日期] <= _ActualMaxMonth && YEAR('日期表'[日期]) = YEAR(_ActualMaxDate) ) ) RETURN _FilteredBudget
关键注意事项
- 必须确保模型中有独立的日期表,且实际表、预算表都与日期表建立正确的一对一/一对多关系
- 使用
ALL('日期表'[日期])清除上下文日期筛选,避免预算与实际数据的筛选逻辑互相干扰导致循环依赖 - 若仍出现循环依赖,检查
实际最大日期度量值,确保它仅依赖实际表和日期表,未引用任何预算相关的计算逻辑
内容的提问来源于stack exchange,提问作者Rachel
相关产品推荐
相关产品推荐

