基于预定义百分比分配年度毕业生目标DAX度量值到月度的问题

问题核心
年度毕业生目标仅绑定在每年1月1日的日期节点上,受日期表关联的筛选上下文限制,只有1月能读取到年度总目标数值,其余月份筛选上下文下无法匹配到目标表的对应行,因此返回空值。
修正方案
- 调整年度总目标度量值,移除日期维度下月份、具体日期的筛选限制,仅保留年份筛选,确保任意月份筛选下都能读取到对应年份的总目标:
Graduates goal = CALCULATE( SUM('目标表'[value]), '目标表'[Measure] = "Graduates goal", REMOVEFILTERS('Dates'[Month]), REMOVEFILTERS('Dates'[Date]) )
- 月度分配百分比度量值无需调整,保留原有逻辑即可(需确保百分比数值已按月份正确录入目标表):
Goal% = CALCULATE( SUM('目标表'[value]), '目标表'[Measure] = "Graduates%" )
- 月度目标度量值直接引用两个度量值计算即可,无需额外嵌套CALCULATE:
Monthly graduate target = [Graduates goal] * [Goal%]
逻辑说明
之前尝试的ALL函数未生效,是因为筛选限制作用在[Graduates goal]本身的计算逻辑中,仅在月度目标计算外层加ALL无法穿透到内层的总目标读取逻辑。调整后总目标度量值会忽略月份筛选,仅按当前筛选的年份取对应年度总目标,再匹配当月的分配百分比计算,无需修改原有日期表关联关系,不影响同表其他按月统计的指标计算。如果你的DAX版本不支持REMOVEFILTERS函数,可将对应位置替换为ALL('Dates'[Month])、ALL('Dates'[Date]),效果一致。
内容的提问来源于stack exchange,提问作者Joonas Kakkuri
相关产品推荐
相关产品推荐

