Informazioni sulla funzione CALCULATE

Completato

Alla fine di questa unità si comprenderà il motivo per cui la funzione CALCULATE è una delle funzioni più versatili di Power BI.

A livello elevato, è possibile controllare il contesto di riga e filtro. Con la funzione CALCULATE è possibile aggiungere, rimuovere e aggiornare i filtri. Tante azioni per una sola funzione.

Aggiungere un filtro con CALCULATE

Prima di tutto, viene illustrato come aggiungere un filtro con la funzione CALCULATE.

Tabella dati a cui si fa riferimento quando si aggiunge un filtro con la funzione CALCULATE.

La tabella dati precedente contiene le vendite totali:

Total Sales = SUM( [Sales Amount] )

È anche possibile generare una versione filtrata delle vendite totali, in cui si valutano le vendite totali e si applica un contesto di filtro per gli aerei:

Airplane Sales = CALCULATE( [Total Sales], 'Product Details'[ItemGroup] = "Airplane" )

Suggerimento

IN TABLEAU: il frammento di codice seguente illustra come eseguire lo stesso calcolo in Tableau: Airplane Sales = IF [ItemGroup] = "Airplane" THEN SUM([Sales Amount] ELSE 0 END)

Ignorare un filtro con CALCULATE

Successivamente, viene illustrato come ignorare un filtro con la funzione CALCULATE.

Tabella dati a cui si fa riferimento quando si ignora un filtro con la funzione CALCULATE.

La tabella dati precedente contiene le vendite totali per stato in una colonna e le vendite totali per tutte le aree geografiche nella colonna successiva. Questa colonna sarà utile quando si tenterà di eseguire l'analisi sulla percentuale del totale per ogni stato o per ogni riga.

Il modo più comune per eseguire l'analisi percentuale del totale in DAX è tramite la funzione ALL.

Total Sales All Geo = CALCULATE( [Total Sales], ALL( Geography ) )

Nel codice precedente si esamina la tabella dell'area geografica e si includono tutti i valori in essa presenti. Non limitare il contesto di filtro.

Suggerimento

IN TABLEAU: il frammento di codice seguente mostra come eseguire lo stesso calcolo in Tableau, usando l'espressione LOD EXCLUDE: Total Sales All Geo = { EXCLUDE [State], [City] : SUM([Total Sales]) }

Un altro esempio di filtro per ignorare sarà simile al seguente:

Tabella dati a cui si fa riferimento quando si ignorano i filtri con la funzione CALCULATE.

Nella tabella precedente sono presenti le vendite totali per stato, le vendite totali per tutte le aree geografiche (con tutti i filtri geografici esclusi) e infine le vendite totali per tutti gli stati, ma con il filtro città ancora applicato.

In base all'immagine, la città di Alexandria si trova in più stati. Quindi, si vogliono trovare le vendite totali degli stati che in cui è presente la città Alexandria:

Total Sales All States = CALCULATE( [Total Sales], ALL( Geography[State] ) )

Suggerimento

IN TABLEAU: ecco come viene eseguito lo stesso calcolo in Tableau, usando l'espressione LOD EXCLUDE. Si noterà che questa espressione LOD è diversa dall'altra per granularità. Con questa espressione si escluderà dalla visualizzazione lo stato, anziché lo stato e la città: Total Sales All States = { EXCLUDE [State] : SUM([Total Sales]) }

Aggiornare un filtro con CALCULATE

Infine, la procedura guidata finale illustra l'utilità della funzione CALCULATE per aggiornare un filtro.

Tabella dati a cui si fa riferimento quando si aggiorna un filtro con la funzione CALCULATE.

Nella tabella dati precedente sono presenti le vendite totali complessive (ignorando l'anno), le vendite totali che prendono il contesto di filtro applicato dal filtro dei dati nell'oggetto visivo e infine l'ultima colonna contiene il totale delle vendite solo per l'anno 2018.

Per ottenere la colonna per le vendite del 2018, è necessario scrivere un codice simile al seguente:

2018 Sales = CALCULATE( [Total Sales], DATE[Year] = 2018 )

Suggerimento

IN TABLEAU: questa operazione è interessante perché non sembra esserci un confronto diretto con Tableau. Per eseguire questa operazione in Tableau, è necessario duplicare i campi, aggiungere origini dati supplementari o eseguire calcoli su ogni colonna.

Tableau, attualmente non disponibile. Power BI, controllare il contesto di filtro aggiornando il filtro con la funzione CALCULATE.

Per riepilogare, gli argomenti affrontati in questa unità su CALCULATE sono:

  • Qualsiasi espressione può essere inserita come primo argomento.

  • L'espressione esamina tutto il contesto di filtro nella pagina, ovvero i filtri dei dati per la visualizzazione.

  • Se sono presenti filtri, verrà aggiunta.

  • Se c'è un filtro che è già presente nell'elenco di filtri che corrisponde al contesto della pagina, questo sostituirà tale filtro.

  • Dopo tutte le operazioni elencate in precedenza, verrà infine valutata l'espressione.

Nota

Ovviamente, queste operazioni non devono essere eseguite senza controllare l'ordine in cui è necessario eseguirle. È consigliabile chiedersi se i filtri sono stati annullati o meno.