Jaa


CROSSFILTER

Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMeasureVisuaalinen 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, and täydellinen, joka edustaa yleensä käytettävän suhteen monta-puolta. if 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 and täydellinen, joka edustaa yleensä käytettävän suhteen yhtä puolta or haku puolta. if argumentit annetaan käänteisessä järjestyksessä, funktio vaihtaa ne ennen niiden käyttämistä. Tämä argumentti ei voi olla lauseke.
Direction Käytettäväfilter suunta. On oltava jokin seuraavista:

None – Ristiinsuodatusta ei tapahdu tämän suhteen yhteydessä.

Both - Filters kummallekin puolelle filters toiselle puolelle.

OneWay – suhteen toisella puolella Filtersor suhteen hakupuoli filter toisella puolella. 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äyttää OneWay_LeftFiltersRight or OneWay_RightFiltersLeft.

OneWay_LeftFiltersRight – FilterscolumnName2-columnName1filter reunassa. Tätä vaihtoehtoa ei voi käyttää yksi yhteen -or monta yhteen -suhteessa.

OneWay_RightFiltersLeft – FilterscolumnName1-columnName2filter reunassa. Tätä vaihtoehtoa ei voi käyttää yksi yhteen -or monta yhteen -suhteessa.

Palauta value

Funktio ei palauta value; funktio määrittää vain kyselyn duration ristiinsuodatuksen suunnan ilmoitetulle suhteelle.

Huomautuksia

  • Jos kyseessä on 1:1-suhde, yhden and välillä ei ole eroa.

  • CROSSFILTER voi käyttää vain funktioissa, joissa filter argumenttina ovat esimerkiksi seuraavat funktiot: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTDandTOTALYTD funktiot.

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

  • CROSSFILTERsuhteen ristiinsuodatuksen asetus on not tärkeä. Eli onko suhteen arvoksi määritetty filter yksi, or mallin molempiin suuntiin ei not vaikuttaa funktion käyttöön. CROSSFILTER ohittaa olemassa olevat ristiinsuodatuksen asetukset.

  • error palautetaan, if mikä tahansa argumentiksi nimetty sarake on not osa suhdetta, or argumentit kuuluvat eri suhteisiin.

  • If CALCULATE lausekkeet ovat sisäkkäin, and useampi kuin yksi CALCULATE -lauseke containsCROSSFILTER funktiota, sisintä CROSSFILTER on se, joka voittaa moniselitteisyyden or konfliktissa.

  • Tätä funktiota not tueta DirectQuery-tilassa, kun sitä käytetään lasketuissa sarakkeissa or rivitason suojauksen (RLS) säännöissä.

Esimerkki

Seuraavassa mallikaaviossa kummallakin DimProduct and DimDate -yksisuuntainen suhde FactInternetSales-kohteen kanssa.

CROSSFILTER_Examp_DiagView

Oletusarvoisesti emme saa yearmyymien tuotteiden Count:

CROSSFILTER_Examp_PivotTable1

yearvoi count tuotteiden count kahdella tavalla:

  • Ota suhteelle käyttöön kaksisuuntainen ristiinsuodatus. Tämä muuttaa sitä, miten filters toimivat näiden kahden taulukon välisille all tiedoille.

  • CROSSFILTER-funktiolla voit muuttaa sitä, miten suhteet toimivat juuri tässä measure.

Kun käytät DAX, voimme CROSSFILTER-funktion avulla muuttaa sitä, miten ristiinfilter 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 measure saadaan odotetut tulokset:

CROSSFILTER_Examp_PivotTable2