Gestione dei valori NULL
Quando non è possibile produrre dati per un determinato campo come risultato di una richiesta di database e/o di un'unione di tabelle, generalmente viene restituito il valore NULL.
Panoramica
La logica di Qlik Sense interpreta i casi seguenti come valori NULL reali:
-
Valori NULL restituiti da una connessione ODBC
-
Valori NULL creati come risultato di una concatenazione forzata di tabelle nello script di caricamento dei dati.
-
Valori NULL creati come risultato di un'unione eseguita nello script di caricamento dei dati
-
Valori NULL creati come risultato della generazione di combinazioni di valori di campo da visualizzare in una tabella
Per ulteriori informazioni su NullAsValue, vedere NullAsValue.
I file di testo non possono contenere valori NULL per definizione.
Associazione/selezione di valori NULL da ODBC
È possibile associare e/o selezionare valori NULL da una sorgente dati ODBC. Per questo motivo è stata definita una variabile di script. È possibile utilizzare la seguente sintassi:
Il simbolo <sym> sostituirà tutti i valori NULL provenienti dalla sorgente dati ODBC al livello più basso dell'input dati. <sym> può essere una stringa qualsiasi.
Per ripristinare questa funzionalità sull'interpretazione predefinita, utilizzare la seguente sintassi:
SET NULLDISPLAY=;
Se si desidera che la logica di Qlik Sense interpreti i valori NULL restituiti da una connessione ODBC come una stringa vuota, aggiungere quanto segue allo script prima di qualsiasi istruzione SELECT:
SET NULLDISPLAY=";
Per ulteriori informazioni su NullDisplay, vedere NullDisplay .
Creazione di valori NULL da file di testo
È possibile definire un simbolo che, se rilevato in un file di testo o in una clausola inline, verrà interpretato come valore NULL reale. Utilizzare l'istruzione seguente:
Il simbolo <sym> verrà interpretato come NULL. <sym> può essere una stringa qualsiasi.
Per ripristinare questa funzionalità sull'interpretazione predefinita, utilizzare:
SET NULLINTERPRET=;
Per ulteriori informazioni su NullInterpret, vedere NullInterpret .
Propagazione dei valori NULL nelle espressioni
I valori NULL si propagano attraverso un'espressione, in base a poche regole logiche e completamente comprensibili.
Funzioni
La regola generale è che tale funzione restituisce un valore NULL quando i parametri non rientrano nella scala per cui è definita la funzione.
Espressione | Risultato |
---|---|
asin(2) | restituisce NULL |
log(-5) | restituisce NULL |
round(A,0) | restituisce NULL |
Come risultato dell'esempio precedente, in genere questo tipo di funzioni restituisce un valore NULL quando il valore di uno dei parametri necessari per la valutazione è NULL.
Espressione | Risultato |
---|---|
sin(NULL) | restituisce NULL |
chr(NULL) | restituisce NULL |
if(NULL, A, B) | restituisce B |
if(True, NULL, A) | restituisce NULL |
if(True, A, NULL) | restituisce A |
L'eccezione relativa alla seconda regola concerne funzioni logiche di verifica del tipo.
Espressione | Risultato |
---|---|
isnull(NULL) | restituisce True (-1) |
isnum(NULL) | restituisce False (0) |
Operatori aritmetici e su stringa
Se NULL è presente in uno di questi operatori, viene restituito NULL.
Espressione | Risultato |
---|---|
A + NULL | restituisce NULL |
A - NULL | restituisce NULL |
A / NULL | restituisce NULL |
A * NULL | restituisce NULL |
NULL / A | restituisce NULL |
0 / NULL | restituisce NULL |
0 * NULL | restituisce NULL |
A & NULL | restituisce A |
Operatori relazionali
Se è presente un valore NULL in una qualsiasi parte degli operatori relazionali, si applicano delle regole speciali.
Espressione | Risultato |
---|---|
NULL (qualsiasi operatore relazionale) NULL | restituisce NULL |
A <> NULL | restituisce True (-1) |
A < NULL | restituisce False (0) |
A <= NULL | restituisce False (0) |
A = NULL | restituisce False (0) |
A >= NULL | restituisce False (0) |
A > NULL | restituisce False (0) |