isNull

isNull 检查值是否为 nullnull 是数据库在信息缺失或未知时使用的特殊占位符。

语法

isNull(text column)

您可以在自定义筛选器中使用isNull,或者作为条件聚合函数CountIfSumIf的条件。要使用isNull创建自定义列,您必须将isNull与其他接受布尔值(如case)的函数结合使用。

Metabase 如何处理 null 值

在 Metabase 表格中,null 值显示为空白单元格。此外,对于字符串列,空字符串和仅包含空白字符的字符串也将显示为空白。

下表显示了 isNull 的输出示例。

Metabase 显示 数据库值 isNull(值)
  null true
  "" (空字符串) false*
  " " (空白字符) false
kitten "kitten" false

*在 Oracle 和 Vertica 数据库中,空字符串会被视为 null。

创建布尔自定义列

要使用isNull创建自定义列,您必须将isNull与其他函数结合使用。例如,如果您想创建一个自定义列,当Discount列为 null 时其值为true,否则为false,您可以使用case 表达式

case(isNull([Discount]), true, false)

用另一个值替换 null 值

isNullcase 表达式结合使用,以更具描述性的内容替换缺失信息。

例如,您可以创建一个新的自定义列,当原始 [Feedback] 列为 null 时,该列将包含 "Unknown feedback",而当 [Feedback] 具有值时,则包含实际的反馈值。实现此目的的自定义表达式是:

case(isNull([Feedback]), "Unknown feedback.", [Feedback])
反馈 case(isNull([Feedback]), "Unknown feedback.", [Feedback])
null "Unknown feedback."
"" ""
"I like your style." "I like your style."

接受的数据类型

数据类型 适用于 isNull
字符串
数字
时间戳
布尔
JSON

限制

  • 在 Metabase 中,您必须将 isNull 与另一个接受布尔参数(即 truefalse)的表达式结合使用。
  • isNull 一次只接受一个值。如果您需要处理多个列中的空白单元格,请参阅 coalesce 表达式
  • 如果 isNull 似乎对您的空白单元格无效,您可能正在处理空字符串。请尝试使用 isEmpty 表达式

本节介绍可以与 Metabase isNull 表达式互换使用的函数和公式,并附有关于如何为您的用例选择最佳选项的说明。

以下所有示例均使用替换 null 值示例中的表格。

反馈 case(isNull([Feedback]), "Unknown feedback.", [Feedback])
null "Unknown feedback."
"" ""
"I like your style." "I like your style."

SQL

在大多数情况下(除非您使用 NoSQL 数据库),从查询构建器创建的问题会转换为针对您的数据库或数据仓库运行的 SQL 查询。

CASE WHEN Feedback IS NULL THEN "Unknown feedback",
     ELSE Feedback END

等同于 Metabase isNull 表达式

case(isNull([Feedback]), "Unknown feedback.", [Feedback])

电子表格

电子表格中的 #N/A 等同于数据库中的 null 值(“未知”或“缺失”信息的占位符)。

假设我们的示例反馈列位于电子表格中,并且“Feedback”在 A 列,那么公式

=IF(ISNA(A2), "Unknown feedback.", A2)

等同于 Metabase isNull 表达式

case(isNull([Feedback]), "Unknown feedback.", [Feedback])

Python

Numpypandas 使用 NaNNA 代替 null

假设我们的示例反馈列在一个名为 df["Feedback"] 的数据框列中

df["Custom Column"] = np.where(df["Feedback"].isnull(), "Unknown feedback.", df["Feedback"])

等同于 Metabase isNull 表达式

case(isNull([Feedback]), "Unknown feedback.", [Feedback])

延伸阅读

阅读其他Metabase 版本的文档。

© . All rights reserved.