如果画面计算字段中的部分未被执行
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() 在这种情况下很有用。
我想在 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() 在这种情况下很有用。