我在 Power Query 中有一个表,我正在尝试重新排列。原来的表是这样的:
我想重新排列它看起来像:
如果您能帮助解决此问题,我将不胜感激。预先感谢!
莎拉
我注意到,如果我想要我想要的结果,它在电源查询中将如下所示:
将此作为起始表:
产品 | 流量 | 指标\TIME_PERIOD | 2020 |
---|---|---|---|
71 | 1 | 数量_100公斤 | 5630860 |
71 | 1 | VALUE_IN_EUROS | 35176720 |
71 | 2 | 数量_100公斤 | 8328942 |
71 | 2 | VALUE_IN_EUROS | 52490848 |
在 PowerQuery 中,您需要为“时间”添加一个新的自定义列,并采用该值的最后一个列名称(例如 2020)。然后在
indicators\TIME_PERIOD
和 2020
上旋转列(即前一列)。
这会给你一个像这样的表格:
产品 | 流量 | 时间 | 数量_100公斤 | VALUE_IN_EUROS |
---|---|---|---|---|
71 | 1 | 2020 | 5630860 | 35176720 |
71 | 2 | 2020 | 8328942 | 52490848 |
这是上面的完整 PowerQuery:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"product", Int64.Type}, {"flow", Int64.Type}, {"indicators\TIME_PERIOD", type text}, {"2020", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "time", each List.Last(Table.ColumnNames(#"Changed Type")), type text),
#"Pivoted Column" = Table.Pivot(#"Added Custom", List.Distinct(#"Added Custom"[#"indicators\TIME_PERIOD"]), "indicators\TIME_PERIOD", List.Last(Table.ColumnNames(#"Changed Type")))
in
#"Pivoted Column"
我建议保留这样的结构,因为您可以将其他类似的表添加(附加)在一起,从而为您提供一个数据表。
关于演示文稿,我再次建议使用 Excel 而不是 PowerQuery 来解决此问题。保持您的 PowerQuery 表如上所示,然后在 Excel 中加载后,您可以添加对
product
列的引用,然后隐藏该列。