在 Power query 中重新排列表格

问题描述 投票:0回答:1

我在 Power Query 中有一个表,我正在尝试重新排列。原来的表是这样的:

我想重新排列它看起来像:

如果您能帮助解决此问题,我将不胜感激。预先感谢!

莎拉

我注意到,如果我想要我想要的结果,它在电源查询中将如下所示:

excel powerquery excel-tables
1个回答
0
投票

将此作为起始表:

产品 流量 指标\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
列的引用,然后隐藏该列。

© www.soinside.com 2019 - 2024. All rights reserved.