Share via


CROSSFILTER

Koskee seuraavia: Laskettu sarakeLaskettu taulukkoMittarinvisuaalinen laskutoimitus

Määrittää ristiinsuodatuksen suunnan, jota käytetään kahden sarakkeen välisen suhteen laskennassa.

Syntaksi

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

Parametrit

Termi Määritelmä
columnName1 Olemassa olevan sarakkeen nimi, jossa käytetään vakiomuotoista DAX-syntaksia, joka on täydellinen ja joka edustaa yleensä käytettävän suhteen monta-puolta. jos argumentit annetaan käänteisessä järjestyksessä, funktio vaihtaa ne ennen niiden käyttämistä. Tämä argumentti ei voi olla lauseke.
columnName2 Olemassa olevan sarakkeen nimi, jossa käytetään vakiomuotoista DAX-syntaksia, joka on täydellinen ja joka edustaa yleensä käytettävän suhteen yksi- tai haku-puolta. jos argumentit annetaan käänteisessä järjestyksessä, funktio vaihtaa ne ennen niiden käyttämistä. Tämä argumentti ei voi olla lauseke.
Suuntaan Käytettävä ristiinsuodatussuunta. On oltava jokin seuraavista:

Ei mitään – Ristiinsuodatusta ei tapahdu tämän suhteen yhteydessä.

Molemmat – kummankin puolen suodattimet suodattavat toista puolta.

OneWay : suhteen toisella puolella tai hakupuolella olevat suodattimet suodattavat toista puolta. Tätä asetusta ei voi käyttää yksi yhteen -suhteessa. Älä käytä tätä vaihtoehtoa monta moneen -suhteessa, koska on epäselvää, kumpi puoli on hakupuoli. käytä sen sijaan OneWay_LeftFiltersRight- tai OneWay_RightFiltersLeft -OneWay_RightFiltersLeft.

OneWay_LeftFiltersRight – columnName1-kohdan> puolella <olevat suodattimet suodattavat columnName2-sarakkeen> reunan<. Tätä asetusta ei voi käyttää yksi yhteen- tai monta yhteen -suhteessa.

OneWay_RightFiltersLeft – columnName2-kohdan> puolella <olevat suodattimet suodattavat columnName1-sarakkeen> reunan<. Tätä asetusta ei voi käyttää yksi yhteen- tai monta yhteen -suhteessa.

Palautusarvo

Funktio ei palauta arvoa. funktio määrittää vain ristiinsuodatuksen suunnan ilmaistulle suhteelle kyselyn keston ajan.

Huomautukset

  • Jos kyseessä on 1:1-suhde, yksi- ja molemmat-suunnilla ei ole eroa.

  • CROSSFILTER-funktiota voi käyttää vain funktioissa, joissa suodatinta käytetään argumenttina, esimerkiksi seuraavat funktiot: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD ja TOTALYTD.

  • CROSSFILTER käyttää mallin olemassa olevia suhteita ja tunnistaa suhteita niiden lopetuspisteen sarakkeiden mukaan.

  • CROSSFILTER-parametrissa suhteen ristiinsuodatuksen asetus ei ole tärkeä. Toisin sanoen se, onko suhde määritetty suodattamaan yksi vai molempiin suuntiin mallissa, ei vaikuta funktion käyttöön. CROSSFILTER ohittaa olemassa olevat ristiinsuodatuksen asetukset.

  • Palautetaan virhe, jos jokin argumentiksi nimetty sarake ei ole osa suhdetta tai jos argumentit kuuluvat eri suhteisiin.

  • Jos CALCULATE-lausekkeita on sisäkkäin ja useampi kuin yksi CALCULATE-lauseke sisältää CROSSFILTER-funktion, sisintä CROSSFILTER-funktiota käytetään ristiriita- tai moniselitteisyystapauksissa.

  • Tätä funktiota ei tueta DirectQuery-tilassa lasketuissa sarakkeissa tai rivitason suojauksen (RLS) säännöissä käytettäväksi.

Esimerkki

Seuraavassa mallikaaviossa sekä DimProduct- että DimDate-tuotteilla on yksisuuntainen suhde FactInternetSales-kohteen kanssa.

CROSSFILTER_Examp_DiagView

Oletusarvon mukaan ei voida noutaa tuotteiden määrää vuoden mukaan:

CROSSFILTER_Examp_PivotTable1

Tuotteiden määrän voi saada vuoden mukaan kahdella tavalla:

  • Ota suhteelle käyttöön kaksisuuntainen ristiinsuodatus. Tämä muuttaa suodattimien toimintaa kaikille näiden kahden taulukon välisille tiedoille.

  • CROSSFILTER-funktiolla voit muuttaa sitä, miten suhteet toimivat juuri tämän mittarin kanssa.

DAX-kaavoja käytettäessä voimme muuttaa CROSSFILTER-funktiolla, miten ristiinsuodatuksen suunta toimii kahden suhteen määrittämän sarakkeen välillä. Tässä tapauksessa DAX-lauseke näyttää tältä:

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

Käyttämällä CROSSFILTER-funktiota mittarilausekkeessa saamme odotetut tulokset:

CROSSFILTER_Examp_PivotTable2