Cosa sono i valori mancanti di sistema?
I valori mancanti di sistema rappresentano valori di dati non noti o non applicabili. Nei database, questi valori sono spesso riferiti come valori NULL. I valori mancanti di sistema sono diversi dai valori vuoti. I valori vuoti sono generalmente definiti nel nodo Tipo come valori particolari, o intervalli di valori, che possono essere considerati come valori mancanti definiti dall'utente. I valori vuoti sono gestiti diversamente nel contesto di modeling.
Creazione di valori mancanti di sistema
I valori mancanti di sistema potrebbero essere presenti nei dati letti da un'origine dati (ad esempio, le
tabelle di database potrebbero contenere valori NULL). I valori mancanti di sistema possono essere creati utilizzando il valore undef
nelle espressioni. Ad
esempio, la seguente espressione CLEM restituisce il valore Age
, se
minore o uguale a 30
, oppure un valore mancante se maggiore di 30
:
if Age > 30 then undef else Age endif
I valori mancanti possono anche essere creati quando si esegue un'operazione outer join, quando un numero viene diviso da zero, quando si calcola la radice quadrata di un numero negativo, e in altre situazioni.
Visualizzazione di valori mancanti di sistema
I valori mancanti di sistema vengono visualizzati in tabelle e in altri dati di output come $null$
.
Esecuzione di test per valori mancanti di sistema
Utilizzare la funzione speciale @NULL per restituire true
se il valore
dell'argomento è un valore mancante di sistema. Ad esempio:
if @NULL(MyFieldName) then 'It is null' else 'It is not null' endif
Valori mancanti di sistema trasferiti alle funzioni
I valori mancanti di sistema che vengono trasferiti alle funzioni di solito distribuiscono i valori mancanti all'output. Ad esempio, se il valore del campo f1
è un valore mancante di sistema in una particolare riga, anche l'espressione log(f1)
assume un valore mancante di sistema per quella riga. Un'eccezione è la funzione @NULL.
Valori mancanti di sistema in espressioni che coinvolgono gli operatori aritmetici
L'applicazione di operatori aritmetici ai valori che includono un valore mancante di sistema determina un valore mancante di sistema. Ad esempio, se il valore del campo f1
è un valore mancante di sistema in una particolare riga, anche l'espressione f1 + 10
assume un valore mancante di sistema per quella riga.
Valori mancanti di sistema in espressioni che coinvolgono gli operatori logici
Quando si utilizzano i valori mancanti di sistema nelle espressioni che coinvolgono gli operatori logici, le regole di logica a tre valori (true, false e mancante) vengono applicate e possono essere descritte nelle tabelle truth. Le tabelle truth per gli operatori logici comuni not, and e or vengono mostrate nelle seguenti tabelle.
Operando | Operando NOT |
---|---|
vero, true | No |
No | vero, true |
mancante | mancante |
Operand1 | Operand2 | Operand1 AND Operand2 |
---|---|---|
vero, true | vero, true | vero, true |
vero, true | No | No |
vero, true | mancante | mancante |
No | vero, true | No |
No | No | No |
No | mancante | No |
mancante | vero, true | mancante |
mancante | No | No |
mancante | mancante | mancante |
Operand1 | Operand2 | Operand1 OR Operand2 |
---|---|---|
vero, true | vero, true | vero, true |
vero, true | No | vero, true |
vero, true | mancante | vero, true |
No | vero, true | vero, true |
No | No | No |
No | mancante | mancante |
mancante | vero, true | vero, true |
mancante | No | mancante |
mancante | mancante | mancante |
Valori mancanti di sistema in espressioni che coinvolgono gli operatori di confronto
Quando si confronta un valore mancante di sistema e un valore mancante non di sistema, l'esito assume un valore mancante di sistema anziché un risultato true o false. I valori mancanti di sistema possono essere confrontati tra loro; due valori mancanti di sistema sono considerati uguali.
Valori mancanti di sistema in espressioni if/then/else/endif
Quando si utilizzano espressioni condizionali, e l'espressione condizionale restituisce un valore mancante di sistema, il valore della clausola else
viene restituito dall'espressione condizionale.
Valori mancanti di sistema nel nodo Select
Quando, per un particolare record, l'espressione di selezione assume un valore mancante, il record non viene emesso dal nodo Select (questa azione si applica ad entrambe le modalità Include e Discard).
Valori mancanti di sistema nel nodo Merge
Quando si esegue l'operazione di unione (merge) mediante una chiave, tutti i record che hanno valori mancanti di sistema in un campo chiave non vengono uniti.
Valori mancanti di sistema nell'aggregazione
Quando si aggregano i dati sulle colonne, i valori mancanti non vengono inclusi nel calcolo. Ad esempio, in una colonna con tre valori { 1
, 2
e undef
}, la somma dei valori nella colonna viene calcolata come 3
; il valore medio viene calcolato come 1.5
.