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


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.

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 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:

CROSSFILTER_Examp_PivotTable2