下表中有按客户划分的品牌排名(行值):
CustID Brand1 Brand2 Brand3 Brand4 Brand5 Brand6 ... Brand10
1 3 1 2 5 4
2 2 1 4 3 5
3 2 3 4 1 5
...
我想转换此表以将排名表示为列,将品牌表示为行:
CustID 1 2 3 4 5
1 Brand2 Brand3 Brand1 Brand10 Brand5
2 Brand3 Brand2 Brand1 Brand5 Brand10
3 Brand6 Brand1 Brand2 Brand4 Brand10
...
我总共有116个客户,10个品牌,排名1到5
有没有办法在Excel或任何其他工具中做到这一点?
我尝试了逆透视和透视表,但透视表中的值显示计数,而不是品牌名称
使用 Power Pivot 相当简单:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
UnpivotedData = Table.UnpivotOtherColumns(Source, {"CustID"}, "Brand", "Rank"),
FilteredData = Table.SelectRows(UnpivotedData, each [Rank] <> null),
ChangeType = Table.TransformColumnTypes(FilteredData,{{"Rank", type text}}),
PivotedData = Table.Pivot(ChangeType, List.Distinct(ChangeType[Rank]), "Rank", "Brand")
in
PivotedData