Vai al contenuto principale

Tutorial su CALCULATE in Power BI

Impara a usare la funzione CALCULATE() di Power BI con esempi pratici di utilizzo.
Aggiornato 29 set 2026  · 6 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

La funzione CALCULATE() è probabilmente una delle funzioni DAX più importanti (e popolari) di Power BI. È semplice da usare ed estremamente versatile: ti permette di ampliare le analisi e creare report Power BI ancora più utili.

Questo tutorial spiega cos’è la funzione CALCULATE() e come usarla, e presuppone che tu conosca già le basi di Power BI e DAX.

Che cos’è la funzione Calculate() di Power BI? 

Secondo la documentazione di Microsoft Power BI, la funzione CALCULATE() fa parte della categoria delle funzioni di filtro ed è definita come "valutare un’espressione in un contesto di filtro modificato". Un’espressione è sostanzialmente una misura e include funzioni come SUM(), AVERAGE() e COUNT(). Questa espressione viene valutata nel contesto di uno o più filtri. 

Come forse sai, i filtri possono essere applicati a un report di Power BI anche semplicemente aggiungendo slicer, senza creare alcuna misura con la funzione CALCULATE(). Tuttavia, ci sono molti casi d’uso in cui la funzione CALCULATE() è più adatta. È particolarmente utile come componente di un’altra funzione. Vedremo come funziona nell’esempio qui sotto per calcolare la percentuale sul totale.

Sintassi di base di DAX Calculate()

La sintassi DAX di base della funzione CALCULATE() è:

CALCULATE( <expression> [, <filter1> [, <filter2> [, ...]]])

La funzione CALCULATE() si compone di 2 elementi chiave:

  • L’espressione: è la parte di aggregazione, costruita proprio come una misura con funzioni come SUM(), AVERAGE() e COUNT().

  • I filtri: questa parte ti permette di specificare uno o più filtri che controllano il contesto dell’aggregazione.

Esistono 3 tipi di filtri utilizzabili nella funzione CALCULATE():

  • Espressioni di filtro booleane: sono filtri semplici in cui il risultato deve essere TRUE o FALSE.

  • Espressioni di filtro di tabella: sono filtri più complessi in cui il risultato è una tabella.

  • Funzioni di modifica dei filtri: filtri come ALL e KEEPFILTERS rientrano in questa categoria e offrono maggiore controllo sul contesto di filtro da applicare.

Puoi aggiungere più filtri al componente filtro della funzione CALCULATE() separandoli con una virgola. Tutti i filtri vengono valutati insieme e il loro ordine non ha importanza. 

Puoi controllare come vengono valutati i filtri usando gli operatori logici. Se vuoi che tutte le condizioni siano valutate come TRUE puoi usare AND (&&). Questo è anche il comportamento predefinito dei filtri, come indicato sopra. In alternativa, con l’operatore OR (||) è sufficiente che almeno una condizione sia valutata come TRUE per restituire un risultato.

Come usare Calculate() in Power BI

Per usare CALCULATE(), aggiungi semplicemente una misura alla tua tabella. Puoi farlo andando alla scheda Modeling nel ribbon e selezionando New measure. 

Selezione di New measure nella scheda Modeling in Power BI

Selezione di New measure nella scheda Modeling di Power BI. Immagine dell’autore

Di seguito un semplice esempio della funzione CALCULATE() che usa SUM() per calcolare il fatturato totale filtrando per Country = United Kingdom. Riprenderemo questo esempio più avanti nel tutorial, con maggiori dettagli.

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]), 
               'Online Retail'[Country] = "United Kingdom")

In una tabella si vede che la misura UK Revenue applica semplicemente un filtro su Country, oltre al contesto di filtro già presente in tabella per Month. Usare la funzione CALCULATE() in questo modo ti dà un controllo più preciso sul tipo di informazione visualizzata nel grafico. 

Tabella del fatturato in Power BITabella del fatturato in Power BI. Immagine dell’autore

Quando crei misure è importante seguire buone pratiche di modellazione dei dati, in particolare per quanto riguarda velocità e ottimizzazione delle query. Per questo motivo, alcuni usi della funzione CALCULATE() sono più rapidi o più appropriati di altri. 

Ad esempio, la documentazione Microsoft raccomanda di evitare di usare la funzione FILTER() come argomento di altre funzioni (come in CALCULATE()). È preferibile usare espressioni booleane quando possibile, poiché sono esplicitamente ottimizzate per questo scopo.

Nell’esempio sopra abbiamo usato un’espressione booleana per definire il filtro Country = United Kingdom. Questo è un approccio più veloce e ottimizzato. D’altra parte, ecco un esempio con la funzione FILTER() in cui otteniamo lo stesso risultato, ma con un calcolo più lento:

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
              FILTER('Online Retail',
                        'Online Retail'[Country] = "United Kingdom")

Esempi della funzione Calculate() in Power BI

Usando un dataset e-commerce reale, esploreremo alcuni modi chiave in cui la funzione CALCULATE() può essere impiegata per risolvere problemi di business. Per seguire il tutorial, puoi accedere al dataset e-commerce ospitato su DataLab.

Questo dataset contiene informazioni su ogni acquisto effettuato da un cliente: il paese di acquisto, la descrizione del prodotto, la data e l’ora dell’acquisto, oltre alla quantità e al prezzo di ciascun prodotto acquistato.

