我想在tableau中创建一个计算字段,其值应取决于其他字段的值。以下是计算所得的计算字段[D]
IF [A]=NULL
THEN [B]
ELSE [C]
END
此计算字段始终为else部分分配值([D]填充为[c]的值)。 注意:[A],[B]和[C]是表格中的现有字段(均为字符串类型)
答案 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”。一种可靠的方法是首先:
ifnull(Approver-Original, "Fred")
然后,您就可以在希望有任何值的地方放心使用Approver,并且有关应用默认设置的信息都放在一个地方。
对于数字字段,还有一个名为ZN()的函数,如果参数为null,则该函数返回零。在零是正确的默认值的情况下很有用。
在所有情况下,使用默认值替换null都是有意义的。
在其他情况下,当您确实要保留一个空值来表示缺少数据时,例如一个名为“配偶”的字段将对单身人士为空。在这种情况下分配默认配偶将是错误的,并且可能不值得赞赏。在这种情况下,ISNULL()很有用。