You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用DAX度量值在Power Pivot中计算透视表两列差异百分比?

在Power Pivot中用DAX实现跨年份周销售额差异百分比计算

核心思路

要复刻普通透视表“差异百分比自”的功能,关键是精准获取2023年对应周的销售额,再与2024年同周销售额计算差异占比。


基础版DAX度量值(硬编码年份)

适用于仅需对比2024和2023年的场景,直接筛选目标年份:

周销售额差异百分比 = 
VAR 当前周 = SELECTEDVALUE('你的数据表'[周数])
VAR 2024年销售额 = SUM('你的数据表'[销售额])
VAR 2023年对应周销售额 = CALCULATE(
    SUM('你的数据表'[销售额]),
    FILTER(
        ALL('你的数据表'),
        '你的数据表'[年份] = 2023 && '你的数据表'[周数] = 当前周
    )
)
RETURN
IF(
    NOT ISBLANK(2023年对应周销售额) && 2023年对应周销售额 <> 0,
    DIVIDE(2024年销售额 - 2023年对应周销售额, 2023年对应周销售额),
    BLANK()
)

公式说明:

  • 当前周:提取透视表当前行的周数,确保匹配对应年份的同周数据
  • 2023年对应周销售额:通过CALCULATE+FILTER锁定2023年同周的销售额总和
  • DIVIDE函数:自动处理除以0的情况,配合IF判断避免空值或无效计算

灵活版DAX度量值(基于日期表)

如果你的数据模型包含标准日期表(带周数、年份、周起始/结束日期字段),可以使用更通用的写法,无需硬编码年份:

周销售额差异百分比 = 
VAR 当前周起始日 = SELECTEDVALUE('日期表'[周起始日期])
VAR 去年同周起始日 = DATEADD(当前周起始日, -1, YEAR)
VAR 当前年销售额 = SUM('销售数据表'[销售额])
VAR 去年同周销售额 = CALCULATE(
    SUM('销售数据表'[销售额]),
    '日期表'[周起始日期] = 去年同周起始日
)
RETURN
IF(
    NOT ISBLANK(去年同周销售额) && 去年同周销售额 <> 0,
    DIVIDE(当前年销售额 - 去年同周销售额, 去年同周销售额),
    BLANK()
)

使用步骤

  1. 在Power Pivot中新建度量值,粘贴上述任一公式(替换表名和字段名)
  2. 将该度量值拖入透视表的值区域,放在2024年销售额列之后
  3. 选中度量值列,设置单元格格式为百分比(保留合适小数位数)

内容的提问来源于stack exchange,提问作者Ingenious1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:30:01