FUNZIONE CALCULATE
Data Analysis Expressions (DAX) èpurdy jersey college football jerseys kansas state football uniforms drew allar jersey oregon football jerseys brock bowers jersey custom made football jerseys custom football jerseys purdy jersey drew allar jersey penn state football jersey deuce vaughn jersey kansas state football uniforms penn state football jersey deuce vaughn jersey una libreria di funzioni e operatori che possono essere combinati per creare formule ed espressioni in Power BI, Analysis Services e Power Pivot nei modelli di dati di Excel.
Power BI supporta più di 200 tipi di funzioni DAX come: Funzioni di data e ora, funzioni filtro, funzioni testo, funzioni logiche, funzioni di time intelligence, funzioni matematiche e così via.
Tra le funzioni principali da conoscere non può mancare la funzione CALCULATE
La funzione DAX CALCULATE valuta un’espressione in un contesto di filtro modificato. Fa parte della categoria delle funzioni Filtro di DAX.
SINTASSI
CALCULATE( <espressione>, <filtro1>, <filtro2>… )
Descrizione:
PARAMETRO | DESCRIZIONE | |
1 | espressione | L’espressione da valutare |
2 | filtro1, filtro2, —- | (Opzionale) Espressioni booleane o espressioni tabella che definiscono filtri o funzioni filtro |
NOTE:
- CALCULATE è la funzione DAX utilizzata più spesso in Power BI, essa lavora come una funzione base per applicare altre funzioni DAX in diversi scenari.
- Valuta l’espressione data dall’utente con tutti i filtri applicati.
- Il primo argomento (espressione) restituisce un valore e non una tabella, quindi è possibile utilizzare aggregatori come SUM, MIN, MAX, AVERAGE, COUNTROWS e così via.
Procediamo con un esempio, è possibile scaricare il Dataset di prova dal seguente link
https://www.microsoft.com/it-IT/download/details.aspx?id=18279
Supponiamo di voler calcolare la somma delle vendite di una particolare categoria di prodotto. È possibile utilizzare la funzione SUMX, che supporta due argomenti, nel primo è possibile passare la colonna su cui effettuare la somma, nel secondo la condizione di filtro.
SUMX with filter =
SUMX(
FILTER(Orders, Orders[Product Category]="Furniture"),
Orders[Sales])
Se invece volessimo fare lo stesso utilizzando la funzione SUM?
La funzione SUM supporta un singolo argomento, la colonna su cui effettuare la somma, quindi non è possibile definire un filtro. Per fare ciò è possibile utilizzare CALCULATE per aggiungere i filtri che ci interessano.
SUM Measure=
CALCULATE
SUM(Orders[Sales]),--Espressione
Filter(Orders, Orders[Product Category]="Furniture")-- Filtro
)
Output: 660,704,31
Altri esempi con CALCULATE:
COUNTROWS =
CALCULATE(
COUNTROWS(Orders),
FILTER(Orders, Orders[Region]="East")
)
Output: Restituirà il numero di righe la cui regione è “East”
Distinct Count =
CALCULATE(
DISTINCTCOUNT( Orders[Product Category]),
Filter(Orders, Orders[Region]="EAST" )
)
Output: Restituirà il numero di Categorie Prodotto distinte la cui regione è “East”
Calculate with Multiple filter =
CALCULATE(
SUM(Orders[Sales]),----Espressione
Filter(Orders, Orders[Product Category]="Furniture"), -- Filtro1
Filter(Orders, Orders[Region]="West") -- Filtro 2
)
Output: Somma delle vendite dei prodotti appartenenti alla categoria “Furniture” che si trovano nella regione “West”