知识库

创建多值选择参数


发布时间: 26 Jan 2017
上次修改日期: 01 Mar 2024

问题

如何按用户键入的值列表筛选视图。可以使用此列表在参数中选择多个值。例如,对视图进行筛选以显示“伊利诺伊州、缅因州、纽约州”。
 

环境

Tableau Desktop

答案

这些选项是使用可从右侧窗格下载的工作簿中的示例数据集 Superstore 来演示的。

选项 1:使用集控件
从 Tableau Desktop 2020.2 开始,集控件允许最终用户更改集中的值。此示例允许用户选择两个州/省/市/自治区集以在一个地图上查看,但集是灵活的,可以在许多场景中使用。
  1. 在左侧的数据窗格中右键单击“[State]”(州/省/市/自治区),并单击“创建”>“集...”
  2. 在“创建集”对话框中,为集指定一个名称,并单击“确定”。在此示例中,集名为“State Set A”(州/省/市/自治区集 A)
  3. 在数据窗格中右键单击“[State Set A]”(州/省/市/自治区集 A),并选中“显示集”
  4. 为“State Set B”(州/省/市/自治区集 B)重复步骤 1-3
  5. 选择“分析”>“创建计算字段”
  6. 在打开的“计算字段”对话框中,执行以下操作,然后单击“确定”:
    1. 命名此计算字段。在本例中,计算字段名为“Selected states filter”(选定州/省/市/自治区筛选器)
    2. 在公式字段中,创建一个类似于如下的计算:
      [State Set A] OR [State Set B]
  7. 使用类似于如下的计算创建一个名称类似于“Selected States Color”(选定州/省/市/自治区颜色)的计算字段:
    IF [State Set A] AND [State Set B]
    THEN 'Both'
    
    ELSEIF [State Set A]
    THEN 'A'
    
    ELSEIF [State Set B]
    THEN 'B'
    
    ELSE 'not selected'
    
    END
  8. 在数据窗格中双击“[State]”(州/省/市/自治区)以创建地图
  9. 将“[Selected States Color]”(选定州/省/市/自治区颜色)拖到“标记”卡上的“颜色”
  10. 将“[Selected states filter]”(选定州/省/市/自治区筛选器)拖到“筛选器”功能区
  11. 在“筛选器”对话框中,选中“True”并单击“确定”
选项 2:使用字符串函数
  1. 单击“数据”窗格中“维度”旁边的向下箭头,并选择“创建参数...”
  2. 在“创建参数”对话框中,执行以下操作,并单击“确定”:
    1. 为参数命名。在此示例中,我将其称为“Multi-Search”(多项搜索)
    2. 对于“数据类型”,选择“字符串”
  3. 在“数据”窗格中右键单击“[Multi-Search]”(多项搜索),并选择“显示参数控件”
  4. 选择“分析”>“创建计算字段”
  5. 在打开的“计算字段”对话框中,执行以下操作,然后单击“确定”:
    1. 命名此计算字段。在此示例中,计算字段名为“String Match (contains)”(字符串匹配(包含))。
    2. 在公式字段中,创建一个类似于如下的计算:
      [Multi-Search] = ""
      OR
      CONTAINS([Multi-Search],[State])
  6. 将“[String Match (contains)]”(字符串匹配(包含))拖到“筛选器”功能区
  7. 在“筛选器”对话框中,选中“True”并单击“确定”

其他信息

选项 1 限制:

  • 集无法在数据源之间共享
  • 集不能包含数据之外的其他值,但值可以有别名

选项 2 限制:

  • 字符串函数可能会拖慢性能
  • 值必须按照它们在数据中出现的形式手动输入(复选框不起作用)
  • 参数的其他限制仍然适用
  • 更高级的字符串分析(移除元字符、使用带空格的逗号作为分隔符、精确匹配等)可能需要额外的代码
此文章是否已解决问题?