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