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) |