<< Back

Gestire i valori null in Tableau

Come già sapete, o se non lo sapete, lo saprete da ora in poi, non è possibile eseguire operazioni aritmetiche tra un numero e un valore NULL. Vi chiederete perché?

Semplicemente perché NULL non è un valore che fa parte dell’insieme dei numeri. È NULL.

Voler sommare 5 a NULL è come voler sommare 5 e la parola sette. Numero+stringa di testo. Non si può! Siamo d’accordo che sette scritto in lettere per noi vale 7, ma per un calcolatore (al di là delle mille interpretazioni che possiamo attribuire noi), sette in lettere è e resta una stringa, come NULL non è un numero.

uno

Esitono per questo motivo una serie di funzioni per ovviare a questo problema.

  • ZN –> Zero Null: trasforma tutti i NULL in zeri
  • ISNULL –> formula di test che controlla se un valore è null oppure no (vero/falso), da usare abbinata a una formula SE
  • IFNULL –> istruzione SE specifica per i valori null

FUNZIONE ZN (Zero Null)

La funzione ZN trasforma tutti i valori NULL in zero:

due

Quando uso la funzione ZN? Quando ho a che fare con numeri e ho intenzione di sostiuire i null con degli zeri.

Quando NON uso la funzione ZN? Quando ho a che fare con campi differenti da numeri (date, stringhe, valori booleani) oppure quando sto maneggiando numeri ma non voglio sostiuire i null con degli zeri, ma ad esempio con la media dei valori.

FUNZIONE ISNULL(expr.)

La funzione ISNULL() è una funzione di test che controlla se un valore è nullo e restituisce un valore vero o falso. Va utilizzata insieme a una formula IF (classica o booleana) che indichi che valore mostrare in caso di test vero e quale in caso di test falso:

tre

Se B è nullo allora 0 altrimenti B.

Quando uso la funzione ISNULL()? Quando ho a che fare con numeri ma ho intenzione di sostiuire i null con valori diversi da zero o quando ho a che fare con campi diversi da numeri.

Quando NON uso la funzione ISNULL()? Non ci sono casi in cui la funzione non possa essere utilizzata.

FUNZIONE IFNULL(expr1, expr2)

La funzione IFNULL è una contrazione della funzione ISNULL + IF e replica pari pari le funzioni IFNULL dei DB classici SQL & company.

IFNULL([B], 0)

se è null l’espressione 1, allora espressione 2 (sottinteso: altrimenti espressione 1)

se è null B, allora zero (sottinteso: altrimenti B)

treeeee

Quando uso la funzione ISNULL()? Quando ho a che fare con numeri ma ho intenzione di sostiuire i null con valori diversi da zero o quando ho a che fare con campi diversi da numeri.

Quando NON uso la funzione ISNULL()? Non ci sono casi in cui la funzione non possa essere utilizzata.

Quindi, ricapitolando, se decidiamo di portare in Tableau dei valori NULL (possiamo anche fare un bel filtro sul datasource che escluda tutti i null e risolviamo il problema sul nascere, ma tutto dipende dal tipo di analisi che stiamo facendo) e stiamo maneggiando stringhe di testo, valori booleani o date, siamo obbligati ad utilizzare IFNULL o ISNULL, perché ZN fa un replace solo con il valore numerico 0 (che non si adatta a testi, date o valori vero/falso).

quattro

Idem se abbiamo la necessità di rimpiazzare i valori null con un valore numerico diverso da zero (ad esempio la media dei dati o un percentile o un valore fisso). Se invece nella nostra analisi il null equivale a 0, potremmo utilizzare a piacimento una delle tre funzioni disposnibili.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.