Power BI矩阵中如何展示月度实际值、预算值及预测值
Power BI矩阵布局:按度量值分组展示月度数据
问题背景
Power BI矩阵默认以时间维度优先排列,当使用2个度量值(Actuals实际值、Budget预算值)+日期维度时,会呈现如下布局:
Apr23 May23 Jun23 Act Bud Act Bud Act Bud
当前需展示2023年4月至2024年3月共12个月的实际值、预算值,后续还需新增预测值,用户要求将同一度量值的所有月份归为一组,布局如下:
Apr23 May23 Jun23 Apr23 May23 Jun23 Act Act Act Bud Bud Bud
现有尝试的问题
- 创建24个独立度量值不符合最佳实践,新增预测值后维护成本大幅提升;
- 通过DAX公式计算YTD实际值与全年预算值,结合Date_Dim日期维度后结果异常;
- 在SQL中为各周期创建对应度量值,新增预测值时扩展性极差。
解决方案
方案1:使用计算组(推荐,扩展性最优)
- 打开Power BI Desktop,切换到「建模」选项卡,点击「新建计算组」;
- 创建对应度量类型的计算项:
- 计算项「Actuals」:DAX表达式为
[Actuals度量值](替换为你实际的实际值度量名称) - 计算项「Budget」:DAX表达式为
[Budget度量值](替换为你实际的预算值度量名称) - 后续新增预测值时,直接添加新的计算项即可,无需修改现有模型结构;
- 计算项「Actuals」:DAX表达式为
- 配置矩阵布局:
- 将计算组字段拖到矩阵的「列」区域,设为外层分组;
- 将日期维度(月份字段)拖到「列」区域,设为计算组字段的内层子项;
- 将对应度量值拖到「值」区域(计算组会自动匹配计算项与度量值的映射)。
方案2:重塑数据模型(适用于可调整数据源的场景)
- 在Power Query编辑器中处理数据源:
- 选中日期列,选择其余度量值列(Actuals、Budget),点击「转换」选项卡中的「逆透视列」;
- 逆透视后将生成三列:
日期、度量类型(值为Actuals/Budget)、值;
- 加载处理后的数据,配置矩阵布局:
- 将「度量类型」拖到矩阵的「列」区域外层;
- 将「日期(月份)」拖到「列」区域内层;
- 将「值」拖到矩阵的「值」区域。
方案优势
- 计算组方案:无需修改原始数据源,新增度量类型仅需添加计算项,维护成本低,完全符合Power BI最佳实践;
- 数据重塑方案:模型结构更简洁直观,适合数据源可灵活调整的场景,扩展性同样出色。
内容的提问来源于stack exchange,提问作者Glen Kirkup
相关产品推荐
相关产品推荐

