Excel DAX - 排名和比较值

如果您只想显示列或数据透视表中的顶部 n 项数,则您有以下两个选项 :

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

  • 你可以创建一个动态排名值的DAX公式,然后使用切片器中的排名值.

应用过滤器仅显示顶部少数项

要选择 n 在数据透视表中显示的最高值数,请执行以下和减号;

  • 单击数据透视表中行标签标题中的向下箭头.

  • 单击下拉列表中的值过滤器,然后单击Top 10.

应用过滤器

前10名将出现Filter (<column name>)对话框.

  • 在显示下,从左侧框中选择以下内容对.

    • 顶部

    • 18(要显示的最高值的数量.默认值为10.)

    • 项目.

    • 在旁边的框中,选择奖牌数.

奖牌数

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

应用过滤器的优点和缺点

优点

  • 它简单易用.

  • 适用于大数字的表格行.

缺点

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

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

创建动态排名值的DAX公式

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

您可以通过计算行中的行数来获取行中给定值的等级值同一个表的值大于正在比较的值.此方法返回以下 :

  • 表中最高值的零值.

  • 等值将具有相同的等级值.如果 n 值的数量相等,则相等值后的下一个值将具有非连续的等级值,将数字 n 相加.

例如,如果您有一个包含销售数据的表'Sales',您可以创建一个计算列,其中Sales Amount值的等级如下 :

 
 = COUNTROWS(过滤器(销售额,
 EARLIER(销售额[销售额])<销售额[销售额])
) + 1

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

动态排名的优缺点

优势

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

  • DAX公式是动态计算的.因此,即使基础数据发生了变化,您也可以始终确保排名正确.

  • 由于DAX公式用于计算列,可以使用切片器中的排名.

  • 适用于行数较多的表.

缺点

由于DAX计算的计算成本很高,因此该方法可能不适合具有大量行的表.