Funzione CALCULATE

Viene valutata un'espressione in un contesto modificato dai filtri specificati.

Sintassi

CALCULATE(<expression>,<filter1>,<filter2>…)

Parametri

Termine

Definizione

expression

Espressione da valutare.

filter1,filter2,…

(facoltativo) Elenco delimitato da virgole di espressioni booleane o espressione di tabella che definisce un filtro.

L'espressione utilizzata come primo parametro corrisponde essenzialmente a una misura.

Le restrizioni seguenti si applicano alle espressioni booleane utilizzate come argomenti:

  • L'espressione non può fare riferimento a una misura.

  • L'espressione non può utilizzare una funzione CALCULATE annidata.

  • L'espressione non può utilizzare qualsiasi funzione che analizza una tabella o restituisce una tabella, incluse le funzioni di aggregazione.

Un'espressione booleana può tuttavia utilizzare qualsiasi funzione che cerca un singolo valore o che calcola un valore scalare.

Valore restituito

Valore risultante dall'espressione.

Osservazioni

Se i dati sono stati filtrati, la funzione CALCULATE modifica il contesto in cui vengono filtrati i dati e valuta l'espressione nel nuovo contesto specificato. Per ogni colonna utilizzata in un argomento di filtro, eventuali filtri esistenti in tale colonna vengono rimossi e viene invece applicato il filtro utilizzato nell'argomento di filtro.

Esempio

Per calcolare il rapporto tra le vendite dei rivenditori correnti e le vendite dei rivenditori totali, si aggiunge alla tabella pivot una misura che calcola la somma delle vendite per la cella corrente, numeratore, e si divide tale somma per le vendite totali per tutti i rivenditori, denominatore. Per assicurarsi che il denominatore rimanga lo stesso indipendentemente dai filtri o dai raggruppamenti applicati dall'utente alla tabella pivot, la parte della formula che rappresenta il denominatore deve utilizzare la funzione ALL per cancellare tutti i filtri e per calcolare il totale complessivo corretto.

Nella tabella seguente sono illustrati i risultati quando viene creato il nuovo campo calcolato denominato All Reseller Sales Ratio tramite la formula riportata nella sezione relativa al codice.

Per visualizzarne il funzionamento, aggiungere il campo CalendarYear all'area Etichette di riga della tabella pivot e aggiungere il campo ProductCategoryName all'area Etichette di colonna. Aggiungere quindi la nuova misura all'area Valori della tabella pivot. Per visualizzare i numeri come percentuali, applicare la formattazione di numero percentuale all'area della tabella pivot contenente la nuova misura, All Reseller Sales Ratio.

All Reseller Sales

Etichette di colonna

 

 

 

 

Etichette di riga

Accessories

Bikes

Clothing

Components

Totale complessivo

2005

0.02%

9.10%

0.04%

0.75%

9.91%

2006

0.11%

24.71%

0.60%

4.48%

29.90%

2007

0.36%

31.71%

1.07%

6.79%

39.93%

2008

0.20%

16.95%

0.48%

2.63%

20.26%

Totale complessivo

0.70%

82.47%

2.18%

14.65%

100.00%

=( SUM('ResellerSales_USD'[SalesAmount_USD]))
 /CALCULATE( SUM('ResellerSales_USD'[SalesAmount_USD])
           ,ALL('ResellerSales_USD'))

L'espressione CALCULATE nel denominatore consente all'espressione della somma di includere tutte le righe nel calcolo. In questo modo viene eseguito l'override dei filtri impliciti per le colonne CalendarYear e ProductCategoryName esistenti per la parte del numeratore dell'espressione.

Funzioni correlate

Mentre la funzione CALCULATE richiede come primo argomento un'espressione che restituisce un singolo valore, la funzione CALCULATETABLE accetta una tabella di valori.

Vedere anche

Riferimento

Funzione CALCULATETABLE

Altre risorse

Funzioni filtro (DAX)