Isnull

isnull 檢查值是否為 null,這是一種特殊的預留位置,資料庫在遺失或未知某些項目時會使用它。

語法

isnull(text column)

您可以在自訂篩選條件中使用 isnull,或將其作為條件式彙總 CountIfSumIf 的條件。若要使用 isnull 建立自訂欄,您必須將 isnull 與另一個接受布林值的函式結合,例如 case

Metabase 如何處理 Null

在 Metabase 表格中,null 會顯示為空白儲存格。此外,針對字串欄,空白字串和僅包含空格字元的字串也會顯示為空白。

下表顯示 isnull 輸出的範例。

Metabase 顯示 資料庫值 isnull(值)
  null true
  "" (空白字串) false*
  " " (空格) false
false "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 (「未知」或「遺失」資訊的預留位置) 相當。

假設我們的範例回饋欄位於試算表中,「回饋」位於 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 版本的文件。