Tableau INDEX 函数查找排名前 N 的记录

本文将介绍如何使用 Tableau 的 INDEX 函数查找排名前 N(3、5 或 10)的记录、产品、城市或客户。它还涵盖了动态筛选器选项,允许用户确定 N 的值。

Tableau 的 INDEX 函数是表函数之一,它返回从 1 到 N 的数字,其中 1 是第一条表记录,N 是最后一条。它对于显示序号、排名和前 N 行非常有用。INDEX 函数的语法如下所示。

INDEX()

为了演示如何使用 Tableau 的 INDEX 函数查找排名前 N 的记录,我们使用了下面的报告,该报告使用了 Sample Superstore Excel 源。将 Segment 和 Sub-Category 拖放到 Rows 区域,以创建相同的报告。接下来,将 Sales 添加到 Columns 区域,并将 Mark 类型更改为 Bar。将 Sub-Category 添加到 Color 区域,然后单击 T 按钮添加数据标签。

Tableau INDEX 函数查找排名前 N 的记录示例

您必须创建一个计算字段来编写内置的 INDEX() 函数。请单击向下箭头或转到“Analysis”选项卡选择“Create a Calculated Field”选项。

在这里,我们将编写以下表达式来显示从 1 到 N 的数字,以便我们可以重新排列它们以获得最终结果。有关条形图、其他图表和支持函数的信息 >> 单击此处

INDEX()
Tableau INDEX Function 1

请将新创建的 Rank 计算字段添加到 Columns 区域以查看输出。默认情况下,它返回从 1 到最大行值的顺序数字。但是,我们希望 INDEX 函数显示排名前 N 的子类别(记录),因此我们必须编辑计算过程。

为此,在 Columns 区域中,单击 Rank 计算字段旁边的向下箭头,然后选择“Edit Table Calculation”选项。

请选择“Specific Dimension”选项,并使用鼠标重新排列 Segment 和 Sub-Category 字段,如下图所示。这将打开以下窗口,您可以看到,默认情况下,它正在使用 Table (down) 进行计算。请使用此窗口更改计算方式选项。

请将表函数的“Compute using”选项更改为“Specific Dimensions”,并按照 Rows 区域的顺序进行操作。

  • Restarting every: Segment(每隔:Segment 重启)。
  • Sort Order: 选择自定义排序,选择 Sales Measure 和 aggregate sum,然后选择降序。

接下来,使用工具栏将排序顺序更改为降序。Tableau INDEX 函数现在为每个细分市场中的产品子类别提供从 1 到 N 的排名,因此可以轻松查找和显示排名前 N 的记录。  

使用筛选器查找排名前 N 记录的 Tableau INDEX 函数

按住 Control 或 Command 键,将 Rank 计算字段拖放到 Rows 区域。接下来,请将其更改为离散 (Discrete),并将其放在 Segment 和 Sub-category 之间。然后,将 Columns 区域中的 Rank 字段拖放到 Filters 区域。这将打开以下窗口以选择值范围。选择 5 以查看每个细分市场中排名前 5 的产品子类别。

请查看下面 Tableau 图像中的排名前 5 的产品。如何让用户控制 N 的值?为此,在 Filters 区域中,单击 Rank 字段旁边的向下箭头,然后选择“Show Filter”选项。 

现在,您可以看到排名前 8 的记录。

您甚至可以选择随机的第一个和最后一个值。