Condividi tramite


Funzione CALCULATETABLE (DAX)

Valuta un'espressione di tabella in un contesto modificato dai filtri specificati.

Sintassi

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

Parametri

Termine

Definizione

Expression

Espressione di tabella da valutare

filter1,filter2,…

Espressione booleana o espressione di tabella che definisce un filtro

L'espressione utilizzata come primo parametro deve essere una funzione che restituisce una tabella.

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

Tabella di valori.

Osservazioni

La funzione CALCULATETABLE 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 vengono rimossi gli eventuali filtri esistenti e viene invece applicato il filtro utilizzato nell'argomento di filtro.

Questa funzione corrisponde alla funzione RELATEDTABLE.

Esempio

Nell'esempio seguente viene utilizzata la funzione CALCULATETABLE per ottenere la somma delle vendite Internet per il 2002. Questo valore viene successivamente utilizzato per calcolare la percentuale delle vendite Internet rispetto a tutte le vendite per l'anno 2002.

Nella tabella seguente vengono illustrati i risultati della formula seguente.

Row Labels

Internet SalesAmount_USD

CalculateTable 2002 Internet Sales

Internet Sales to 2002 ratio

2001

$2,627,031.40

$5,681,440.58

0.46

2002

$5,681,440.58

$5,681,440.58

1.00

2003

$8,705,066.67

$5,681,440.58

1.53

2004

$9,041,288.80

$5,681,440.58

1.59

Grand Total

$26,054,827.45

$5,681,440.58

4.59

=SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2002)
     , [SalesAmount_USD])

Vedere anche

Riferimento

Altre risorse