Risponderemo alle seguenti domande con l’aiuto della funzione CALCULATE():

  • Come si confronta il fatturato mensile totale nel Regno Unito con quello degli altri paesi?
  • Quale percentuale del fatturato totale proviene dal Regno Unito?
  • Qual è il fatturato cumulato giornaliero?

Come si confronta il fatturato mensile totale nel Regno Unito con quello degli altri paesi?

Per rispondere, dobbiamo creare due misure usando la funzione CALCULATE(). Per prima cosa, usiamo un semplice filtro booleano per creare una misura che restituisca il fatturato totale (con una funzione SUM()) nel Regno Unito:

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
              'Online Retail'[Country] = "United Kingdom")

Poi creiamo una misura simile, ma questa volta usiamo la funzione FILTER(). Questa espressione di filtro scorre ogni riga della colonna Country e restituisce una tabella contenente le righe che soddisfano la condizione del filtro. Qui la funzione FILTER() è necessaria perché non possiamo restituire un semplice TRUE o FALSE dal filtro: otteniamo invece una tabella con più valori.

Non-UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                    FILTER('Online Retail',
                        'Online Retail'[Country] <>"United Kingdom")

Da ciò si vede che il Regno Unito rappresenta la maggior parte del fatturato di questo store e-commerce rispetto a tutti gli altri paesi.

Grafico a linee di Power BI che mostra il fatturato per anno e meseGrafico a linee in Power BI che mostra il fatturato mensile. Immagine dell’autore. 

Quale percentuale del fatturato totale proviene dal Regno Unito?

Questa è una domanda molto comune per sviluppatori e utenti Power BI, ed è un caso perfetto per applicare la funzione CALCULATE().

Per calcolare la percentuale sul totale, dobbiamo prima poter restituire il totale senza che venga influenzato da altri contesti di filtro nel report. Per farlo, usiamo un modificatore di filtro noto come funzione ALL(). Con questa funzione specifichiamo per quale colonna il calcolo deve ignorare completamente qualsiasi filtro. 

In questo esempio, cerchiamo la percentuale di fatturato totale nel Regno Unito. Ciò significa che il calcolo deve ignorare eventuali filtri nella colonna Country.

Total Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                  ALL('Online Retail'[Country]))

Questo è rilevante perché CALCULATE() può essere eseguita all’interno di un contesto di filtro che sta già filtrando Product[Color]. In quello scenario, la presenza di ALL fa sì che il filtro esterno su Product[Color] venga ignorato e sostituito dal nuovo filtro introdotto da CALCULATE(). Ciò è evidente se, invece di segmentare per Brand, segmentiamo per Color nella matrice.

Ora che conosciamo il fatturato totale, possiamo creare una misura per mostrare la percentuale sul totale. Tuttavia, poiché siamo interessati specificamente al Regno Unito, useremo di nuovo la funzione CALCULATE(), ma questa volta con un semplice filtro booleano.

UK % of Revenue = CALCULATE(SUM('Online Retail'[Revenue])/[Total Revenue],
                    'Online Retail'[Country] = "United Kingdom")

Ora possiamo vedere che il Regno Unito rappresenta l’84% del fatturato totale di questo store e-commerce.

Calcolo di una percentuale in Power BICalcolo di una percentuale in Power BI. Immagine dell’autore

Qual è il fatturato cumulato giornaliero?

Il fatturato cumulato può dare indicazioni sulle tendenze del fatturato. Tracciandolo su un grafico, possiamo anche vedere visivamente se il fatturato è aumentato più o meno rapidamente nel tempo.

Per rispondere, dobbiamo creare una misura usando la funzione CALCULATE() insieme a queste funzioni di filtro: ALLSELECTED(), FILTER() e una valutazione con la funzione MAX().

Cumulative Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                FILTER( ALLSELECTED('Online Retail'[InvoiceDate]),
                'Online Retail'[InvoiceDate] <= MAX('Online Retail'[InvoiceDate])))

Vediamo perché questi filtri sono importanti qui:

  • La funzione FILTER() permette che ciascuno dei 2 filtri specificati sia valutato riga per riga e restituirà una tabella quando c’è corrispondenza.

  • La funzione ALLSELECTED() azzera il filtro su InvoiceDate nella query corrente (nel risultato sotto, la query corrente è il grafico a linee) consentendo comunque filtri esterni (ad esempio dagli slicer).

  • La funzione MAX() è usata come parte della valutazione: vogliamo sommare il fatturato per tutte le date minori o uguali alla data corrente nella query.

Calcolo del fatturato per data in Power BICalcolo del fatturato per data in Power BI. Immagine dell’autore. 

Considerazioni finali

In questo tutorial abbiamo visto cos’è la funzione CALCULATE() in Power BI e come usarla. L’abbiamo anche applicata a un dataset e-commerce reale per rispondere ad alcune domande chiave di business.

CALCULATE() è una delle funzioni più utili in Power BI e probabilmente ti capiterà di usarla spesso quando costruisci report e cerchi insight più profondi nei tuoi dati. 

Speriamo che questo tutorial ti aiuti non solo a comprendere la sintassi di base di CALCULATE(), ma anche il suo ruolo nella risoluzione di problemi di business reali come data analyst Power BI. 

Argomenti
Power BI
Data Science
Data Visualization

Corsi per Power BI

Corso

Introduzione a Power BI

4 ore
825.6K
Impara le basi di Power BI e usa il software di visualizzazione dati per creare report di grande impatto.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro