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

如何用Power Query实现类似MSSQL GROUP BY的Excel表转换?

用Excel Power Query实现类似SQL GROUP BY的透视输出

你要的效果本质是按Attr1、Attr2分组,将Attr3的取值转为列名,对应填充Attr4的值,用Power Query的透视功能就能实现,不需要复杂的JOIN操作,具体实现方式如下:

一、图形化界面操作步骤

  • 选中源数据区域,点击「数据」选项卡 → 「从表格/区域」(普通数据会自动转为Excel表,确认导入即可)
  • 在Power Query编辑器中,选中Attr3列,点击「转换」选项卡 → 「透视列」
  • 在弹出的配置窗口中:
    • 「值列」选择Attr4
    • 高级选项选择「不要聚合」(因为每个Attr1+Attr2+Attr3组合对应唯一的Attr4值,无需聚合计算)
  • 确认后即可得到目标格式,缺失值会自动显示为null

二、直接编写M代码实现

如果习惯用代码操作,导入数据后打开「高级编辑器」,替换现有代码为以下内容(注意把Table1换成你的源表名称):

let
    源 = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    生成透视表 = Table.Pivot(源, List.Distinct(源[Attr3]), "Attr3", "Attr4")
in
    生成透视表

代码说明:List.Distinct(源[Attr3])提取Attr3的所有唯一值作为新列名,Table.Pivot自动将Attr1、Attr2作为分组依据,完成透视转换

效果验证

用你提供的示例源数据执行操作后,会完全匹配期望的输出格式:

  • Attr1、Attr2作为分组行保留
  • Value1、Value2、Value3成为新列名
  • 对应位置填充Attr4的值,没有匹配项的位置显示null

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:36:11