Power Query中取得前三数据的方法:List.MaxN函数

我们知道在Excel中有个LARGE函数,可以取出一组数据中较大的几个数:

Power Query中取得前三数据的方法:List.MaxN函数

如图我们如果要取每行前三大的数值,需要使用LARGE+COLUMN函数组合就可以了,如果放在Power Query中应该用什么办法来获得同样的结果呢?

List.MaxN

这个函数刚好可以实现我们想要的结果,1-10中取出{10,9,8}

Power Query中取得前三数据的方法:List.MaxN函数

接下来就是我们要如何取出数据,统计结果,再放到表格中的过程:

Table.ToRows

我们使用Table.ToRows函数把数据源T表格转换成以行数据为单位的列表

Power Query中取得前三数据的方法:List.MaxN函数

接下来就是在这个列表的基础上进行操作。

List.Transform

我们使用List.Transform函数历遍列表,其实就是循环过程,配合List.MaxN函数取出排名前三的数据。

Power Query中取得前三数据的方法:List.MaxN函数

上面是each _的写法,也可以用(x)=>的写法:

Power Query中取得前三数据的方法:List.MaxN函数

最后就是把这样的列表的列表转换回表格,就是我们Table.ToRows函数的逆过程。

Table.FromRows

Table.FromRows与Table.ToRows是互逆的过程,通过行数据转换成表格:

Power Query中取得前三数据的方法:List.MaxN函数

最后我们可以把这些过程(TRL、TOP3)全部用函数替代,变成一个大公式:

= Table.FromRows(List.Transform(Table.ToRows(T),each List.MaxN(_,3)))

Power Query中取得前三数据的方法:List.MaxN函数

就是我们最终想要的结果了。

在这个公式的编写过的分步过程中,核心函数是List.MaxN,就相当于Excel中的large函数,然后用Table.ToRows、List.Transform、Table.FromRows函数来做嵌套配合,提取数据、历遍数据、写回数据,虽然过程上比Excel繁琐了很多,我们要学习的就是这种整体的数据操作,而不是Excel中基于单元格的数据计算。

展开阅读全文

页面更新:2024-05-30

标签:函数   数据   组合   嵌套   数据源   写法   繁琐   数值   公式   表格   个数   较大   过程   操作   方法   列表   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top