知识库

在每个 Top N 类别中显示 Top N 子类别


发布时间: 28 Jun 2016
上次修改日期: 17 Oct 2022

问题

在视图中使用多个 Top N 筛选器时,将无法获得预期的结果。

环境

Tableau Desktop

解决方案

为了控制 Top N 筛选器的执行顺序,您可以使用:
  • 上下文筛选器
  • 详细级别表达式
  • 表计算
以下示例基于 Superstore 样本数据。 

步骤 1:创建视图
  1. 将“区域”、“类别”和“子类别”放在行上
  2. 将“SUM(Sales)”放在“文本”上
步骤 2:创建计算字段
  1. 选择“分析”>“创建计算字段”。将字段命名为“销售排名”,输入以下计算,然后单击“确定”:
    RANK( SUM( [Sales] ) )
  2. 选择“分析”>“创建计算字段”。将字段命名为“销售排名,不包含子类别”,输入以下计算,然后单击“确定”: 
     RANK_DENSE( SUM( { EXCLUDE [Sub-Category] : SUM( [Sales] ) } ) )

步骤 3:设置筛选器

  1. 销售排名,不包含子类别拖动到筛选器中,之后单击“确定”。
  2. 右键单击筛选器上的销售排名,不包含子类别并选择编辑表计算…
    • 在“表计算”对话框中,选择计算依据 > 特定维度
    • 按照降序排列区域类别子类别,之后勾选所有三个字段旁边的复选框。
    • 重新启动间隔下面,选择区域。 
  3. 右键单击筛选器功能区上的销售排名,不包含子类别并选择编辑筛选器…
  4. 在“筛选器”对话框中输入需要的限制。例如,输入 1 到 2 的范围,以便在每个“区域”中显示前两个“类别”。
  5. 销售排名拖动到筛选器中,之后单击“确定”。
  6. 右键单击筛选器上的销售排名,之后选择“编辑表计算…”
    • 在“表计算”对话框中,选择计算依据 > 特定维度
    • 按照降序排列区域类别子类别,之后勾选所有三个字段旁边的复选框。
    • 重新启动间隔下面,选择类别
  7. 右键单击筛选器上的销售排名,之后选择编辑筛选器。 
  8. 输入所需的限制。

原因

多个 Top N 筛选器将与 AND 逻辑运算符一起执行。
此文章是否已解决问题?