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.
=FILTER(< tabela >, < filtr >)
< tabela >
Tabela, którą chcemy filtrować. Może również istnieć wyrażenie, które w wyniku zwróci tabelę:
< filtr >
Wyrażenie porównawcze wykonywane dla każdego wiersza tabeli. Oto warunki wyboru wartości:
Zobaczmy jak to wygląda w praktyce. Załóżmy, że mamy taką tabelę, która nazywa się
Musimy policzyć liczbę rekordów dla produktu
=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
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