Begivenhed
31. mar., 23 - 2. apr., 23
Den ultimative Microsoft Fabric-, Power BI-, SQL- og AI-communityledede begivenhed. 31. marts til 2. april 2025.
Tilmeld dig i dagDenne browser understøttes ikke længere.
Opgrader til Microsoft Edge for at drage fordel af de nyeste funktioner, sikkerhedsopdateringer og teknisk support.
gælder for:beregnet kolonneberegnet tabelberegning af målingvisualisering
Angiver den tværgående filtreringsretning, der skal bruges i en beregning for en relation, der findes mellem to kolonner.
CROSSFILTER(<columnName1>, <columnName2>, <direction>)
Udtryk | Definition |
---|---|
columnName1 |
Navnet på en eksisterende kolonne, der bruger DAX-standardsyntaksen og er fuldt kvalificeret, og som normalt repræsenterer mange-siden af den relation, der skal bruges. hvis argumenterne er angivet i omvendt rækkefølge, bytter funktionen dem, før de bruges. Dette argument må ikke være et udtryk. |
columnName2 |
Navnet på en eksisterende kolonne, der bruger DAX-standardsyntaksen og er fuldt kvalificeret, og som normalt repræsenterer den ene side eller opslagssiden for den relation, der skal bruges. hvis argumenterne er angivet i omvendt rækkefølge, bytter funktionen dem, før de bruges. Dette argument må ikke være et udtryk. |
Direction |
Den tværgående filterretning, der skal bruges. Skal være en af følgende:None – Der sker ingen krydsfiltrering langs denne relation.Both – Filtre på begge sider filtrerer den anden side.OneWay – Filtre på den ene side eller opslagssiden for en relation filtrerer den anden side. Denne indstilling kan ikke bruges sammen med en en til en-relation . Brug ikke denne indstilling på en mange til mange-relation, fordi det er uklart, hvilken side der er opslagssiden. brug i stedet OneWay_LeftFiltersRight eller OneWay_RightFiltersLeft.OneWay_LeftFiltersRight – Filtre på siden af columnName1 filtrere siden af columnName2 . Denne indstilling kan ikke bruges sammen med en en til en- eller mange til en-relation.OneWay_RightFiltersLeft – Filtre på siden af columnName2 filtrere siden af columnName1 . Denne indstilling kan ikke bruges sammen med en en til en- eller mange til en-relation. |
Funktionen returnerer ingen værdi. Funktionen angiver kun krydsfiltreringsretningen for den angivne relation i forespørgslens varighed.
I tilfælde af en 1:1-relation er der ingen forskel mellem den ene og begge retninger.
CROSSFILTER kan kun bruges i funktioner, der bruger et filter som argument, f.eks.: funktionerne CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD og TOTALYTD.
CROSSFILTER bruger eksisterende relationer i modellen og identificerer relationer efter deres slutpunktkolonner.
I CROSSFILTER er indstillingen for krydsfiltrering af en relation ikke vigtig. Dvs. om relationen er indstillet til at filtrere en eller begge retninger i modellen, påvirker ikke brugen af funktionen. CROSSFILTER tilsidesætter alle eksisterende indstillinger for krydsfiltrering.
Der returneres en fejl, hvis en af kolonnerne, der er navngivet som et argument, ikke er en del af en relation, eller argumenterne tilhører forskellige relationer.
Hvis CALCULATE-udtryk er indlejret, og mere end ét CALCULATE-udtryk indeholder en CROSSFILTER-funktion, er det inderste CROSSFILTER det, der gælder i tilfælde af en konflikt eller flertydighed.
Denne funktion understøttes ikke til brug i DirectQuery-tilstand, når den bruges i beregnede kolonner eller RLS-regler (row-level security).
I følgende modeldiagram har både DimProduct og DimDate en enkelt retningsrelation med FactInternetSales.
Vi kan som standard ikke hente antallet af produkter, der er solgt efter år:
Der er to måder at få antallet af produkter efter år:
Slå tovejskrydsfiltrering til for relationen. Dette ændrer den måde, filtre fungerer på for alle data mellem disse to tabeller.
Brug funktionen CROSSFILTER til at ændre, hvordan relationerne kun fungerer for denne måling.
Når du bruger DAX, kan vi bruge funktionen CROSSFILTER til at ændre, hvordan den tværgående filterretning fungerer mellem to kolonner, der er defineret af en relation. I dette tilfælde ser DAX-udtrykket sådan ud:
BiDi:= CALCULATE([Distinct Count of ProductKey], CROSSFILTER(FactInternetSales[ProductKey], DimProduct[ProductKey] , Both))
Ved at bruge funktionen CROSSFILTER i vores målingsudtryk får vi de forventede resultater:
Begivenhed
31. mar., 23 - 2. apr., 23
Den ultimative Microsoft Fabric-, Power BI-, SQL- og AI-communityledede begivenhed. 31. marts til 2. april 2025.
Tilmeld dig i dag