Zdieľať cez


CROSSFILTER

Vzťahuje sa na: Vypočítaný stĺpec Vypočítaná tabuľka Výpočet mierky Vizuál

Určuje smer krížového filtrovania, ktorý sa má použiť vo výpočte pre vzťah, ktorý existuje medzi dvomi stĺpcami.

Syntax

CROSSFILTER(<columnName1>, <columnName2>, <direction>)  

Parametre

Obdobie Definícia
názovStĺpca1 Úplný názov existujúceho stĺpca používajúci štandardnú syntax jazyka DAX, ktorý zvyčajne predstavuje časť "many" vzťahu, ktorý sa má použiť; ak sú argumenty zadané v opačnom poradí, funkcia ich pred použitím vymení. Tento argument nemôže byť výrazom.
názovStĺpca2 Úplný názov existujúceho stĺpca používajúci štandardnú syntax jazyka DAX, ktorý zvyčajne predstavuje stranu "one" alebo stranu vyhľadávania vzťahu, ktorý sa má použiť; ak sú argumenty zadané v opačnom poradí, funkcia ich pred použitím vymení. Tento argument nemôže byť výrazom.
Direction Smer krížového filtrovania, ktorý sa má použiť. Musí to byť jedna z nasledujúcich možností:

Žiadne – v tomto vzťahu sa neuplynú žiadne krížové filtrovania.

Obojs nie - filtruje na oboch stranách.

OneWay – filtruje na jednej strane alebo na strane vyhľadávania vo vzťahu, ktorý filtruje druhú stranu. Túto možnosť nemožno použiť so vzťahom one-to-one . Túto možnosť nepoužívajte vo vzťahu typu many-to-many, pretože nie je jasné, ktorá strana je stranou vyhľadávania. namiesto toho použite OneWay_LeftFiltersRight alebo OneWay_RightFiltersLeft.

OneWay_LeftFiltersRight – filtre na strane <columnName1> filtrujú stranu <columnName2>. Túto možnosť nemožno použiť so vzťahom one-to-one alebo many-to-one.

OneWay_RightFiltersLeft – filtruje na strane <columnName2> a filtruje stranu <columnName1>. Túto možnosť nemožno použiť so vzťahom one-to-one alebo many-to-one.

Vrátená hodnota

Funkcia nevráti žiadnu hodnotu. Funkcia nastaví iba smer krížového filtrovania pre označený vzťah počas trvania dotazu.

Poznámky

  • V prípade vzťahu 1:1 neexistuje rozdiel medzi smerom one a both.

  • Funkciu CROSSFILTER možno použiť iba vo funkciách, ktoré používajú filter ako argument, napríklad: funkcie CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD a TOTALYTD.

  • Funkcia CROSSFILTER používa existujúce vzťahy v modeli a vzťahy identifikuje podľa ich stĺpcov koncových bodov.

  • Vo funkcii CROSSFILTER nie je dôležité nastavenie krížového filtrovania vzťahu. či je vzťah nastavený na filtrovanie v jednom alebo oboch smeroch v modeli, nemá to vplyv na používanie funkcie. Funkcia CROSSFILTER prepíše akékoľvek existujúce nastavenie krížového filtrovania.

  • Ak niektorý zo stĺpcov pomenovaných ako argument nie je súčasťou vzťahu alebo argumenty patria k iným vzťahom, vráti sa chyba.

  • Ak sú výrazy funkcie CALCULATE vnorené a viac ako jeden výraz funkcie CALCULATE obsahuje funkciu CROSSFILTER, v prípade konfliktu alebo nejednoznačnosti má prednosť najvnútornejšia funkcia CROSSFILTER.

  • Táto funkcia nie je podporovaná na použitie v režime DirectQuery, keď sa používa vo vypočítaných stĺpcoch alebo v pravidlách zabezpečenia na úrovni riadkov (RLS).

Príklad

V nasledujúcom diagrame modelu sú stĺpce DimProduct a DimDate v jednosmernom vzťahu so stĺpcom FactInternetSales.

CROSSFILTER_Examp_DiagView

Predvolene nemôžeme získať počet produktov predaných podľa rokov:

CROSSFILTER_Examp_PivotTable1

Počet produktov podľa rokov možno získať dvoma spôsobmi:

  • Zapnutie obojsmerného krížového filtrovania vzťahu. Týmto sa zmení spôsob fungovania filtrov pre všetky údaje v týchto dvoch tabuľkách.

  • Pomocou funkcie CROSSFILTER môžete zmeniť fungovanie vzťahov len pre túto mieru.

Pri používaní jazyka DAX môžeme pomocou funkcie CROSSFILTER zmeniť spôsob správania smeru krížového filtrovania medzi dvomi stĺpcami definovanými vzťahom. V tomto prípade výraz jazyka DAX vyzerá takto:

BiDi:= CALCULATE([Distinct Count of ProductKey], CROSSFILTER(FactInternetSales[ProductKey], DimProduct[ProductKey] , Both))

Pomocou funkcie CROSSFILTER vo výraze mierky získame očakávané výsledky:

CROSSFILTER_Examp_PivotTable2