📜  Excel DAX-值的排名和比较

📅  最后修改于: 2020-12-01 04:53:33             🧑  作者: Mango


如果您只想显示列或数据透视表中的前n个项目,则可以使用以下两个选项-

  • 您可以在数据透视表中选择n个最大值。

  • 您可以创建DAX公式来动态对值进行排名,然后在切片器中使用排名值。

应用过滤器以仅显示前几个项目

要选择n个要显示在数据透视表中的最高值,请执行以下操作-

  • 单击数据透视表中行标签标题中的向下箭头。
  • 单击下拉列表中的值过滤器,然后单击前10名。

应用过滤器

出现“前10个过滤器(<列名>)”对话框。

  • 在显示下,从左到右在框中选择以下内容。
    • 最佳
    • 18(要显示的最上面的值的数目。默认值为10。)
    • 项目。
    • 在“按”框中,选择“奖牌计数”。

奖牌计数

  • 单击确定。前18个值将显示在数据透视表中。

过滤器的优缺点

好处

  • 它简单易用。
  • 适用于具有大量行的表。

缺点

  • 过滤器仅用于显示目的。

  • 如果数据透视表的基础数据发生更改,则必须手动刷新数据透视表以查看更改。

创建可动态对值进行排名的DAX公式

您可以使用包含排名值的DAX公式创建计算列。然后,您可以在所得的计算列上使用切片器来选择要显示的值。

您可以通过计算同一表中具有比要比较的值更大的值的行数来获得行中给定值的等级值。此方法返回以下内容-

  • 表格中的最大值为零。

  • 相等的值将具有相同的等级值。如果n个值相等,则相等值之后的下一个值将具有一个非连续的等级值,将n累加起来。

例如,如果您有一个包含销售数据的表“ Sales”,则可以使用“ Sales Amount”值的排名创建一个计算列,如下所示:

= COUNTROWS (FILTER (Sales,  
   EARLIER (Sales [Sales Amount]) < Sales [Sales Amount])
) + 1 

接下来,您可以在新的计算列上插入切片器,并按等级选择性显示值。

动态排名的优缺点

好处

  • 排序是在表格中完成的,而不是在数据透视表中完成的。因此,可以在任意数量的数据透视表中使用。

  • DAX公式是动态计算的。因此,即使基础数据已更改,您也始终可以确保排名是正确的。

  • 由于DAX公式用于计算列中,因此可以在切片器中使用排名。

  • 适用于具有大量行的表。

缺点

由于DAX计算的计算量很大,因此该方法可能不适用于具有大量行的表。