如何在Power Query中筛选对应最大Change值的最新数据行?
问题
我有一个数据集,新数据会通过最后一列「Change」追加编号,数值越大代表是最新的记录。我想筛选出每个条目下Change值最高的最新行,但目前只能筛选出包含Contract、Period、Person Company和Person Name列的正确行,其余数据列都显示不出来,请问问题出在哪?
已解决方案
编辑:已经找到可用的解决代码,虽然暂时还没完全搞懂原理,但这段来自其他问题的代码已经生效,感谢Stack Overflow用户Olly。
let Partitions = Table.Group(Sheet1, {"Person Name"}, {{"Data", each Table.FirstN(Table.Sort(_,{{"Change", Order.Descending}}),1), type table}}), Combined = Table.Combine(Partitions[Data]) in Combined
代码简单解释
Table.Group:按「Person Name」把数据分组,同一个人的所有记录归为一组Table.Sort:在每个分组里,按「Change」列降序排列,这样最新的记录(Change值最大)会排在最前面Table.FirstN:取出每个分组排序后的第一行,也就是该人员的最新记录Table.Combine:把所有分组筛选出来的单行合并成一张完整表格,这样所有数据列都会被保留
你之前只能显示部分列,应该是在筛选或分组操作时,只指定了那几列作为保留项,没有保留整行的完整数据。这段代码通过分组时保留每组的完整表格,再提取最新行合并,自然就能带出所有列了。
内容的提问来源于stack exchange,提问作者fifth-essence
相关产品推荐
相关产品推荐

