具有多个属性实例(行)的数据透视列

Pivot columns with multiple instance (rows) of attribute

我进行了广泛的搜索,但没有找到针对此特定案例的答案,并且无法采用其中的一些解决方案。

首先,我的数据是每个产品的一长串属性及其值,结构如下:

Structured Initial Data

请注意,有些产品的每个属性只有一个值,但是(这是我的问题)有些产品的同一属性有不同的值。

当我在 PowerQuery 中旋转 table 时,出现错误,其中产品具有相同属性的多个实例。

我正在寻找的结果 table 的结构如下:

Structured Final Data

感谢您的帮助!

看看这是否适合你

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Sorted Rows" = Table.Sort(Source,{{"Products", Order.Ascending}, {"Attributes", Order.Ascending}}),
#"Grouped Rows" = Table.Group(#"Sorted Rows", {"Products"}, {{"data", each _, type table}}),
#"Added Index1" = Table.AddIndexColumn(#"Grouped Rows", "Index", 0, 1),
#"Expanded data" = Table.ExpandTableColumn(#"Added Index1", "data", {"Attributes", "Values"}, {"Attributes", "Values"}),  
mGroup = Table.Group(#"Expanded data" , {"Attributes","Products"}, {{"GRP", each Table.AddIndexColumn(_, "Index2", 1, 1), type table}}),
#"Expanded GRP" = Table.ExpandTableColumn(mGroup, "GRP", {"Values", "Index", "Index2"}, {"Values", "Index", "Index2"}),
#"Added Custom" = Table.AddColumn(#"Expanded GRP", "Row#", each [Index]+[Index2]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Index", "Index2"}),
#"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Attributes]), "Attributes", "Values"),
#"Removed Columns1" = Table.RemoveColumns(#"Pivoted Column",{"Row#"}),
#"Reordered Columns" = Table.ReorderColumns(#"Removed Columns1",{"Products", "Each", "Pack"})
in #"Reordered Columns"

它按产品分组并添加索引。然后它对产品和属性进行分组并添加另一个索引。这两者的总和是一个唯一的行号,您可以将其用于旋转