Freigeben über


CALCULATETABLE-Funktion (DAX)

Wertet einen Tabellenausdruck in einem durch die angegebenen Filter geänderten Kontext aus.

Syntax

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

Parameter

Ausdruck

Definition

Expression

Der auszuwertende Tabellenausdruck

filter1,filter2,…

Ein boolescher Ausdruck oder ein Tabellenausdruck, der einen Filter definiert.

Der als erster Parameter verwendete Ausdruck muss eine Funktion sein, die eine Tabelle zurückgibt.

Die folgenden Einschränkungen gelten für boolesche Ausdrücke, die als Argumente verwendet werden:

  • Der Ausdruck kann nicht auf ein Measure verweisen.

  • Der Ausdruck kann keine geschachtelte CALCULATE-Funktion verwenden.

  • Der Ausdruck kann keine Funktion verwenden, die eine Tabelle scannt oder eine Tabelle zurückgibt, einschließlich Aggregationsfunktionen.

Ein boolescher Ausdruck kann jedoch jede Funktion verwenden, die nach einem einzelnen Wert sucht oder einen Skalarwert berechnet.

Rückgabewert

Eine Tabelle mit Werten

Hinweise

Die CALCULATETABLE-Funktion ändert den Kontext, in dem die Daten gefiltert werden, und wertet den Ausdruck im neuen Kontext aus, den Sie angeben. Für jede in einem Filterargument verwendete Spalte werden alle vorhandenen Filter entfernt, und stattdessen wird der im Filterargument verwendete Filter angewendet.

Diese Funktion ist ein Synonym für die RELATEDTABLE-Funktion.

Beispiel

Im folgenden Beispiel wird die Summe der Internetverkäufe im Jahr 2002 mithilfe der CALCULATETABLE-Funktion abgerufen. Dieser Wert wird verwendet, um später das Verhältnis der Internetverkäufe zu sämtlichen Verkäufen im Jahr 2002 zu berechnen.

In der Tabelle unten sind die Ergebnisse der folgenden Formel aufgeführt.

Zeilenbezeichnungen

Internet SalesAmount_USD

CalculateTable 2002 Internet Sales

Verhältnis Internetverkäufe zu den Verkäufen 2002

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])

Siehe auch

Verweis

Andere Ressourcen