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 -columnName1 filter reunassa. Tätä vaihtoehtoa ei voi käyttää yksi yhteen -or monta yhteen -suhteessa.OneWay_RightFiltersLeft – FilterscolumnName1 -columnName2 filter 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.
Oletusarvoisesti emme saa yearmyymien tuotteiden Count:
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: