在Tableau中使用CASE和WHEN逻辑函数并举例说明

796 阅读2分钟

TableauCASEWHEN 关键字是用来用你的维度或度量变量创建一个逻辑语句,看它是否符合某个条件。

当指定的条件出现时,CASE 将返回您在语句中指定的返回值。

当定义CASE 函数作为你的计算域公式时,你可以有一个或多个条件。

让我们看一个使用CASE 函数来创建计算字段的例子。

下面的数据集包含一家虚构的办公用品公司的销售记录。

SalesData.csv

在数据集中有一个City 维度变量,显示销售记录在哪个城市:

City:
- Edinburgh
- London
- Newcastle

使用TableauWHEN 函数,你可以用数字对城市进行编码,如下所示:

  • Edinburgh 编码为1
  • London 编码为2
  • Newcastle 编码为3

数据窗格的任何地方点击右键,选择创建计算字段...选项。

将计算字段命名为Encoded City ,并将以下公式写入字段中:

CASE [City] WHEN "Edinburgh" THEN 1
WHEN "London" THEN 2
WHEN "Newcastle" THEN 3 END

上面的CASE 语句为:

  • City 的值等于Edinburgh ,然后返回1
  • City 的值等于London ,然后返回2
  • City 的值等于Newcastle ,然后返回3

CASE 函数也需要END 关键字来表示该函数的结束。

由于你要创建一个维度计算字段,你需要在Encoded City 变量上点击右键,选择转换为维度

最后,将Encoded CityCity 变量拖入工作表的行架。

你会看到生成的表格输出如下:

Tableau case when field example

Tableau案例时字段示例

(tableau-case-when-example.png)

正如你所看到的,City 的值已经用CASE 函数进行了多条件的编码。

你也可以像这样用一个ELSE 语句替换第三个WHEN 语句:

CASE [City] WHEN "Edinburgh" THEN 1
WHEN "London" THEN 2
ELSE 3 END

如果WHEN 条件没有得到满足,ELSE 语句将被视为默认的返回值。

如果你想检查计算字段,你可以在这里查看和下载本教程的工作簿。

Tableau案例时实例

这就是你如何在Tableau中使用CASE -WHEN 语句,干得好!👍