转置带有分类数据的表

时间:2019-10-10 06:53:42

标签: excel powerquery

我在Excel中从SQL Server中提取了以下数据:

category label value
A        green 2
A        red   1
A        blue  4
B        green 0
B        red   3
B        blue  2

如何进行以下转换(最好在功率查询中)?

category green red blue
A        2     1   4
B        0     3   2

1 个答案:

答案 0 :(得分:1)

您实际上并没有移调,而是在旋转。

枢轴字段label,其中字段value的值:

= Table.Pivot(#"Previous Step", List.Distinct(#"Previous Step"[label]), "label", "value", List.Sum)

编辑

value字段中使用字符串,只需选择不聚合值即可:

= Table.Pivot(#"Previous Step", List.Distinct(#"Previous Step"[label]), "label", "value")

但是,如果每个行/列组合具有多个字符串值,则将返回错误。在这种情况下,您可能希望合并值:

= Table.Pivot(#"Previous Step", List.Distinct(#"Previous Step"[label]), "label", "value", each Text.Combine(_, ", "))