DAX Power BI: cos’è e perché è importante

Nel mondo della Business Intelligence, DAX (Data Analysis Expressions) rappresenta una pietra miliare. Questo linguaggio di espressioni di formule, sviluppato da Microsoft, è un componente chiave per l’analisi e la manipolazione dei dati all’interno di Power BI, Power Pivot e SSAS (SQL Server Analysis Services). Ma cos’è esattamente DAX, perché è così rilevante e come può essere utilizzato per potenziare le analisi dei dati? In questo articolo esploreremo la natura di DAX, le sue applicazioni fondamentali, e forniremo un’overview delle sue principali funzioni e capacità.

Cos'è DAX?

DAX, acronimo di Data Analysis Expressions, è un linguaggio di formula progettato per eseguire calcoli avanzati sui dati in modelli tabulari, come quelli creati in Analysis Services. DAX estende le funzionalità di Excel, consentendo agli utenti di eseguire calcoli complessi, creare misure, colonne e tabelle personalizzate e modellare relazioni tra i dati, per sviluppare analisi più approfondite. La sua sintassi combina elementi di Excel con l’algebra relazionale, offrendo un linguaggio ricco ed intuitivo per la manipolazione dei dati.

Perché DAX è importante in Power BI?

L’importanza di DAX risiede nella sua capacità di trasformare dati grezzi in informazioni significative. In un contesto aziendale, avere la possibilità di manipolare e analizzare i dati in modo efficace può fare la differenza tra prendere decisioni basate su intuizioni o informazioni. Con DAX, gli utenti di Power BI possono eseguire analisi complesse direttamente sullo strumento, senza dover ricorrere a manipolazioni sul Database con linguaggi di programmazione più complessi come SQL. Questo facilita l’accesso a informazioni importanti per la gestione e il controllo delle performance aziendali.

Overview delle Funzioni DAX in Power BI

Le funzioni DAX possono essere suddivise in diverse categorie, ognuna delle quali contiene funzioni utili a gestire specifici tipi di calcoli e manipolazioni dei dati all’interno di Power BI. Tra le categorie più importanti, abbiamo:

1. Funzioni di Aggregazione

Le funzioni di aggregazione sono utilizzate per calcolare valori aggregati come somme, medie, conteggi, minimi e massimi. Queste funzioni sono fondamentali per sintetizzare grandi quantità di dati in valori chiave che possono essere facilmente interpretati.

  • SUM: calcola la somma di una colonna.
  • AVERAGE: calcola la media di una colonna.
  • COUNT: conta il numero di valori in una colonna.
  • MIN/MAX: trova il valore minimo o massimo in una colonna.

2. Funzioni di Filtraggio

Le funzioni di filtraggio consentono di modificare il contesto di un calcolo applicando filtri specifici ai dati. Questo è particolarmente utile quando si desidera calcolare valori basati su sottoinsiemi di dati.

  • CALCULATE: modifica il contesto di filtro per un calcolo.
  • FILTER: ritorna una tabella filtrata secondo criteri specifici.
  • ALL: rimuove i filtri da una colonna o tabella specifica.

3. Funzioni di Time Intelligence

Le funzioni temporali sono progettate per lavorare con date e periodi di tempo. Queste funzioni sono essenziali per eseguire analisi come confronti anno su anno, vendite cumulative, o trend storici.

  • SAMEPERIODLASTYEAR: ritorna lo stesso periodo dell’anno precedente.
  • DATESYTD: ritorna le date dall’inizio dell’anno considerato fino a una data specifica.
  • PREVIOUSMONTH: ritorna tutte le date del mese precedente.

4. Funzioni di Logica

Le funzioni logiche permettono di eseguire test logici e prendere decisioni basate sui risultati. Queste funzioni sono cruciali per la costruzione di espressioni condizionali.

  • IF: esegue un controllo logico e restituisce un valore se la condizione è vera, e un altro valore se è falsa.
  • SWITCH: valuta un’espressione rispetto a una lista di possibili risultati e ritorna il corrispondente valore.
  • AND/OR: combina più condizioni logiche.

5. Funzioni Matematiche e Trigonometriche

