Udostępnij za pośrednictwem


Funkcja FILTER (język DAX)

Zwraca tabelę przedstawiającą podzestaw innej tabeli lub wyrażenia.

Składnia

FILTER(<table>,<filter>)

Parametry

Termin

Definicja

tabela

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 tabela, która jest podzbiór Internet sprzedaży minus wszystkie wiersze, które należą do terytorium sprzedaży Stanów Zjednoczonych.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ń.

Do odtworzenia tej tabeli, Dodaj pole SalesTerritoryCountry, do Etykiety wierszy obszaru tabela przestawna.

Tabela 1.Comparing total sales for U.S.vs.all other regions

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 do pole CalendarYear, Etykiety wierszy obszaru tabela przestawna i dodać do pole, ProductCategoryName, Etykiety kolumn obszaru.

Tabela 2.Comparing non- U.S.sales by product categories

Sprzedaż internetowa poza USA

Etykiety kolumn

 

 

 

Etykiety wierszy

Accessories

Bikes

Clothing

Suma końcowa

2001

 

$1,526,481.95

 

$1,526,481.95

2002

 

$3,554,744.04

 

$3,554,744.04

2003

$156,480.18

$5,640,106.05

$70,142.77

$5,866,729.00

2004

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