Power BI中如何可视化带差异化月度目标的滚动多年KPI
24个月销售KPI对比可视化方案
核心思路
无需合并销售表与目标表,通过独立日期维度表搭建数据关联,配合DAX度量值动态计算目标,完全规避目标值重复、关联关系缺失、24个月周期分组的三个问题。
操作步骤
1. 搭建公用日期维度表
用DAX新建计算表,覆盖所有销售数据日期及2年目标周期的全部日期:
日期表 = CALENDAR( MIN('销售表'[Date]), EDATE(MAX('销售表'[Date]),24) )
为日期表补充年份、月份、年月显示三个计算列,随后将日期表的日期列与销售表的Date列建立一对多单向外键关联。
2. 调整目标表结构
将原目标表中Year列的「Year 1/Year 2」标签转换为周期偏移标识:
- Year 1对应目标生效后0-11个月
- Year 2对应目标生效后12-23个月
新增月偏移量列,对应1-12月的偏移数值,方便后续匹配。
3. 编写核心计算度量值
所有计算均用度量值动态生成,适配任意起始年份、任意[Annual Goal]数值,无硬编码:
(1)月度目标占比
月度目标占比 = VAR 当前统计年月 = EOMONTH(MAX('日期表'[日期]),0) VAR 目标生效起始日 = DATE([目标起始年份],1,1) // 目标起始年份可绑定切片器或你的现有[Annual Goal]对应生效年逻辑 VAR 生效后偏移月数 = DATEDIFF(目标生效起始日,当前统计年月,MONTH) RETURN SWITCH( TRUE(), 生效后偏移月数 >=0 && 生效后偏移月数 <=11, 0.04, 生效后偏移月数 >=12 && 生效后偏移月数 <=23, 0.043, BLANK() )
(2)月度目标金额
月度目标金额 = [Annual Goal] * [月度目标占比]
(3)实际月度销售额
实际月度销售额 = SUM('销售表'[Sale])
(4)销售完成率
销售完成率 = DIVIDE([实际月度销售额], [月度目标金额], 0)
4. 可视化配置
折线图的轴选择日期表的年月显示字段,值拖入实际月度销售额、月度目标金额两个度量值即可。可添加目标起始年份切片器,切换后自动计算对应24个月周期的全部数据,不会出现目标值重复问题。
内容的提问来源于stack exchange,提问作者Red
相关产品推荐
相关产品推荐

