用於遺漏值的 CLEM 函數

有多個函數可用於處理遺漏值。「選取」節點和「填入器」節點中經常會用下列函數來捨棄或填入遺漏值:

  • count_nulls(LIST)
  • @BLANK(FIELD)
  • @NULL(FIELD)
  • undef

@ 函數可以與 @FIELD 函數一起使用來識別一個或多個欄位中是否存在空白值或空值。這些欄位可以予以標示(存在空白值或空值時),也可以用取代值填充,或者用於其他各種作業。

如下所示,您可以計算欄位清單中的空值數目:

count_nulls(['cardtenure' 'card2tenure' 'card3tenure'])

如果要使用接受輸入類型的欄位清單的函數,則可以使用特定的 @FIELDS_BETWEEN @FIELDS_MATCHING 函數,如下例所示:

count_nulls(@FIELDS_MATCHING('card*'))

可以使用 undef 函數來填充帶有系統遺漏值的欄位,系統遺漏值顯示為 $null$ 。例如,取代數值型時可以使用條件式陳述式,如:

if not(Age  > 17) or not(Age < 66) then undef else Age endif

此操作將用系統遺漏值來取代所有不在該範圍內的值,系統遺漏值顯示為 $null$ 。借助 not() 函數,您可以獲取所有其他數值,包含任何負值。請參閱處理空白與空值的函數主題,以取得更多資訊。

放棄記錄時的注意事項

請注意,使用選取節點放棄記錄時,語法將使用三值邏輯並在選取陳述式中自動包含空值。要排除選取表示式中的空值(系統遺漏值),必須在表示式中使用 and not 明確指出此意圖。例如,要選取並包含處方藥類型為藥品 C 的所有記錄,您可以使用下列選取陳述式:

Drug = 'drugC' and not(@NULL(Drug))

早期版本遇到上述狀況時會排除空值。