如果画面计算字段中的部分未被执行

IF part in tableau calculated field is not getting executed

我想在 tableau 中创建一个计算字段,它的值应该取决于另一个字段的值。下面是计算字段[D]

IF [A]=NULL
THEN [B]
ELSE [C]
END

此计算字段始终在 else 部分分配值([D] 填充为 [c] 的值)。 注:[A]、[B]、[C]为表格中已有的字段(均为字符串类型)

试试这个:

IF ISNULL([A])
THEN [B]
ELSE [C]
END

A​​ Null 字段中的值表示该字段中没有任何内容并且它不存储值 NULL.

如果您真的想在字段中比较 NULL,则使用 as IF ISNULL([A])。对于基于文件的数据源,例如 Excel 或 CSV,您还可以使用 IF [A]='' 检查空字符串——因为这些数据源不区分空值和空字符串。

正如其他人所指出的,您可以使用 ISNULL() 来测试字段是否具有空值。使用 ISNULL() 测试值是否存在与使用 equality

测试值不同

这与您询问的情况不完全一样,但有时,您可能有一个字段的默认值,您总是希望在没有指定值的情况下使用该默认值,在这种情况下,IFNULL()功能很有用。如果存在非空值,它 returns 它的第一个参数的值,否则它 returns 第二个参数的值。

假设您有一个名为 Approver 的字段,如果数据中未指定 Approver,则默认值为 "Fred"。一个可靠的方法是首先:

  • 将 Tableau 中的 Approver 字段重命名为 Approver-Original
  • 将新的审批人字段定义为 ifnull(Approver-Original, "Fred")
  • 隐藏字段 Approver-Original

然后您可以在任何您希望的地方安全地使用 Approver,因为它总是有一个值,而且关于应用默认值的信息都在一个地方。

还有一个名为 ZN() 的函数用于数值字段,如果参数为 null,则 returns 为零。在零是正确默认值的情况下很有用。

在某些情况下,所有这些都是有意义的,用默认值替换 null 是有意义的。

在其他情况下,您确实想要保留一个值 null 以表示缺少数据,例如一个名为 Spouse 的字段,对于单身人士来说将为 null。在这种情况下指定默认配偶是错误的,而且可能不会受到赞赏。 ISNULL() 在这种情况下很有用。