Power BI无聚合透视列(pivot column)报错问题咨询
Power Query透视列不聚合报错的解决方案
报错原因
该错误是Power Query透视列时的典型触发场景:同一个行维度组合+同一个COLUMN_NAME取值下存在多条匹配数据,选择「不聚合」时系统无法确定返回哪一条数据,因此抛出枚举元素过多的错误。
解决方案
你需要先给同分组下的行添加组内唯一序号,让每个透视维度组合对应唯一值,再执行透视操作即可,操作步骤如下:
- 选中所有透视后需要保留在行维度的列(即你期望结果里最左侧的标识列),点击「转换」选项卡的「分组依据」,操作选择「所有行」,自定义新列名比如「临时分组」后确定。
- 点击「添加列」选项卡的「自定义列」,输入公式:
Table.AddIndexColumn([临时分组], "组内序号", 1),确定后会生成包含组内序号的表列。 - 点击自定义列右上角的展开按钮,把你需要的原始字段(COLUMN_NAME、值列)以及「组内序号」全部勾选展开。
- 选中COLUMN_NAME列,点击「转换」选项卡的「透视列」,值列选择你要展示的数值字段,聚合方式选择「不要聚合」,执行后即可得到你期望的结果。
如果需要直接修改M代码,可以参考如下模板,替换对应字段名即可:
let 源 = Excel.CurrentWorkbook(){[Name="你的源数据表名称"]}[Content], // 按行维度分组并添加组内序号 分组加索引 = Table.Group(源, {"你的行维度列名"}, {"临时分组", each Table.AddIndexColumn(_, "组内序号", 1)}), // 展开分组数据 展开数据 = Table.ExpandTableColumn(分组加索引, "临时分组", {"COLUMN_NAME", "你的值列名", "组内序号"}), // 执行透视操作 透视结果 = Table.Pivot(展开数据, List.Distinct(展开数据[COLUMN_NAME]), "COLUMN_NAME", "你的值列名") in 透视结果
内容的提问来源于stack exchange,提问作者rchitect-of-info
相关产品推荐
相关产品推荐

