Isempty
isempty
檢查字串欄中的值是否為空字串 (""
) 或 null。在非字串欄上呼叫 isempty
會導致錯誤。
語法
isempty(text column)
您可以在自訂篩選條件中使用 isempty
,或將其作為條件聚合 CountIf
和 SumIf
的條件。若要使用 isempty
建立自訂欄,您必須將 isempty
與另一個接受布林值的函式結合,例如 case
。
Metabase 如何處理空字串和 null 值
在 Metabase 中,具有字串資料類型的欄位,會針對空字串、空白字元字串或 null
值 (如果欄位在您的資料庫中可為 Null) 顯示空白儲存格。下表顯示 isempty
輸出的範例。
Metabase 顯示 | 資料庫值 | isempty(值) |
---|---|---|
null |
true |
|
"" (空字串) |
true |
|
" " (空白字元) |
false |
|
kitten | "kitten" |
false |
建立布林值自訂欄
若要使用 isempty
建立自訂欄,您必須將 isempty
與另一個函式結合。例如,如果您想要建立一個自訂欄,當 Feedback
欄為空或 null 時包含 true
,否則包含 false
,您可以使用 case 表達式
case(isempty([Feedback]), true, false)
將空字串替換為另一個值
您可以將 isempty
與 case
表達式 結合,以將空字串替換為更具描述性的內容。
例如,您可以建立一個新的自訂欄,當原始 [Feedback]
欄為空或 null 時,該欄將包含 "No feedback."
,當 [Feedback]
具有非空值時,則包含意見回饋值。執行此操作的自訂表達式為
case(isempty([Feedback]), "No feedback.", [Feedback])
Feedback | case(isempty([Feedback]), "No feedback.", [Feedback]) |
---|---|
"" |
"No feedback." |
null |
"No feedback." |
"I like your style." |
"I like your style." |
接受的資料類型
資料類型 | 適用於 isempty |
---|---|
字串 | ✅ |
數字 | ❌ |
時間戳記 | ❌ |
布林值 | ❌ |
JSON | ❌ |
限制
- 若要建立自訂欄,您必須將
isempty
與另一個接受布林值引數 (即true
或false
) 的表達式結合。 isempty
一次僅接受一個值。如果您需要處理來自多個欄位的空字串,則需要將多個isempty
表達式與 case 表達式 搭配使用。
相關函式
本節涵蓋可以與 Metabase isempty
表達式互換使用的函式和公式,並附註如何為您的使用案例選擇最佳選項。
以下所有範例均使用將空字串替換為另一個值範例中的表格
Feedback | case(isempty([Feedback]), "No feedback.", [Feedback]) |
---|---|
"" |
"No feedback." |
null |
"No feedback." |
"I like your style." |
"I like your style." |
SQL
在大多數情況下 (除非您使用的是 NoSQL 資料庫),從查詢產生器建立的問題會轉換為針對您的資料庫或資料倉儲執行的 SQL 查詢。
CASE WHEN (Feedback = "" OR Feedback IS NULL) THEN "No feedback"
ELSE Feedback END
相當於 Metabase isempty
表達式
case(isempty([Feedback]), "No feedback.", [Feedback])
試算表
如果我們的範例意見回饋欄在試算表中,其中「Feedback」在 A 欄,則公式為
=IF(A2 = "", "Unknown feedback.", A2)
相當於 Metabase isempty
表達式
case(isempty([Feedback]), "No feedback.", [Feedback])
Python
假設範例意見回饋欄在名為 df["Feedback"]
的資料框架欄中
df["Custom Column"] = np.where((df["Feedback"] == "") | (df["Feedback"].isnull()), "No feedback.", df["Feedback"])
相當於 Metabase isempty
表達式
case(isempty([Feedback]), "No feedback.", [Feedback])
延伸閱讀
閱讀其他Metabase 版本的文件。