TOP

DAX-Lekcja 3. Funkcja selekcji danych FILTER

Opis

W tym artykule przyjrzymy się innej ważnej funkcji, która nazywa się FILTER i jest używana w połączeniu z funkcją CALCULATE. Ta funkcja robi to samo, co robimy, gdy próbujemy filtrować dane w tabeli według wartości w określonej kolumnie. Innymi słowy, ta funkcja zmniejsza rozmiar tabeli, z którą z kolei będzie działać funkcja CALCULATE.

Składnia funkcji FILTER()

=FILTER(< tabela >, < filtr >)

< tabela >

Tabela, którą chcemy filtrować. Może również istnieć wyrażenie, które w wyniku zwróci tabelę:

  1. 'Nazwa tabeli'
  2. ALL( 'Nazwa tabeli' ) lub ALL( 'Nazwa tabeli' [ Nazwa kolumny ])
  3. FILTER( 'Nazwa tabeli' , 'Nazwa tabeli' [ Nazwa kolumny ] = " Zielony ")
  4. VALUEs( 'Nazwa tabeli' [ Nazwa kolumny ])

< filtr >

Wyrażenie porównawcze wykonywane dla każdego wiersza tabeli. Oto warunki wyboru wartości:

  1. [ Nazwa kolumny ] = Automatyczny
  2. [ Nazwa kolumny ] >= 6

Zobaczmy jak to wygląda w praktyce. Załóżmy, że mamy taką tabelę, która nazywa się Demo :

Musimy policzyć liczbę rekordów dla produktu Bikes (rowery) i wyświetlić wynik w tabeli zbiorczej. W tym celu zapiszemy następującą formułę:

=CALCULATE(COUNTROWS(Demo); FILTER(Demo; Demo[Product]="Bikes"))

W efekcie w polu Count_All_Product otrzymamy następujące wartości:

Co zrobiła funkcja FILTER? Zmniejszyło to rozmiar tabeli, tak jak robimy to w Excel, ustawiając filtr w kolumnie Product i filtrowanie tylko rekordów z wartościami Bikes :

Następnie policzyła liczbę wszystkich wierszy w zmniejszonej tabeli. Widzimy, że w pozostałych wierszach nie ma wpisów w polu Count_All_Product, ponieważ w nowej tabeli nie ma żadnych rolek (Skates) i snowboardy (Snow Board) .