Udostępnij za pośrednictwem


Funkcja ISCROSSFILTERED (język DAX)

Zwraca wartość TRUE, gdy kolumna columnName albo inna kolumna w tej samej lub pokrewnej tabeli jest filtrowana.

Składnia

ISCROSSFILTERED(<columnName>)

Parametry

  • columnName
    Nazwa istniejącej kolumny utworzona z użyciem standardowej składni języka DAX. Nie może być wyrażeniem.

Wartość zwracana

Wartość TRUE, gdy kolumna columnName albo inna kolumna w tej samej lub powiązanej tabeli jest filtrowana. W przeciwnym razie wartość FALSE.

Uwagi

  • Kolumna jest traktowana jako filtrowana pośrednio, gdy filtr zastosowany do innej kolumny w tej samej lub powiązanej tabeli powoduje filtrowanie kolumny columnName. Kolumna jest taktowana jako filtrowana bezpośrednio, gdy jest do niej stosowany filtr lub filtry.

  • Pokrewna funkcja ISFILTERED (Funkcja ISFILTERED (język DAX)) zwraca wartość TRUE, gdy kolumna columnName jest filtrowana bezpośrednio.

Przykład

W poniższym przykładzie jest tworzona miara, a następnie są prezentowane różne scenariusze w celu wyjaśnienia zasady działania funkcji ISCROSSFILTERED(). Z tych scenariuszy można skorzystać, pobierając arkusz kalkulacyjny DAX_AdventureWorks.

Najpierw należy utworzyć miarę [Czy kolumna ProductName jest filtrowana pośrednio] w tabeli [Product].

=ISCROSSFILTERED(Product[ProductName])

Opis funkcji ISCROSSFILTERED()

  1. Po utworzeniu miary w tabeli przestawnej powinna być widoczna informacja, że miara [Czy kolumna ProductName jest filtrowana pośrednio] ma wartość FALSE, ponieważ wyrażenie w ogóle nie jest filtrowane. Wynik na tym etapie powinien być podobny do następującego:

    Czy kolumna ProductName jest filtrowana pośrednio

    FALSE

    Jeśli w tabeli przestawnej nie są wyświetlane dane, przeciągnij kolumnę [Czy kolumna ProductName jest filtrowana pośrednio] do pola Wartości.

  2. Przeciągnij kolumnę DateTime[CalendarYear] do pola Etykiety kolumn, a kolumnę SalesTerritory[SalesTerritoryGroup] do pola Etykiety wierszy; wszystkie wartości powinny być równe FALSE. Wynik na tym etapie powinien być podobny do następującego:

    Czy kolumna ProductName jest filtrowana pośrednio

    Etykiety kolumn

    Etykiety wierszy

    2005

    2006

    2007

    2008

    Suma końcowa

    Europe

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    ND

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    North America

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Pacific

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Suma końcowa

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    W komórkach jest widoczna wartość FALSE, ponieważ ani kolumna DateTime[CalendarYear], ani kolumna SalesTerritory[SalesTerritoryGroup] nie powoduje filtrowania kolumny Product[ProductName].

  3. Przeciągnij kolumnę ProductCategory[ProductCategoryName] do pola Fragmentatory w poziomie, a kolumnę do pola ProductSubCategory[ProductSubCategoryName] Fragmentatory w pionie. Wszystkie wartości powinny być równe FALSE, ponieważ podczas dodawania kolumny do pola fragmentatorów nie wybrano zestawu fragmentującego. Dlatego wynik powinien być podobny do następującego:

    ProductCategoryName

    Accessories

    Bikes

    Clothing

    Components

    ProductSubcategoryName

    Czy kolumna ProductName jest filtrowana pośrednio

    Etykiety kolumn

    Bib-Shorts

    Etykiety wierszy

    2005

    2006

    2007

    2008

    Suma końcowa

    Bike-Racks

    Europe

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Bike-Stands

    ND

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Bottles and Cages

    North America

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Bottom Brackets

    Pacific

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Brakes

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Caps

    Suma końcowa

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Fałsz

    Chains

    Cleaners

    Cranksets

    Derailleurs

    Fenders

    Forks

    Gloves

    Handlebars

    Headsets

  4. Zaznaczenie dowolnego elementu we fragmentatorach spowoduje zmianę wartości wszystkich komórek na TRUE, ponieważ teraz kolumna Product[ProductName] jest filtrowana za pośrednictwem powiązanych tabel ProductCategory i ProductSubcategory. Wyniki powinny wyglądać podobnie do następujących:

    ProductCategoryName

    Accessories

    Bikes

    Clothing

    Components

    ProductSubcategoryName

    Czy kolumna ProductName jest filtrowana pośrednio

    Etykiety kolumn

    Bib-Shorts

    Etykiety wierszy

    2005

    2006

    2007

    2008

    Suma końcowa

    Bike-Racks

    Europe

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Bike-Stands

    ND

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Bottles and Cages

    North America

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Bottom Brackets

    Pacific

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Brakes

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Caps

    Suma końcowa

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Prawda

    Chains

    Cleaners

    Cranksets

    Derailleurs

    Fenders

    Forks

    Gloves

    Handlebars

    Headsets

  5. Teraz można zamienić fragmentatory na kolumny Product[ProductName] i Product[ModelName]. Dopóki nie zostanie wybrany element w dowolnym fragmentatorze, miara będzie zwracać wartość FALSE, jednak po wybraniu elementu we fragmentatorze miara będzie zwracać wartość TRUE, ponieważ kolumna Product[ProductName] będzie filtrowana przez nią samą lub przez wybranie kolumny Product[ModelName].

  6. Wniosek jest taki, że funkcja ISCROSSFILTERED() umożliwia określenie, czy kolumna columnName jest filtrowana w kontekście, w którym jest obliczane wyrażenie języka DAX.

W tym przykładzie jest używany model z przykładowego arkusza DAX_AdventureWorks.

Zobacz także

Odwołanie

Funkcja ISFILTERED (język DAX)

Funkcja FILTERS (język DAX)

Funkcja HASONEFILTER (język DAX)

Funkcja HASONEVALUE (język DAX)