Power BI中如何实现TopN和BottomN的计算

文摘   2024-09-01 15:41   广东  

小伙伴们,大家好呀~今天和大家分享一个Power BI中非常实用的函数TOPN,并结合实际案例和大家分享其常见的用法。

函数语法介绍返回数据集中指定数量的前N个值,该函数可以用于排序和筛选数据,并且根据指定的列返回前N个数据。

注意:

  • 如果存在相等值的情况,返回相等值的所有行,所以返回的行数可能大于N行;

  • TOPN返回的是一个表格而不是一个具体的标量值,如果要计算TopN的产品销售额,那么还需要配合CALCULATE函数使用;

简单的应用场景
图中我们返回的是一个计算表,计算的是产品表中销售额排名前的三个产品信息,这也正好验证上面所说的TOPN返回的不是一个具体的标量值而是一个表。

如果我们需要计算TOP3的产品销售额怎么实现?这时候可以通过把TOPN返回的表传入CALCULATE的第2参数作为其筛选条件,下图2中右侧317.31K就是TOP3产品的销售额,左侧矩阵是验证数据。具体表达式如下:
topNProductSales =VAR t =    TOPN ( 3, ALL ( 'DimProduct' ), [sales_amount] )RETURN    CALCULATE ( [sales_amount], t )

这时候好奇的你肯定会问,TOPN(前N个)计算我知道了,那么BottomN(后N个)怎么计算呢?不慌不慌,还是用这个函数来实现。还记得上面的第四个参数Order吗,它是支持升序和降序的调整的,默认是降序,也就是说默认是从高到低选择前N个值,那么我们把这个排序的规则改成升序,不就可以轻松得到最后的N个值了么。

bottomN = CALCULATE([01_sales_amount],      TOPN(3,ALL('产品表'),[01_sales_amount],ASC))

以上是关于TOPN的语法介绍和简单应用场景介绍,后面小编将和大家一起分享TOPN更多场景的用法,例如动态TopN,TopN和其他等实际业务场景。


  • 免费课程:Power BI免费课程更新至202405月
  • 免费课程绝大部分都是录制视频讲解,针对典型案例进行讲解,大家可以当做是一个字典,需要时候来找一找。免费课程不系统,有些基础内容小编默认你是知道,所以没有详细讲解,需要系统学习推荐看看小编的付费系统课程。
  • 付费课程:Power BI会员课程更新(202310)
  • 付费课程从零基础开始讲解,上手平滑,深入浅出,结合实际案例针对性强。具体可以参考介绍,课程内容持续更新,永久学习!(付费后,小编后面开发推出的所有课程和资源免费获取,无需再付费!)
  • 交流答疑群:本群为付费制(49/一位),仅作为学习交流Power BI/Excel/Tableau/SQL等数据分析、数据处理工具用,有问题可以描述清楚你的问题,附上案例数据求助。除此外,不讨论任何无关事情,违者立刻剔除。啊?不是吧?加群还要付费?嗯,是的,所以,加群后请谨言慎行!群里会不定期分享各类模板、学习书籍等资讯,确认以上条件都能接受再添加小编私信!




PowerBI Home
分享PowerBI、Tableau、Excel(函数公式、数据透视表、VBA)、Python、SQL等技巧。
 最新文章