Del via


CROSSFILTER

gjelder:beregnet kolonneberegnet tabellMeasurevisualobjektberegning

Angir kryssfiltreringsretningen som skal brukes i en beregning for en relasjon som finnes mellom to kolonner.

Syntaks

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

Parametere

Vilkår Definisjon
columnName1 Navnet på en eksisterende kolonne, ved hjelp av standard DAX syntaks and fullstendig kvalifisert, som vanligvis representerer mange-siden av relasjonen som skal brukes. if argumentene gis i omvendt rekkefølge, vil funksjonen bytte dem før du bruker dem. Dette argumentet kan ikke være et uttrykk.
columnName2 Navnet på en eksisterende kolonne, ved hjelp av standard DAX syntaks and fullstendig kvalifisert, som vanligvis representerer den ene siden or oppslagssiden av relasjonen som skal brukes. if argumentene gis i motsatt rekkefølge, vil funksjonen bytte dem før du bruker dem. Dette argumentet kan ikke være et uttrykk.
Direction Kryss-filter retningen som skal brukes. Må være ett av følgende:

None – Ingen kryssfiltrering forekommer langs denne relasjonen.

Both - Filters på hver side filters den andre siden.

OneWay - Filters på den ene siden or oppslagssiden av en relasjon filter den andre siden. Dette alternativet kan ikke brukes med en én-til-én-relasjon. Ikke bruk dette alternativet på en mange-til-mange-relasjon fordi det er uklart hvilken side som er oppslagssiden. bruk OneWay_LeftFiltersRight or OneWay_RightFiltersLeft i stedet.

OneWay_LeftFiltersRight - Filters på siden av columnName1filter siden av columnName2. Dette alternativet kan ikke brukes med en én-til-én-or mange-til-én-relasjon.

OneWay_RightFiltersLeft - Filters på siden av columnName2filter siden av columnName1. Dette alternativet kan ikke brukes med en én-til-én-or mange-til-én-relasjon.

Returner value

Funksjonen returnerer ingen value; funksjonen angir bare kryssfiltreringsretningen for den angitte relasjonen, for duration for spørringen.

Merknader

  • Når det gjelder en 1:1-relasjon, er det ingen forskjell mellom den and begge retninger.

  • CROSSFILTER kan bare brukes i funksjoner som tar en filter som argument, for eksempel: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTDandTOTALYTD funksjoner.

  • CROSSFILTER bruker eksisterende relasjoner i modellen, og identifiserer relasjoner etter sluttpunktkolonnene.

  • I CROSSFILTERer innstillingen for kryssfiltrering av en relasjon not viktig. det vil se ut om relasjonen er satt til filter én, or begge retningene i modellen påvirker not bruken av funksjonen. CROSSFILTER overstyrer alle eksisterende kryssfiltreringsinnstillinger.

  • En error returneres if noen av kolonnene som kalles et argument, er not en del av en relasjon or argumentene tilhører forskjellige relasjoner.

  • If CALCULATE uttrykk nestes, and mer enn ett CALCULATE uttrykk contains en CROSSFILTER-funksjon, er den innerste CROSSFILTER den som råder i tilfelle konflikt or tvetydighet.

  • Denne funksjonen støttes not for bruk i DirectQuery-modus når den brukes i beregnede kolonner or regler for sikkerhet på radnivå (RLS).

Eksempel

I det følgende modelldiagrammet har både DimProduct and DimDate en enkelt retningsrelasjon med FactInternetSales.

CROSSFILTER_Examp_DiagView

Som standard kan vi ikke hente Count produkter som selges av year:

CROSSFILTER_Examp_PivotTable1

Det finnes to måter å få count produkter på ved å year:

  • Aktiver toveis kryssfiltrering på relasjonen. Dette endrer hvordan filters fungerer for all data mellom disse to tabellene.

  • Bruk CROSSFILTER-funksjonen til å endre hvordan relasjonene fungerer for bare denne measure.

Når du bruker DAX, kan vi bruke CROSSFILTER-funksjonen til å endre hvordan retningen på tvers avfilter fungerer mellom to kolonner definert av en relasjon. I dette tilfellet ser DAX uttrykket slik ut:

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

Ved å bruke CROSSFILTER-funksjonen i vårt measure uttrykk får vi de forventede resultatene:

CROSSFILTER_Examp_PivotTable2