Tableau Desktop - 基于多个值创建自定义过滤器

Tableau Desktop - Create customized filter based on multiple values

我正在努力寻找使用参数创建自定义过滤器的解决方案。我有 excel sheet 示例数据如下。

*-----------------*
| Customer | Type |
*-----------------*
|  A       |   E1 |
|  A       |   E2 |
|  B       |   E1 |
|  B       |   E2 |
|  C       |   E1 |
|  D       |   E2 |
*-----------------*

我想创建一个具有以下三个值的过滤器

- E1 & E2
- E1
- E2

因此,当我 select 键入 E1 和 E2 时,应显示客户 A 和 B。同样,当我 select 键入 E1 时,应显示客户 C。

我已经尝试得到最终结果,但到目前为止没有成功。任何帮助将不胜感激。

有两个步骤。

  1. 创建一个参数来记录用户的response/choice。您可以将参数视为可以保存单个值的全局变量。您还可以将参数视为您向用户提问时获得用户响应的方式。参数具有数据类型,并且可以(可选)对可能值的列表进行限制。因此,您可以创建一个名为“Desired Type”的字符串值参数,并允许值为“E1”、“E2”、“All”。显示参数控制。

参数本身除了向用户询问问题并记录他的(单个)响应外什么都不做

  1. 现在使用参数值来过滤您的数据。例如,创建一个名为“Include Type?”的计算字段。定义如

[所需类型] =“全部”或[类型] = [所需类型]

(我按照惯例用尾随 ? 命名布尔字段,如果您不喜欢该惯例,则不必这样做)。

最后,将您的计算字段 [Include Type?] 放在过滤器架子上,并选择仅显示计算结果为 True 的值。现在,当您更改参数值时,过滤器将调整为仅包含与您的选择匹配的数据行。

请注意,可以在没有参数的情况下创建这个特定的过滤器,只需为字段类型显示一个过滤器控件,然后选择单个值并允许全部选择。但是上述方法允许您以多种不同的方式进行自定义,因为您可以在计算字段中放入您喜欢的任何逻辑。

我提出了一种稍微不同的方法,假设 type 字段中没有太多 factors/levels。

创建计算字段Dummy1,计算如下

{
Fixed [Customer]: SUM
(IF [Type] = 'E1' then 1 else 10 END)
}

这个字段就像一个二进制数,每个地方都包含或包含任何特定值。喜欢..

对于值 1 - 它将仅过滤 E1(您的示例中的第二个过滤值) 对于值 -10 - 它将仅过滤 E2(您的示例中的第三个过滤值) 对于值 - 11 - 它将同时过滤 E1 和 E2(您的示例中的第一个过滤值)。 因此你的步骤可能是-

如下创建另一个计算字段dummy2

CASE [Dummy1]
when 1 Then 'E1 but not E2'
WHEN 10 then 'E2 but not E1'
when 11 then 'E1 and E2'
END

您现在可以根据需要通过 dummy2 创建过滤器

还有一点,如果你在类型字段中有更多的值,将它们的值分配为1、10、100、1000等,这样你就可以区分类型包括哪些取决于类型。在固定和值中的二进制位上。