繁体   English   中英

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

[英]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

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

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

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

这并非完全是您要的情况,但是有时,对于没有指定任何值的情况,您可能总是希望使用该字段的默认值,在这种情况下,IFNULL()函数很有用。 如果存在非空值,则返回其第一个参数的值,否则返回第二个参数的值。

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

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

然后,您可以在希望有任何值的地方安全地使用批准人,并且将应用默认值的信息放在一个地方。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM