PowerBI:电查询:处理更改列名称由于枢轴

0

的问题

对于一个报告,我作。 我有一个日期列。 我取个月,列,然后转个月。

例如,我可能有一个表,如:

部分# 一个月 数量
1 1 10
1 2 10
1 3 10
1 4 10
1 5 10
1 6 10

当我转动它变为:

部分# 1 2 3 4 5 6
1 10 10 10 10 10 10

然后,我重新命名列随着做一些其他任务,如创建一个柱的最大值。 然而,由于数据我拉只有6个月的价值。 这些列名字将会改变。 在未来,它可以是:

部分# 4 5 6 7 8 9
1 10 10 10 10 10 10

因此,一线,如:

Table.ReplaceValue(#"Pivoted Column",null,0,Replacer.ReplaceValue,{"1", "2", "3", "4", "5", "6"})

是要创造一个错误,当列4、5、6、7、8、9的. 有没有办法来处理这个问题?

pivot powerbi powerquery
2021-11-22 19:02:59
2

最好的答案

0

你需要手动代码的步骤重新命名列后你的枢轴。

这个M代码的拉表一样,你例从目前的工作簿在Excel中,然后转为你描述,然后重新命名列的一部分#,第1、第2、第3、第4、第5和6日。 是的,我说它重新命名,以分,即使它并没有真正改变,列名。 一定要包括的一部分#列表中的编码的步骤,即使部分#名字是不是真的改变,因为你需要考虑的所有列名提取的通过表。ColumnNames. 代替第1、第2、第3、第4、第5和第6次与 期望的列名。

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(Source, {{"Month", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(Source, {{"Month", type text}}, "en-US")[Month]), "Month", "Qty"),
    #"Renamed Columns" = Table.RenameColumns(#"Pivoted Column", List.Zip({Table.ColumnNames(#"Pivoted Column"),{"Part#", "1st", "2nd", "3rd", "4th", "5th", "6th"}}))
in
    #"Renamed Columns"

List.Zip 交织的两个名单在一起。 在这里,交织的一部分#从原来的列名(这些"枢列"步骤的表格),然后部分#从清单中的编码进入#"改名列,然后下一个原列名称(1从你的第一个例或4从你的第二个例子),然后1日从列名单的编码进入#"改名列,然后下一个原列名(2从你的第一个例或5从你的第二个例子), 然后第2次从列名单的编码进入#"改名列,等等。 这套清单所需的表格。RenameColumns.

2021-11-22 21:03:52
0

你可以使用 TableColumNames 获得一个名单的列名、然后你可以改变这一名单。 所以对你的例子,可以使用这样的:

= Table.ReplaceValue(#"Pivoted Column",null,0,Replacer.ReplaceValue,List.Skip(Table.ColumnNames(#"Pivoted Column"),1))
2021-11-22 20:52:23

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................