Come calcolare il valore del mese precedente utilizzando le formule DAX in Power BI?
Scopri come calcolare il valore del mese precedente in Power BI in questo tutorial utilizzando 2 diversi approcci. Manager, contabili, consulenti finanziari e consulenti di Business Intelligence utilizzano Power BI e fanno ampio uso di confronti mensili, come i valori del mese precedente e dell’anno scorso. Per creare queste misure di confronto, usa le funzioni di intelligenza temporale DAX disponibili nell’editor DAX. Utilizziamo la funzione DAX PREVIOUS MONTH per affrontare questo.
1. Usa la funzione PREVIOUSMONTH in DAX per ottenere il mese precedente
L’obiettivo della funzione DAX PREVIOUSMONTH è recuperare i dati dal mese immediatamente precedente in base a una colonna di data specificata. Ad esempio, se hai dati di vendita e vuoi confrontare le vendite di questo mese con quelle del mese scorso, potresti usare PREVIOUSMONTH(‘Table'[Date]) all’interno di una misura.
Quando applicata, la funzione filtra i dati per includere solo i valori del mese immediatamente precedente l’ultima data nella colonna. È importante notare che la funzione opera nel contesto del modello di dati di Power BI. In altre parole, funziona meglio quando si dispone di una corretta tabella delle date collegata ai dati transazionali. Raccomando vivamente di verificare la configurazione della tabella marcata come data.
Due opzioni disponibili utilizzando le formule DAX per questo calcolo
Consideriamo la tabella delle vendite con vendite memorizzate per mese, per anno e il numero del cliente. Inoltre, per qualsiasi funzione di intelligenza temporale in DAX, cioè in Power BI o in un modello tabulare, una colonna di data deve essere il riferimento. Consideriamo di avere queste due colonne disponibili nel tuo modello di dati:
- La colonna Importo Vendite memorizza il numero di vendite registrate in quel giorno.
- La colonna temporale DateKey è una data utilizzata come chiave per le join in Power BI.
Verifica anche la possibilità di memorizzare il totale delle vendite di un mese in un unico giorno. Come il 31 gennaio 2020 per il mese di gennaio, ad esempio. Infatti, l’obiettivo è introdurre una chiave di data unica per le funzioni temporali DAX, per abilitare il calcolo delle vendite del mese precedente. Per creare la misura, utilizza la funzione DAX del mese precedente, la sua documentazione ufficiale e la sintassi sono disponibili sul sito web di Microsoft.
Un prerequisito: impostare una Tabella Data per utilizzare le funzioni di intelligenza temporale in Power BI
Per utilizzare efficacemente le funzioni di intelligenza temporale in Power BI, un prerequisito è l’impostazione di una Tabella Data. Questa tabella, che presenta un intervallo continuo di date, è fondamentale per condurre analisi temporali accurate, in quanto consente a Power BI di applicare calcoli dinamici su vari periodi, garantendo precisione e coerenza nella valutazione dei dati temporali.
A volte, quando si costruisce un modello, si può incontrare il seguente errore: “Impossibile risolvere il nome ‘REVIOUSMONTH’. Non è un nome di tabella, variabile o funzione valido.” Per risolverlo, verifica attentamente la barra delle formule e gli errori evidenziati, di solito sono errori di sintassi o parentesi mancanti, ovvero errori di sviluppo classici. E i messaggi visualizzati da Power BI sono espliciti.
2. Calcola il mese precedente direttamente dalla fonte dati di Power BI
In questo primo esempio, usa Power BI Desktop e un file Power BI (estensione pbix) per mappare direttamente la colonna dalla fonte dati. E nel software di sviluppo Visual Studio per un Modello Tabulare utilizzando SSAS.
Sales Last Month = CALCULATE ( SUM ( sales[sales] ), PREVIOUSMONTH ( 'time'[date_key]), REMOVEFILTERS ( sales ) )
E il risultato nel report di Power BI si presenta così:
3. Usa due livelli di formule per ottenere il mese precedente
Questo secondo approccio è molto simile al primo, ma semplicemente utilizza una misura già creata. Si svolge in due fasi e utilizza due calcoli DAX invece di uno. Ad esempio, crea le misure delle vendite del mese corrente con questa formula DAX.
Sales := SUM('sales'[SalesAmount])
Poi crea la misura delle vendite del mese scorso utilizzando questa seconda formula DAX qui sotto:
Sales Last Month = CALCULATE ( sales[sales], PREVIOUSMONTH ( 'time'[date_key]), REMOVEFILTERS ( sales ) )
Riguardo al calcolo del mese precedente in Power BI
In questo tutorial su Power BI, i due esempi mostrano quanto sia facile calcolare un valore del mese precedente in Power BI utilizzando la funzione temporale DAX PREVIOUSMONTH. In questo precedente tutorial sulle funzioni DAX, scopri come creare un calcolo YTD utilizzando DAX e Power BI.