Power Query - 按 MAX 列值分组
Power Query - Group by MAX Column Value
我有一个交易 table,它显示每个订单的多条记录。
现在我想根据列键中的 MAX 获取每个订单的数据、价值和金额。
嗨,这可以通过使用 Power Query 实现吗?
结果会是这样的:
您可以为每个 Order
创建一个分区(组),按 Key
降序对分区进行排序,保留第一行,然后合并这些行:
let
Partitions = Table.Group(MyTable, {"Order"}, {{"Data", each Table.FirstN(Table.Sort(_,{{"Key", Order.Descending}}),1), type table}}),
Combined = Table.Combine(Partitions[Data])
in
Combined
CT = Table.TransformColumnTypes(
Source,
{
{"Order", Int64.Type},
{"Date", type date},
{"Value", Int64.Type},
{"Amount", Int64.Type},
{"Key", type number}
}
),
#"Filtered Rows" = Table.SelectRows(
CT,
each ([Key] = List.Max(Table.SelectRows(CT, (q) => q[Order] = [Order])[Key]))
)
我有一个交易 table,它显示每个订单的多条记录。
现在我想根据列键中的 MAX 获取每个订单的数据、价值和金额。 嗨,这可以通过使用 Power Query 实现吗? 结果会是这样的:
您可以为每个 Order
创建一个分区(组),按 Key
降序对分区进行排序,保留第一行,然后合并这些行:
let
Partitions = Table.Group(MyTable, {"Order"}, {{"Data", each Table.FirstN(Table.Sort(_,{{"Key", Order.Descending}}),1), type table}}),
Combined = Table.Combine(Partitions[Data])
in
Combined
CT = Table.TransformColumnTypes(
Source,
{
{"Order", Int64.Type},
{"Date", type date},
{"Value", Int64.Type},
{"Amount", Int64.Type},
{"Key", type number}
}
),
#"Filtered Rows" = Table.SelectRows(
CT,
each ([Key] = List.Max(Table.SelectRows(CT, (q) => q[Order] = [Order])[Key]))
)