Megosztás a következőn keresztül:


CROSSFILTER

A következőkre vonatkozik:Számított oszlopSzámított táblaMértékVizualizációszámítási

Megadja a két oszlop közötti kapcsolat számításához használandó keresztszűrési irányt.

Szintaxis

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

Paraméterek

Kifejezés Definíció
columnName1 Egy meglévő oszlop neve, amely szabványos DAX szintaxist használ, és teljes mértékben minősített, amely általában a használandó kapcsolat több oldalát jelöli; ha az argumentumok fordított sorrendben vannak megadva, a függvény felcseréli őket használat előtt. Ez az argumentum nem lehet kifejezés.
columnName2 Egy meglévő oszlop neve, amely szabványos DAX szintaxist használ, és teljes mértékben minősített, amely általában a használandó kapcsolat egyik vagy keresési oldalát jelöli; ha az argumentumok fordított sorrendben vannak megadva, a függvény felcseréli őket használat előtt. Ez az argumentum nem lehet kifejezés.
Direction A használandó keresztszűrés iránya. Az alábbiak egyikének kell lennie:

None – A kapcsolat mentén nem történik keresztszűrés.

Both – A két oldalon lévő szűrők a másik oldalt szűrik.

OneWay – Az egyik vagy a keresési oldalon lévő szűrők a másik oldalt szűrik. Ez a beállítás nem használható egy-az-egyhez kapcsolattal. Ne használja ezt a beállítást több-a-többhöz kapcsolat esetén, mert nem világos, hogy melyik oldal a keresési oldal; OneWay_LeftFiltersRight vagy OneWay_RightFiltersLeft helyett.

OneWay_LeftFiltersRight – A columnName1 oldalán lévő szűrők szűrik a columnName2oldalát. Ez a beállítás nem használható egy-az-egyhez vagy több-az-egyhez kapcsolat esetén.

OneWay_RightFiltersLeft – A columnName2 oldalán lévő szűrők szűrik a columnName1oldalát. Ez a beállítás nem használható egy-az-egyhez vagy több-az-egyhez kapcsolat esetén.

Visszaadott érték

A függvény nem ad vissza értéket; a függvény csak a megadott kapcsolat keresztszűrési irányát állítja be a lekérdezés időtartamára.

Megjegyzések

  • 1:1 kapcsolat esetén nincs különbség az egyik és mindkét irány között.

  • CROSSFILTER csak olyan függvényekben használható, amelyek argumentumként szűrőt használnak, például: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD és TOTALYTD függvények.

  • CROSSFILTER a modellben meglévő kapcsolatokat használ, és a végpontoszlopok alapján azonosítja a kapcsolatokat.

  • A CROSSFILTERa kapcsolat keresztszűrési beállítása nem fontos; vagyis azt, hogy a kapcsolat szűrésre van-e beállítva, vagy a modell mindkét iránya nem befolyásolja a függvény használatát. CROSSFILTER felülbírálja a meglévő keresztszűrési beállításokat.

  • A rendszer hibát ad vissza, ha az argumentumként elnevezett oszlopok egyike nem része egy kapcsolatnak, vagy az argumentumok különböző kapcsolatokhoz tartoznak.

  • Ha CALCULATE kifejezések beágyazottak, és egynél több CALCULATE kifejezés tartalmaz egy CROSSFILTER függvényt, akkor a legbelső CROSSFILTER az, amelyik ütközés vagy kétértelműség esetén érvényesül.

  • Ez a függvény nem támogatott DirectQuery módban, ha számított oszlopokban vagy sorszintű biztonsági (RLS) szabályokban használják.

Példa

A következő modelldiagramon a DimProduct és a DimDate is egyetlen irányban kapcsolódik a FactInternetSaleshez.

CROSSFILTER_Examp_DiagView

Alapértelmezés szerint nem tudjuk lekérni az évenkénti értékesített termékek számát:

CROSSFILTER_Examp_PivotTable1

A termékek számát kétféleképpen lehet lekérni évről évre:

  • Kapcsolja be a kétirányú keresztszűrést a kapcsolaton. Ez megváltoztatja a szűrők működését a két tábla közötti összes adat esetében.

  • A CROSSFILTER függvénnyel módosíthatja a kapcsolatok működését csak ehhez a mértékhez.

A DAXhasználatakor a CROSSFILTER függvénnyel módosíthatjuk, hogyan viselkedik a keresztszűrés iránya egy kapcsolat által definiált két oszlop között. Ebben az esetben a DAX kifejezés a következőképpen néz ki:

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

A mértékkifejezésben a CROSSFILTER függvény használatával megkapjuk a várt eredményeket:

CROSSFILTER_Examp_PivotTable2