ISMISSING 函式

ISMISSING 函式會測試含有值的資料欄是否有遺漏值或為空值。如果是輸入資料欄參照,此函式會傳回 truefalse
  • 您可以在單一步驟中定義有效值的條件測試。請參閱 IFMISSING 函式一文。
  • 遺漏值與空值並不相同。如果只是要測試是否出現空值,請參閱 ISNULL 函式一文。

基本用法

delete row:ISMISSING(Qty)

輸出:刪除所有在 Qty 資料欄遺漏值的資料列。

語法

delete value:ISMISSING(column_string)

引數是否必要?資料類型說明
column_string字串要套用至函式的資料欄名稱或字串常值

如要進一步瞭解語法標準,請參閱語言文件語法附註一文。

column_string

待測試是否有遺漏值的資料欄名稱或字串常值。

  • 如果系統找不到字串或資料欄值,會產生空白的字串結果。

可以將多個資料欄指定為陣列,如下所示:

delete value:ISMISSING([col1,col3,col5])

  • 不支援資料欄範圍。
  • 不支援萬用字元。

使用須知:

是否必要?資料類型示例值
字串常值或資料欄參照myColumn

範例

範例 - 類型檢查函式

此範例會說明如何將各種類型檢查函式套用到您的資料。

  • ISVALID - 如果輸入值符合指定的資料類型,則傳回 true。請參閱 VALID 函式
  • ISMISMATCHED - 如果輸入值不符合指定的資料類型,則傳回 true。請參閱 ISMISMATCHED 函式
  • ISMISSING - 如果缺少輸入值,則傳回 true。請參閱 ISMISSING 函式
  • ISNULL - 如果輸入值為空值,則傳回 true。請參閱 ISNULL 函式
  • NULL - 產生空值。請參閱 NULL 函式

來源:

部分來源值應該會符合「州」和「整數」的資料類型。

StateQty
CA10
OR-10
WA2.5
ZZ15
ID
4

轉換:

您可以使用下列指令來測試 State 資料欄是否含有無效值:

derive type:single value: ISMISMATCHED (State, 'State')

您可以使用下列指令來測試 Qty 資料欄是否含有有效相符值:

derive type:single value: (ISVALID (Qty, 'Integer') && (Qty > 0)) as:'valid_Qty'

第一個轉換會將第 4 列和第 6 列標記為不相符。

附註:遺漏值對任何類型 (包含字串類型) 而言均為無效值。

如果資料列的 Qty 資料欄為大於 0 的有效整數,第二個轉換會將這些資料列全標記成有效。

下列的轉換指令會測試資料欄是否有出現遺漏值:

derive type:single value: (ISMISSING(State) || ISMISSING(Qty)) as:'missing_State_Qty'

使用 move 轉換重新整理資料欄後,資料集應會如下所示:

StateQtymismatched_Statevalid_Qtymissing_State_Qty
CA10falsetruefalse
OR-10falsefalsefalse
WA2.5falsefalsefalse
ZZ15truetruefalse
ID falsefalsetrue
4falsetruetrue

由於資料不包含空值,下列轉換會依據前述條件產生空值:

您隨後可使用 ISNULL 檢查來移除未通過上述測試的資料列:

delete row: ISNULL('status')

結果:

依據上述測試,輸出資料集會含有一個資料列:

StateQtymismatched_Statevalid_Qtymissing_State_Qtystatus
CA10falsetruefalseok

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