Tableau 字符串参数

本文档介绍了 Tableau 中字符串参数的使用方法,包括在维度上进行操作,例如显示特定国家的销售额、执行通配符搜索以及带示例的多维通配符搜索。

为了演示 Tableau 字符串参数的值,我们使用了 AdventureWorksDW 数据库中的 Dimproduct、DimGeography 和 FactInternetSales 表。请访问SQL 源SQL 教程文章来了解数据源

由于蓝色、灰色、多色、NA、银/黑色和白色产品的数据较少,我们将其添加到了“颜色”组中。接下来,我们需要一个 Tableau参数来存储字符串值,以及一个计算字段筛选器架来编写表达式,以便在报告中使用或调用参数值以满足此要求。

Tableau 字符串参数示例

将“颜色”组拖放到“列”架上,将“销售额”度量拖放到“行”架上。请将标记类型更改为“条形图”以演示字符串参数。接下来,将“州/省/自治区名称”添加到“颜色”架上,以创建堆积条形图。要为其添加数据标签,请将“销售额”添加到“标签”架上。对于 Tableau 中的其余图表,请单击此处

在此 Tableau 示例中,我们的目标是展示字符串参数的全部潜力。因此,右键单击“# Measure Values”下方的空白区域,然后从上下文菜单中选择“创建参数”选项。

这将打开以下窗口。请将名称更改为“Country Param”,将数据类型更改为“string”,并将“允许的值”设置为“List”。您可以手动输入项目列表,单击“Add value from”按钮旁边的向下箭头,选择“Data Source”,然后选择“Field name”。为了演示,我将选择“English Country Region Name”。

我们需要一个计算字段来在报告中使用此 Tableau 字符串参数。因此,单击向下箭头(红色标记),然后选择“Create Calculated Field..”选项来编写以下表达式。

以下“Choose Country”计算字段表达式使用了IF ELSE 语句。如果用户选择的参数值存在于“English Country Region Name”中,则显示。否则,则不显示。有关所有内置函数,请>> 单击此处

IF [English Country Region Name] = [Country Param] THEN 'Show'
ELSE 'Dont'
END

请将新创建的“Choose Country”计算字段添加到“Filters”架上。当您将其拖到“Filters”架时,将打开以下窗口以选择选项。请勾选“Show”选项,然后单击“OK”。

接下来,单击“Country Param”旁边的向下箭头,然后选择“Show Parameter”选项以查看它们。我将选择“Australia”作为 Tableau 字符串参数值,并查看堆积条形图的变化。它显示了属于澳大利亚的颜色组的销售额总计。

Tableau String Parameter

在报告中,单击“Country Param”旁边的向下箭头,默认情况下,它将显示“Compact List”。

  1. Single Value List(单值列表):显示所有带有单选按钮的值。使用这些单选按钮,您可以选择所需的参数值。
  2. Compact List(紧凑列表):字符串参数值的下拉列表。
  3. Slider(滑块):使用滑块向前或向后拖动以选择项目。
  4. Type In(键入):手动输入国家/地区名称。当您键入第一个字母时,它会自动选择相关的术语(自动完成选项)。

为了演示 Tableau 字符串参数,我将选择“Single Value List”。

请选择“United States”,以查看属于美国的产品的颜色销售额。

Tableau String Parameter report filter USA result

在 Tableau 中,我们不需要计算字段即可使用字符串参数。您可以尝试使用筛选器操作来获得相同的结果。

我将删除计算字段,并将“English Country Region Name”添加到“Filters”架上,以向您展示相同的内容。这将打开以下弹出窗口。请导航到“Condition”选项卡,并在“Formula”部分写入下面的表达式。这与我们在计算字段中使用的相同。

[English Country Region Name] = [Country Param]

现在,您可以看到,我们已选择“France”作为字符串参数值,并且报告显示了该特定国家/地区的销售额。

单击“Filter”架上的“[English Country Region Name]”旁边的向下箭头,然后选择“Edit filter”选项。 Tableau 报告将不再显示匹配的国家/地区的销售额,而是显示所有小于或等于字符串参数文本的国家/地区。我将“Country Name”添加到“Label”以显示相同的内容。

[English Country Region Name] <= [Country Param]

右侧(堆积条形图)显示了结果:小于或等于法国的国家/地区(字母顺序小于或等于 F)。

Tableau String Parameter condition with alphabetical order

我再试一次,这次,国家/地区的销售额大于或等于加拿大。

[English Country Region Name] >= [Country Param]

使用 Tableau 字符串参数进行通配符搜索

在桌面版中,您可以使用内置的 CONTAINS 函数和字符串参数执行通配符搜索。为了演示相同的内容,单击“Country Param”旁边的向下箭头,将“Allowable values”从“List”更改为“All”,然后将任何字母/字符添加为当前值。

接下来,编辑“Choose Country”计算字段并编写以下表达式。它检查参数值中的子字符串是否存在于国家/地区列(维度)中。如果存在,则返回布尔值 True;否则,返回 false。

CONTAINS([English Country Region Name], [Country Param])

接下来,将其添加到“Filters”架上,并在弹出窗口中选择“True”。如果您键入 Un,报告将显示所有属于美国和联合王国的产品的颜色销售额。

在 Tableau 中,您可以使用相同的字符串参数处理多个维度。例如,您可以使用单个参数搜索一个或多个字段或维度。请编辑现有的“Choose Country”计算字段。

以下表达式在“Country”、“Color”和“State”维度(表列)中搜索用户输入的参数子字符串。如果有任何匹配项,它将显示结果。

CONTAINS([English Country Region Name], [Country Param]) OR 
CONTAINS([Color (group)], [Country Param]) OR 
CONTAINS([State Province Name], [Country Param])

我输入 Mi,由于在“Country”和“Color”维度中没有匹配项,因此它会查找提供的州名称,并返回包含 Mi 的四个州的结果。

如果您将 BI 作为字符串参数值输入,Tableau 将显示在任何索引位置包含 BI 的州。同样,当您输入 ra 时,“Country”中的澳大利亚和法国都有匹配项。

Wildcard Search using Tableau String parameter