Power Query - 基于两个条件的组/ Unpivot 列表
Power Query - Group/ Unpivot List based on two conditions
我有一个包含此类信息的巨大列表:
现在我想对这个列表进行分组/逆透视以获取每个订单号
- 基于键 1 = 70 和键 2 = 10 和
的最大销售价值
- 基于键 1 = 70 和键 2 = 20 的最大销售价值
结果会是这样:
如何使用 Power Query 做到这一点?
你可以这样做:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwUNJRMgURhhCWgVKsDkzcDEQYgQgTFHFzuHoLHOLmphjiRhATYeKGOOw1xGGvIQ57DXHYa4hiL1h9LAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Order Number" = _t, #"Key 1" = _t, #"Key 2" = _t, #"Sales Value" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Order Number", Int64.Type}, {"Key 1", Int64.Type}, {"Key 2", Int64.Type}, {"Sales Value", Int64.Type}}),
#"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Changed Type", {{"Key 1", type text}, {"Key 2", type text}}, "de-CH"),{"Key 1", "Key 2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),
#"Filtered Rows" = Table.SelectRows(#"Merged Columns", each ([Merged] = "7010" or [Merged] = "7020")),
#"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[Merged]), "Merged", "Sales Value", List.Max)
in
#"Pivoted Column"
输出:
我有一个包含此类信息的巨大列表:
现在我想对这个列表进行分组/逆透视以获取每个订单号
- 基于键 1 = 70 和键 2 = 10 和 的最大销售价值
- 基于键 1 = 70 和键 2 = 20 的最大销售价值
结果会是这样:
如何使用 Power Query 做到这一点?
你可以这样做:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwUNJRMgURhhCWgVKsDkzcDEQYgQgTFHFzuHoLHOLmphjiRhATYeKGOOw1xGGvIQ57DXHYa4hiL1h9LAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Order Number" = _t, #"Key 1" = _t, #"Key 2" = _t, #"Sales Value" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Order Number", Int64.Type}, {"Key 1", Int64.Type}, {"Key 2", Int64.Type}, {"Sales Value", Int64.Type}}),
#"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Changed Type", {{"Key 1", type text}, {"Key 2", type text}}, "de-CH"),{"Key 1", "Key 2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),
#"Filtered Rows" = Table.SelectRows(#"Merged Columns", each ([Merged] = "7010" or [Merged] = "7020")),
#"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[Merged]), "Merged", "Sales Value", List.Max)
in
#"Pivoted Column"
输出: