QlikWorld 2020 Global Conference. Join us to discover how to get the most from your data. Act fast. Register now and save.

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

Nota: In generale, non è possibile utilizzare questi valori NULL per le associazioni e le selezioni, tranne quando si utilizza l'istruzione NullAsValue.

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:

SET NULLDISPLAY=<sym>;

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=;

Nota: L'uso di NULLDISPLAY interessa solo i dati acquisiti da una sorgente dati ODBC.

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=";

Nota: In questo caso, il simbolo '' rappresenta effettivamente due virgolette singole senza spazi al centro.

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:

SET NULLINTERPRET=<sym>;

Il simbolo <sym> verrà interpretato come NULL. <sym> può essere una stringa qualsiasi.

Per ripristinare questa funzionalità sull'interpretazione predefinita, utilizzare:

SET NULLINTERPRET=;

Nota: L'uso di NULLINTERPRET interessa esclusivamente i dati da file di testo e clausole inline.

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.

Esempi
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.

Esempi
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.

Esempi
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.

Esempi
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.

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