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

Power Query实现行转列:将属性值拆分至对应列的方法

Power BI行式属性转列式布局解决方案

一、现有代码失效原因及修正

你的代码无法生效主要有两个问题:

  1. 拼写错误:将diameter误写为Diamter,导致条件判断永远不成立,列值全为空
  2. 列名引用错误:#["[value].Cell.Data.Element: Text"]写法有误,若你的值列实际名称是value,应直接用[value];若列名确实是带特殊字符的长名称,需用双引号包裹,格式为#"[value].Cell.Data.Element: Text"

修正后的单列添加代码(仅用于生成单独列,未实现同条目对齐):

= Table.AddColumn(#"Filtered Rows5", "Diameter", each if [name] = "diameter" then [value] else "")

同理可添加Radius和Length列,但这种方式无法自动将同一条目下的三个属性对齐到同一行,推荐用透视列完成需求。

二、正确的行转列(透视列)方法

这是实现行式属性转列式布局的最优方案,能自动将同一条目下的属性对齐到同一行:

操作步骤(可视化界面)

  1. 打开Power Query编辑器,选中目标表格
  2. 点击转换选项卡 → 选择透视列
  3. 在弹窗中配置:
    • 属性列:选择name
    • 值列:选择value
    • 高级选项:根据需求选择聚合方式(若无重复属性值,选「不要聚合」即可)

对应的M代码

= Table.Pivot(#"Filtered Rows5", List.Distinct(#"Filtered Rows5"[name]), "name", "value")

注:若你的表格没有用于分组的唯一标识列(如条目ID),需先添加分组依据(例如通过索引列生成分组ID),否则无法确保同一条目下的属性正确对齐。

内容的提问来源于stack exchange,提问作者what's_in_a_name

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:00:58