Oggi affrontiamo una funzione molto utilizzata nell’ambito della business intelligence ovvero la funzione IF.
Questa funzione fa parte delle funzioni LOGICHE del codice DAX e come la funzione SE di Excel prevede la seguente sintassi:
=IF (condizione, vera, falsa)
Proviamo ad applicare la seguente funzione in POWER BI.
codice | importo |
1 | 150 |
2 | 250 |
3 | 300 |
Immaginiamo di avere la seguente tabella con numero di codice e valori. Il nostro obiettivo è quello di fornire una classificazione dei valori dove:
- Per valori minori o uguali a 150 abbiamo un basso valore
- Per valori minori o uguali a 250 abbiamo un medio valore
- Per valori minori o uguali a 300 abbiamo un valore alto
Vediamo quindi come scrivere il codice della nostra misura in DAX. Prima di tutto importiamo il modello Excel in POWER BI:
Andiamo quindi a cliccare importa dati in Excel:
Andiamo quindi a caricare il modello dati in quanto la tabella è già strutturata bene e quindi non c’è bisogno di fare trasforma dati. Una volta caricato il modello Excel, apparirà alla destra di Power Bi la sezione dati il modello Excel che abbiamo caricato:
Caricato il modello dati andremo ad inserire una tabella pivot:
Inseriamo quindi la tabella Pivot e un filtro in Power Bi:
Una volta inserito il filtro e la tabella pivot dove nelle colonne abbiamo inserito il numero di codice e l’importo nei valori, andiamo quindi a scrivere la misura in DAX:
1 Performance = IF(SUM(Sheet1[importo])<=150,”😢”
2, IF(SUM(Sheet1[importo])<=250,”😒”
3, IF(SUM(Sheet1[importo])>=300,”😂”)))
Analizziamo quindi il codice DAX. I numeri rappresentano le righe di codice scritto. Per quanto riguarda la misura, la prima parte di codice per gli importi che sono minori o uguali a 150 mi restituirà la faccina triste che dovrà essere inserita tra virgolette in quanto si tratta di testo e non di campo numerico e la stessa cosa dovrà essere fatta per le altre.
Alla fine otterrò il risultato seguente dove avrò un filtro e per ogni campo selezionato avrò una diversa faccina in base alla performance selezionata: