Power Query 转换具有唯一列的数据
Power Query Transform Data with Unique Columns
源数据Table.
期望输出
我们想从每种类型的列中提取所有唯一值并将唯一值作为列 headers 的数据透视表。
有点类似于此,但我们有不止一列来查找唯一值。
来源中类型列的数量 table 可以随时间增加或减少。
下面的代码是通过标准菜单选项创建的。 This video 带您了解每一步的结果。
let
Source = SourceData,
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Key"}, "Attribute", "Value"),
#"Added Custom" = Table.AddColumn(#"Unpivoted Other Columns", "Type", each if Text.Start([Attribute],4) = "Type" then [Value] else null),
#"Filled Down" = Table.FillDown(#"Added Custom",{"Type"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each not Text.StartsWith([Attribute], "Type")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Attribute"}),
#"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Type]), "Type", "Value")
in
#"Pivoted Column"
源数据Table.
期望输出
我们想从每种类型的列中提取所有唯一值并将唯一值作为列 headers 的数据透视表。
有点类似于此,但我们有不止一列来查找唯一值。
来源中类型列的数量 table 可以随时间增加或减少。
下面的代码是通过标准菜单选项创建的。 This video 带您了解每一步的结果。
let
Source = SourceData,
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Key"}, "Attribute", "Value"),
#"Added Custom" = Table.AddColumn(#"Unpivoted Other Columns", "Type", each if Text.Start([Attribute],4) = "Type" then [Value] else null),
#"Filled Down" = Table.FillDown(#"Added Custom",{"Type"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each not Text.StartsWith([Attribute], "Type")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Attribute"}),
#"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Type]), "Type", "Value")
in
#"Pivoted Column"