DAX: calculate e contesto di filtro

Se utilizzi Power BI, probabilmente ti sei già imbattuto nella funzione CALCULATE e nel concetto di contesto di filtro in DAX. Questi strumenti sono fondamentali per creare calcoli personalizzati e analisi avanzate, ma il loro corretto utilizzo può risultare complesso senza una conoscenza approfondita. In questa guida analizziamo il loro funzionamento con esempi pratici per aiutarti a sfruttarne al massimo le potenzialità.

Cos’è il contesto di filtro?

Il contesto di filtro in DAX determina quali righe di dati devono essere prese in considerazione durante l’elaborazione di un calcolo. Questo contesto è influenzato dai filtri applicati nella visualizzazione, nei report o definiti attraverso espressioni DAX, e guida il modo in cui le formule interpretano e aggregano i dati.

Tipi di contesto di filtro:

  • Contesto di filtro implicito: si crea automaticamente quando utilizzi oggetti visivi, filtri dei dati o report in Power BI. Ad esempio, se applichi un filtro a una specifica categoria di prodotto, Power BI calcola i risultati considerando solo le righe relative a quella categoria.
  • Contesto di filtro esplicito: questo viene definito direttamente nel codice utilizzando funzioni DAX come CALCULATE, CALCULATETABLE. Queste funzioni ti permettono di modificare il contesto del filtro all’interno di un’espressione per creare analisi avanzate.

Il ruolo del contesto di filtro in Power BI: un esempio pratico

In Power BI, il contesto di filtro è un elemento fondamentale per determinare i valori visualizzati nelle analisi. Immaginiamo una matrice che mostra le vendite per categoria di prodotto: la cella evidenziata in rosso rappresenta le vendite della categoria “Audio”, calcolate applicando un filtro che isola i dati relativi a questa specifica categoria nella colonna Product [ProductCategory].

In rosso: vendite della categoria "Audio"
Red Rectangle: SumSales

Il contesto di filtro, tuttavia, può coinvolgere più dimensioni contemporaneamente, quando si aggiunge l’anno alla matrice, il calcolo si arricchisce di ulteriori filtri. Ad esempio, nella cella rossa vengono applicati contemporaneamente il filtro per la categoria ‘Audio’ e quello per l’anno 2011, mentre nella cella verde, in cui non sono presenti filtri sull’anno, il contesto è determinato esclusivamente dalla categoria ‘Audio’.

Contesto di filtro: più dimensioni

Questo tipo di comportamento evidenzia come il contesto di filtro influenzi i risultati, adattandoli ai filtri attivi nella visualizzazione.

Come viene creato il contesto di filtro?

Power BI costruisce il contesto di filtro combinando tutti i filtri attivi nella cella corrente. Questi filtri possono derivare da:

  • Oggetti visivi (ad esempio, matrici o grafici).
  • Riquadri dei filtri.
  • Filtri incrociati tra visualizzazioni.
  • Filtri avanzati o manuali.
 

Tutti i filtri attivi vengono aggregati in un unico contesto che determina il valore mostrato in ogni cella. È importante notare che ogni cella ha un contesto di filtro unico: se due celle avessero lo stesso contesto, mostrerebbero gli stessi valori.

Modificare il contesto di filtro in Power BI con CALCULATE

Il contesto di filtro in Power BI regola i dati considerati per ogni calcolo, influenzando direttamente i valori visualizzati nei report. Oltre ai filtri predefiniti applicati a livello di visualizzazione o report, è possibile personalizzare questo contesto utilizzando la funzione CALCULATE, uno strumento avanzato per creare calcoli specifici basati su filtri definiti dall’utente.

Esempio di utilizzo:

Per calcolare il totale delle vendite limitandolo esclusivamente alla categoria “Audio”, si può utilizzare un’espressione come questa:

				
					Sum audio = 
CALCULATE(
    [SumSales],
    ProductCategory[ProductCategory]="audio")
				
			

Questa formula isola i dati relativi alla categoria selezionata, modificando il contesto di filtro per includere solo le righe pertinenti.

Calculate Tab

Funzionalità principali di CALCULATE

Con CALCULATE è possibile:

  • Aggiungere filtri specifici, per analizzare particolari categorie, periodi temporali o segmenti di dati.
  • Sostituire filtri esistenti, applicandone di nuovi che sovrascrivono quelli attivi.
  • Eliminare i filtri attuali, utilizzando funzioni come ALL o REMOVEFILTERS per ampliare il contesto.
  •  

Come funziona il contesto di filtro modificato

Quando si aggiunge un filtro con CALCULATE, questo si comporta in modi differenti a seconda della situazione:

  1. Se la colonna o tabella non è filtrata, il nuovo filtro viene aggiunto al contesto.
  2. Se invece esiste già un filtro applicato, quello nuovo lo sostituisce, a meno che non si utilizzi KEEPFILTERS per preservare i filtri precedenti.
 

Un esempio comune è il calcolo della somma delle vendite (Sales Amount) filtrando per un attributo. CALCULATE permette di applicare un filtro specifico, aggiungerlo al contesto esistente o sostituire eventuali filtri attivi.

Questa flessibilità rende CALCULATE uno strumento indispensabile per personalizzare le analisi e ottenere insight mirati in Power BI.

Comprendere come funziona il contesto di filtro in Power BI e come utilizzare la funzione CALCULATE è essenziale per ottenere analisi avanzate e personalizzate. Grazie alla sua capacità di modificare i filtri, CALCULATE permette di adattare i calcoli alle specifiche esigenze del report. Conoscere a fondo questi strumenti ti permette di sfruttare al massimo le potenzialità di Power BI, rendendo i tuoi dati ancora più precisi e utili.

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: