如果tableau计算字段中的零件未执行

时间:2018-11-19 17:20:11

标签: tableau tableau-online tableau-public

我想在tableau中创建一个计算字段,其值应取决于其他字段的值。以下是计算所得的计算字段[D]

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

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

3 个答案:

答案 0 :(得分:1)

尝试一下:

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

答案 1 :(得分:1)

字段中的值表示该字段中没有任何内容,并且不存储值NULL

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

答案 2 :(得分:0)

正如其他人指出的那样,可以使用ISNULL()测试字段是否具有空值。使用ISNULL()测试值是否存在与使用相等测试值不同

这不是您所问的确切情况,但是有时,对于没有指定值的情况,您可能总是想使用一个默认值的字段,在这种情况下,IFNULL()函数为有用。如果存在非空值,则返回其第一个参数的值,否则返回第二个参数的值。

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

  • 将Tableau中的“批准者”字段重命名为“批准者原始”
  • 将新的批准者字段定义为ifnull(Approver-Original, "Fred")
  • 隐藏批准人原始字段

然后,您就可以在希望有任何值的地方放心使用Approver,并且有关应用默认设置的信息都放在一个地方。

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

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

在其他情况下,当您确实要保留一个空值来表示缺少数据时,例如一个名为“配偶”的字段将对单身人士为空。在这种情况下分配默认配偶将是错误的,并且可能不值得赞赏。在这种情况下,ISNULL()很有用。