Funkcja FILTER
Zwraca tabelę przedstawiającą podzestaw innej tabeli lub wyrażenia.
Składnia
FILTER(<table>,<filter>)
Parametry
Termin |
Definicja |
---|---|
table |
Tabela do przefiltrowania. Może to być również wyrażenie dające w wyniku tabelę. |
filtr |
Wyrażenie logiczne, które ma zostać obliczone dla poszczególnych wierszy tabeli. Na przykład [Amount] > 0 lub [Region] = "France". |
Wartość zwracana
Tabela zawierająca tylko wyfiltrowane wiersze.
Uwagi
Funkcji FILTER można użyć w celu zmniejszenia liczby wierszy w aktualnie używanej tabeli, co umożliwi użycie w obliczeniach tylko określonych danych. Funkcja FILTER nie jest używana niezależnie, lecz jako funkcja osadzona w innych funkcjach, wymagających tabeli jako argumentu.
Przykład
W poniższym przykładzie zostanie utworzony raport dotyczący sprzedaży internetowej poza USA, w którym będzie używana miara odfiltrowująca sprzedaż w USA. Następnie dane będą fragmentowane według roku kalendarzowego i kategorii produktów. Aby utworzyć tę miarę, należy filtrować tabelę InternetSales_USD, używając tabeli SalesTerritory, a następnie użyć przefiltrowanej tabeli w funkcji SUMX.
W tym przykładzie wyrażenie FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States") zwraca tabelę stanowiącą podzbiór tabeli InternetSales_USD nieobejmujący wierszy należących do kategorii sprzedaży United States. Funkcja RELATED łączy klucz Territory w tabeli InternetSales_USD z kolumną SalesTerritoryCountry w tabeli SalesTerritory.
W poniższej tabeli pokazano wyniki użycia miary Sprzedaż internetowa poza USA, której formułę przedstawiono w sekcji kodu poniżej. W tej tabeli znajduje się porównanie całej sprzedaży internetowej ze sprzedażą internetową poza USA, co pozwala stwierdzić, że wyrażenie filtru działa, ponieważ sprzedaż w USA została wykluczona z obliczeń.
Aby odtworzyć tę tabelę, dodaj pole SalesTerritoryCountry do obszaru Etykiety wierszy w tabeli przestawnej.
Tabela 1.Porównanie łącznej sprzedaży w USAzesprzedażą we wszystkich innych regionach
Etykiety wierszy |
Sprzedaż internetowa |
Sprzedaż internetowa poza USA |
---|---|---|
Australia |
$4,999,021.84 |
$4,999,021.84 |
Canada |
$1,343,109.10 |
$1,343,109.10 |
France |
$2,490,944.57 |
$2,490,944.57 |
Germany |
$2,775,195.60 |
$2,775,195.60 |
United Kingdom |
$5,057,076.55 |
$5,057,076.55 |
United States |
$9,389,479.79 |
|
Suma końcowa |
$26,054,827.45 |
$16,665,347.67 |
W finalnej tabeli raportu pokazano wyniki, które zostały zwrócone po utworzeniu tabeli przestawnej przy użyciu miary Sprzedaż internetowa poza USA. Dodaj pole CalendarYear do obszaru Etykiety wierszy tabeli przestawnej, a następnie dodaj pole ProductCategoryName do obszaru Etykiety kolumn.
Tabela 2.Porównanie sprzedaży poza USAwg kategorii produktów
Sprzedaż internetowa poza USA |
Etykiety kolumn |
|
|
|
---|---|---|---|---|
Etykiety wierszy |
Accessories |
Bikes |
Clothing |
Suma końcowa |
2005 |
|
$1,526,481.95 |
|
$1,526,481.95 |
2006 |
|
$3,554,744.04 |
|
$3,554,744.04 |
2007 |
$156,480.18 |
$5,640,106.05 |
$70,142.77 |
$5,866,729.00 |
2008 |
$228,159.45 |
$5,386,558.19 |
$102,675.04 |
$5,717,392.68 |
Suma końcowa |
$384,639.63 |
$16,107,890.23 |
$172,817.81 |
$16,665,347.67 |
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
,'InternetSales_USD'[SalesAmount_USD])