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

Power BI表格视觉对象中如何将同一用户多行数据合并为一行?

在Power BI表格视觉对象中合并用户多行数据为单行

针对你描述的用户David对应3行、每行仅单个Report列有值的情况,有两种高效解决方法:

方法一:在Power Query中预处理数据源(推荐)

这种方法直接从数据源头合并行,后续所有视觉对象都能复用处理后的数据:

  • 打开Power Query编辑器,选中目标数据表
  • 点击「开始」选项卡 → 「分组依据」
  • 在分组配置窗口中:
    1. 分组依据列选择你的用户列(比如「用户」)
    2. 依次添加3个聚合列:
      • 列名:Report 1,操作选「最大值」,对应列选Report 1
      • 列名:Report 2,操作选「最大值」,对应列选Report 2
      • 列名:Report 3,操作选「最大值」,对应列选Report 3
  • 点击确定,此时每个用户只会保留一行数据,各Report列会自动填充对应非空值

方法二:用DAX创建度量值(适合不修改数据源的场景)

如果不想改动原始数据,可以通过度量值在视觉层实现合并:

  • 针对每个Report列创建如下度量值(替换你的表名为实际表名):
    Report 1 值 = CALCULATE(MAX('你的表名'[Report 1]), ALLEXCEPT('你的表名', '你的表名'[用户]))
    
    Report 2 值 = CALCULATE(MAX('你的表名'[Report 2]), ALLEXCEPT('你的表名', '你的表名'[用户]))
    
    Report 3 值 = CALCULATE(MAX('你的表名'[Report 3]), ALLEXCEPT('你的表名', '你的表名'[用户]))
    
  • 在表格视觉对象中,拖入「用户」列和这三个新创建的度量值,即可看到每个用户一行、各Report值都显示在同一行的效果

说明

两种方法都用到MAX函数,原因是你的数据中每行仅单个Report列有值,其余为空,MAX会自动忽略空值,取到该用户对应Report列的唯一非空值,完全匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:44:57