Power Query分组求MAX值时如何保留其他列数据?
Power Query 获取Amount列最大值并保留所有列数据
方法1:先取最大值再筛选(返回所有最大值行)
这种方法会保留所有Amount列等于最大值的完整行数据,适合存在多个最大值行的场景。
let // 替换成你的实际数据源表名 Source = YourDataSource, // 提取Amount列的最大值 MaxAmount = List.Max(Source[Amount]), // 筛选出Amount等于最大值的行 FilteredRows = Table.SelectRows(Source, each [Amount] = MaxAmount) in FilteredRows
方法2:用Group By结合Table.Max(返回单条最大值行)
如果只需要获取任意一条最大值对应的完整行,可以通过Group By配合Table.Max实现,最后展开记录列得到所有原始字段。
let Source = YourDataSource, // 按"所有行"分组,聚合时取Amount最大的行记录 Grouped = Table.Group(Source, {}, {{"MaxRow", each Table.Max(_, "Amount")}}), // 展开记录列,还原所有原始列 ExpandedMaxRow = Table.ExpandRecordColumn(Grouped, "MaxRow", Table.ColumnNames(Source)) in ExpandedMaxRow
注意:如果有多个行的
Amount值同为最大值,方法2只会返回表格中最先出现的那一行;方法1会返回所有符合条件的行,按需选择即可。
内容的提问来源于stack exchange,提问作者Vincy Rani S
相关产品推荐
相关产品推荐

