Funkcja CALCULATETABLE
Oblicza wyrażenie tabeli w kontekście zmodyfikowanym przez podane filtry.
Składnia
CALCULATETABLE(<expression>,<filter1>,<filter2>,…)
Parametry
Termin |
Definicja |
---|---|
Expression |
Wyrażenie tabeli, które ma zostać obliczone. |
filter1,filter2,… |
Wyrażenie logiczne lub wyrażenie tabeli definiujące filtr. |
Wyrażenie użyte jako pierwszy parametr musi być funkcją zwracającą tabelę.
Wyrażenia logiczne używane jako argumenty podlegają następującym ograniczeniom:
Wyrażenie nie może odwoływać się do miary.
Wyrażenie nie może zawierać zagnieżdżonej funkcji CALCULATE.
Wyrażenie nie może zawierać żadnej funkcji, która skanuje lub zwraca tabelę, w tym funkcji agregacji.
Jednak wyrażenie logiczne może zawierać funkcję, która wyszukuje pojedynczą wartość lub oblicza wartość skalarną.
Wartość zwracana
Tabela wartości.
Uwagi
Funkcja CALCULATETABLE zmienia kontekst, w którym dane są filtrowane, i oblicza wyrażenie w nowym kontekście określonym przez użytkownika. Dla każdej kolumny użytej w argumencie filtr wszelkie istniejące filtry dotyczące kolumny są usuwane i w zamian jest stosowany określony filtr.
Ta funkcja stanowi synonim funkcji RELATEDTABLE.
Przykład
W poniższym przykładzie używana jest funkcja CALCULATETABLE w celu pobrania sumy sprzedaży internetowej za rok 2006. Ta wartość jest potem używana w celu obliczenia stosunku sprzedaży internetowej do całej sprzedaży w 2006 roku.
W poniższej tabeli pokazano wyniki poniższej formuły.
Etykiety wierszy |
Internet SalesAmount_USD |
Wynik działania funkcji CalculateTable dotyczący sprzedaży internetowej w 2006 roku |
Stosunek sprzedaży internetowej do sprzedaży w 2006 roku |
---|---|---|---|
2005 |
$2,627,031.40 |
$5,681,440.58 |
0.46 |
2006 |
$5,681,440.58 |
$5,681,440.58 |
1.00 |
2007 |
$8,705,066.67 |
$5,681,440.58 |
1.53 |
2008 |
$9,041,288.80 |
$5,681,440.58 |
1.59 |
Suma końcowa |
$26,054,827.45 |
$5,681,440.58 |
4.59 |
=SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2006)
, [SalesAmount_USD])