Excel DAX - funkcje filtru
DAX ma potężne możliwości filter functionsktóre różnią się znacznie od funkcji programu Excel. Funkcje wyszukiwania działają przy użyciu tabel i relacji, takich jak baza danych. Funkcje filtrowania umożliwiają manipulowanie kontekstem danych w celu tworzenia dynamicznych obliczeń.
Note- Funkcje filtru języka DAX, które zwracają tabelę, nie dodają tabeli do modelu danych. Wynikowa tabela jest używana jako argument w innej funkcji języka DAX. Oznacza to, że takie funkcje języka DAX są używane jako funkcje zagnieżdżone z innymi funkcjami języka DAX.
W następnej sekcji dowiesz się, jakich funkcji filtrów języka DAX możesz używać. Aby uzyskać więcej informacji na temat tych funkcji, zapoznaj się z samouczkiem - Funkcje języka DAX w tej bibliotece samouczków.
Funkcje filtru języka DAX
Poniżej przedstawiono funkcje filtru języka DAX -
Sr.No. | Funkcja języka DAX i co robi ta funkcja? |
---|---|
1 | ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>] …, <table>, <groupingColumn>, [<groupingColumn>] …, [filterTable] …) Dodaje kombinacje elementów z wielu kolumn do tabeli, jeśli jeszcze nie istnieją. Określenie, które kombinacje pozycji należy dodać, opiera się na odwołaniach do kolumn źródłowych, które zawierają wszystkie możliwe wartości dla kolumn. Aby określić kombinacje elementów z różnych kolumn do oceny -
|
2 | ALL ( {<table> | <column>, [<column>], [<column>], … }) Zwraca wszystkie wiersze w danej tabeli lub wszystkie wartości w określonych kolumnach tabeli, ignorując wszelkie zastosowane filtry. Ta funkcja jest przydatna do czyszczenia filtrów i tworzenia obliczeń dla wszystkich wierszy w tabeli. |
3 | ALLEXCEPT (<table>, <column>, [<column>], …) Usuwa wszystkie filtry kontekstu w tabeli z wyjątkiem filtrów, które zostały zastosowane do kolumn określonych jako argumenty. W przeciwieństwie do ALL, możesz użyć tej funkcji, gdy chcesz usunąć filtry z wielu, ale nie wszystkich kolumn tabeli. |
4 | ALLNOBLANKROW (<table>|<column>) Z tabeli nadrzędnej relacji zwraca -
Funkcja ignoruje wszelkie istniejące filtry kontekstu. |
5 | ALLSELECTED ( [<tableName>|<columnName>] ) Usuwa filtry kontekstu z kolumn i wierszy w bieżącym zapytaniu, zachowując wszystkie inne filtry kontekstowe lub jawne filtry. |
6 | CALCULATE (<expression>, [<filter1>, <filter2> …)] Oblicza wyrażenie w kontekście, który jest modyfikowany przez określone filtry. Zwraca wartość będącą wynikiem wyrażenia. |
7 | CALCULATETABLE (<expression>, <filter1>, <filter2>, …) Oblicza wyrażenie tabeli w kontekście zmodyfikowanym przez dane filtry. Zwraca tabelę wartości. |
8 | CROSSFILTER (<columnName1>, <columnName2>, <direction>) Określa kierunek filtrowania krzyżowego, który ma być używany w obliczeniach dla relacji istniejącej między dwiema kolumnami. Nie zwraca żadnej wartości. |
9 | DISTINCT (<column>) Zwraca jednokolumnową tabelę zawierającą odrębne wartości z określonej kolumny. Innymi słowy, zduplikowane wartości są usuwane i zwracane są tylko wartości unikatowe. Wynikowa kolumna jest używana jako argument w innej funkcji języka DAX. |
10 | EARLIER (<column>, <number>) Zwraca bieżącą wartość określonej kolumny w zewnętrznym przebiegu oceny wspomnianej kolumny określonej przez liczbę. |
11 | EARLIEST (<column>) Zwraca bieżącą wartość określonej kolumny w zewnętrznym przebiegu oceny określonej kolumny. |
12 | FILTER (<table>, <filter>) Zwraca tabelę zawierającą tylko przefiltrowane wiersze. FILTER jest używany tylko jako funkcja osadzona w innych funkcjach, które wymagają tabeli jako argumentu. |
13 | FILTERS (<columnName>) Zwraca wartości, które są stosowane bezpośrednio jako filtry do columnName. FILTRY są używane tylko jako funkcja osadzona w innych funkcjach, które wymagają tabeli jako argumentu. |
14 | HASONEFILTER (<columnName>) Zwraca wartość TRUE, gdy liczba bezpośrednio filtrowanych wartości w kolumnie columnName wynosi jeden. W przeciwnym razie zwraca FALSE. |
15 | HASONEVALUE (<columnName>) Zwraca wartość TRUE, gdy kontekst dla columnName został odfiltrowany tylko do jednej odrębnej wartości. W przeciwnym razie zwraca FALSE. |
16 | ISCROSSFILTERED (<columnName>) Zwraca wartość TRUE, gdy filtrowana jest kolumna columnName lub inna kolumna w tej samej lub powiązanej tabeli. |
17 | ISFILTERED (<columnName>) Zwraca wartość TRUE, gdy columnName jest filtrowane bezpośrednio. Jeśli w kolumnie nie ma filtru lub jeśli filtrowanie ma miejsce, ponieważ filtrowana jest inna kolumna w tej samej tabeli lub w tabeli pokrewnej, funkcja zwraca FALSE. |
18 | KEEPFILTERS (<expression>) Modyfikuje sposób stosowania filtrów podczas obliczania funkcji CALCULATE lub CALCULATETABLE. |
19 | RELATED (<column>) Zwraca powiązaną wartość z innej tabeli. |
20 | RELATEDTABLE (<tableName>) Oblicza wyrażenie tabeli w kontekście zmodyfikowanym przez dane filtry. |
21 | SUBSTITUTEWITHINDEX (<table>, <indexColumnName>, <indexColumnTable>, <orderBy_expression>, [<order>]) Zwraca tabelę, która reprezentuje lewy semijoin z dwóch tabel podanych jako argumenty. Semijoin jest wykonywane przy użyciu wspólnych kolumn, określonych przez wspólne nazwy kolumn i wspólny typ danych. Łączone kolumny są zastępowane pojedynczą kolumną w zwracanej tabeli, która jest typu integer i zawiera indeks. Indeks jest odwołaniem do prawej tabeli łączenia, przy określonym porządku sortowania. |
22 | USERELATIONSHIP ( <columnName1>,<columnName2>) Określa relację, która ma być używana w określonych obliczeniach, jako relację istniejącą między columnName1 i columnName2. |
23 | VALUES (<TableNameOrColumnName>) Zwraca jednokolumnową tabelę zawierającą odrębne wartości z określonej tabeli lub kolumny. Innymi słowy, zduplikowane wartości są usuwane i zwracane są tylko wartości unikatowe. |