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

Power BI如何计算矩阵中各部门相邻财年总额的百分比变化

Power BI 矩阵动态计算最近两财年百分比差值实现方案

前置准备

  • 搭建独立的财年维度表,至少包含两个字段:财年名称(值为FY2021、FY2022这类文本)、财年序号(数值型,按财年先后顺序填2021、2022这类数字),将维度表和业务事实表建立一对多的单方向关系,同时把财年名称的排序依据设置为财年序号,避免文本排序导致财年先后顺序错乱。
  • 提前编写基础总额度量值,也就是当前矩阵中用来展示各财年汇总数据的计算逻辑,示例代码:
财年总额 = SUM('业务事实表'[金额字段])

当前矩阵展示效果:
矩阵当前效果

核心度量值编写

1. 最近两财年百分比差值度量值

该度量值会自动识别当前筛选上下文里的最新财年,和紧邻的上一财年做对比计算,后续新增财年时不需要手动修改代码:

最近两财年差值% = 
VAR _latestFY = MAX('财年维度表'[财年序号])
VAR _prevFY = _latestFY - 1
VAR _latestValue = CALCULATE([财年总额], '财年维度表'[财年序号] = _latestFY)
VAR _prevValue = CALCULATE([财年总额], '财年维度表'[财年序号] = _prevFY)
RETURN
// 上一年无数据时返回空值,避免报错
IF(
    NOT ISBLANK(_prevValue) && NOT ISBLANK(_latestValue),
    DIVIDE(_latestValue - _prevValue, _prevValue),
    BLANK()
)

度量值编写完成后,在度量值工具 tab 里把格式设置为百分比,按需调整保留的小数位数即可。

2. 自动展示最近2个财年的筛选度量值

不需要每次新增财年手动调整矩阵列筛选,把这个度量值添加到矩阵的视觉级筛选器,设置筛选值为1,矩阵就会自动只保留最新两个财年的列:

仅展示最近2财年 = 
VAR _globalMaxFY = CALCULATE(MAX('财年维度表'[财年序号]), ALL('财年维度表'))
RETURN
IF(MAX('财年维度表'[财年序号]) >= _globalMaxFY - 1, 1, 0)

配置步骤

  • 把部门字段拖到矩阵行区域,财年名称拖到矩阵列区域
  • 先把财年总额度量值拖到值区域,确认各部门各财年的汇总数据展示正常
  • 再把最近两财年差值%拖到值区域,度量值会自动按行计算每个部门最新两个财年的百分比差值
  • 把仅展示最近2财年拖到矩阵的视觉级筛选器,设置筛选条件为「等于 1」,点击应用筛选即可

注意事项

  • 不要直接用事实表里存储的财年字段做维度,必须用独立的财年维度表,避免筛选上下文混乱导致计算结果错误
  • 如果你的财年不是自然年,比如FY2022对应2021年7月到2022年6月,只需要保证财年序号按财年实际先后顺序设置数值即可,上述度量值逻辑不需要调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:09:20