用於遺漏值的 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))
早期版本遇到上述狀況時會排除空值。