Queste funzioni forniscono operazioni matematiche standard come somma, sottrazione, moltiplicazione e divisione, oltre a funzioni più complesse come radici quadrate e logaritmi.

  • ABS: restituisce il valore assoluto di un numero.
  • ROUND: arrotonda un numero al numero specificato di cifre.
  • EXP: restituisce n elevato alla potenza specificata.

6. Funzioni di Testo

Le funzioni di testo consentono di manipolare stringhe all’interno dei dati, rendendole particolarmente utili per la pulizia e la formattazione dei dati.

  • CONCATENATE: unisce due stringhe di testo in una singola stringa.
  • LEFT/RIGHT: estrae una parte specifica di una stringa di testo.
  • UPPER/LOWER: converte tutto il testo in maiuscolo o minuscolo.

DAX per l'Analisi Temporale

Una delle caratteristiche più interessanti di DAX è la sua versatilità per le analisi temporali. Molte delle funzioni sopracitate sono disponibili anche su SQL, il più noto dei linguaggi per la manipolazione dati sui DB relazionali, ma le funzioni di time intelligence sono una prerogativa di DAX. Sono funzioni che consentono di calcolare valori come vendite cumulative, confronti anno su anno, e altre metriche che richiedono una comprensione del tempo.

Se per esempio volessimo calcolare il valore di Sales Amount, cumulando il valore partendo dall’inizio dell’anno fino alla data attuale, esiste la funzione DATESYTD, con la quale il calcolo risulta facilissimo da effettuare:

YTD Sales = 
CALCULATE (
           [Sales Amount]
           DATESYTD(‘Date[Date])
)

Dopo aver scritto questa semplice misura e averla inserita in una matrice, siamo riusciti a calcolare il Sales Amount Year To Date, che sommerà ogni mese con i precedenti.

Calcolo Sales Amount Year To Date - DAX Power BI
Totale delle vendite per l'anno in corso rispetto allo stesso periodo dell'anno precedente

Oppure immaginiamo di dover calcolare il totale delle vendite per l’anno in corso rispetto allo stesso periodo dell’anno precedente. Con DAX, possiamo utilizzare una combinazione di funzioni come CALCULATE, FILTER e SAMEPERIODLASTYEAR per ottenere facilmente questo risultato, senza dover scrivere codice complesso.

Facciamo un rapido esempio:

SPLY Sales = 
CALCULATE (
           [Sales Amount]
           SAMEPERIODLASTYEAR (‘Date[Date])
)

Con l’utilizzo di SAMEPERIODLASTYEAR siamo riusciti facilmente ad ottenere il risultato.

Nella colonna dove abbiamo introdotto la misura, avremo il Sales Amount relativo allo stesso intervallo di date dell’anno precedente.

Queste funzioni di Time Intelligence sono essenziali per analizzare le tendenze nel tempo oltre a semplificare notevolmente il processo di estrazione di tali insight.

Considerazioni Finali

Come abbiamo potuto constatare in questi piccoli esempi, DAX è una risorsa inestimabile per chiunque lavori con Analysis Services, Power BI o in generale con l’analisi dei dati. La sua capacità di semplificare calcoli complessi e di offrire strumenti avanzati per l’analisi temporale lo rende indispensabile per la creazione di report dettagliati e per l’estrazione di insight strategici. Come ogni strumento potente, richiede pratica e studio per essere padroneggiato, ma con il giusto approccio, DAX può trasformare il modo in cui gestiamo e interpretiamo i dati aziendali.

Esistono numerose risorse e tutorial online, noi ci sentiamo di consigliare la documentazione di SQLBI, che fornisce una guida dettagliata per ogni funzione DAX.

Con una solida comprensione di DAX, potrete elevare le vostre capacità analitiche e offrire un valore aggiunto significativo alla vostra organizzazione.

Impara il Linguaggio DAX

Se vuoi apprendere il linguaggio DAX per supervisionare le misure create o correggerle, iscriviti al nostro corso.

Visualitics Team
Questo articolo è stato scritto e redatto da uno dei nostri consulenti. 

Condividi ora sui tuoi canali social o via email: