CROSSFILTER
A következőre vonatkozik: Számított oszlop Számított tábla Mérték vizualizáció számítása
Megadja a két oszlop közötti kapcsolat számításához használandó keresztszűrési irányt.
Syntax
CROSSFILTER(<columnName1>, <columnName2>, <direction>)
Paraméterek
Időszak | 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ő, szabványos DAX-szintaxist használó és teljes mértékben minősített oszlop neve, amely általában a használni kívánt 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. |
Irány | A használandó keresztszűrés iránya. Az alábbiak egyikének kell lennie: Nincs – A kapcsolat mentén nem történik keresztszűrés. Mindkettő – Mindkét oldalon a szűrők a másik oldalt szűrik. OneWay – Az egyik oldalon vagy a kapcsolat keresési oldalán 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> oszlop oldalán <lévő szűrők aName2> oszlop oldalára szűrnek<. Ez a beállítás nem használható egy-az-egyhez vagy több-az-egyhez kapcsolat esetén. OneWay_RightFiltersLeft – A ColumnName2> oszlop oldalán <lévő szűrők aName1> oszlop oldalát szűrik<. 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.
A KERESZTSZŰRŐ csak olyan függvényekben használható, amelyek argumentumként szűrőt vesznek fel, például: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD és TOTALYTD függvények.
A CROSSFILTER a modellben meglévő kapcsolatokat használ, amelyek a végpontoszlopok alapján azonosítják a kapcsolatokat.
A CROSSFILTERben a 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. A CROSSFILTER felülírja 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 a CALCULATE kifejezések beágyazottak, és egynél több CALCULATE kifejezés tartalmaz KERESZTSZŰRÉS függvényt, akkor ütközés vagy kétértelműség esetén a legbelső KERESZTSZŰRŐ az, amelyik é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.
Alapértelmezés szerint nem tudjuk lekérni az évenkénti értékesített termékek számát:
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 DAX használatakor a CROSSFILTER függvénnyel módosíthatjuk, hogy a keresztszűrés iránya hogyan viselkedjen 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 CROSSFILTER függvény mértékkifejezésben való használatával a várt eredményeket kapjuk: