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

Power BI如何实现成本主分类与子分类同列层级汇总展示

Power BI 实现主分类+子分类分层带星号汇总的操作方法

你可以通过两种方式实现目标效果,优先推荐Power Query处理法,性能更好、后续数据刷新可自动同步:

方法一:Power Query 可视化操作(推荐)

  • 导入原始成本数据表后,点击顶部菜单栏「转换数据」进入Power Query编辑器
  • 生成主分类汇总表:
    • 选中原始表,点击「分组依据」,选择高级分组,按Category字段分组
    • 新增两个聚合列:第一列命名为Subcategory,值选「所有行」后手动修改公式为null;第二列命名为Values,聚合方式选「求和」,统计原Values字段的总和
    • 调整列名:将Category列重命名为Costs,汇总的Values列重命名为Value,新增自定义列「排序层级」,值固定为0,保留Costs、Value、排序层级三列
  • 处理子分类明细表:
    • 复制一份原始表作为子分类明细数据源
    • 新增自定义列Costs,公式为"*" & [Subcategory];新增自定义列Value,公式为"*" & Text.From([Values])
    • 新增自定义列「排序层级」,值固定为1,同样保留Costs、Value、排序层级三列
  • 合并排序输出:
    • 选中主分类汇总表,点击「追加查询」,将子分类明细表追加进来
    • 按主分类名称、「排序层级」做升序排序,保证主分类行排在对应子分类上方
    • 删除排序层级辅助列,点击「关闭并应用」,将处理后的表加载到报表中,直接拖入表视觉对象即可得到目标结构

方法二:DAX 计算表快速生成

如果不想改动原始查询,可以直接在报表视图新建计算表,输入以下DAX代码:

成本分层展示表 = 
VAR 主分类汇总 =
    SELECTCOLUMNS(
        SUMMARIZE('原始成本表', '原始成本表'[Category], "分类汇总值", SUM('原始成本表'[Values])),
        "Costs", [Category],
        "Value", [分类汇总值],
        "排序组", [Category],
        "排序层级", 0
    )
VAR 子分类明细 =
    SELECTCOLUMNS(
        '原始成本表',
        "Costs", "*" & [Subcategory],
        "Value", "*" & [Values],
        "排序组", [Category],
        "排序层级", 1
    )
VAR 合并表 = UNION(主分类汇总, 子分类明细)
RETURN
    SUMMARIZE(合并表, [Costs], [Value], [排序组], [排序层级])
  • 代码输入完成后,在数据视图选中生成的成本分层展示表,按「排序组」、「排序层级」两个字段设置升序排序
  • 报表中使用表视觉对象时隐藏两个辅助排序列,只展示Costs和Value列即可

注意:代码中原始成本表需要替换为你自己导入的成本数据表的实际名称。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:24:29