Tässä opetusohjelmassa käsitellään LuckyTemplates-suodattimia. Opit näkemään kontekstin siirtymisen xmSQL:ssä ja loogisessa kyselysuunnitelmassa. Kontekstisiirtymä muuttaa nykyisen rivikontekstin vastaavaksi suodatinkontekstiksi. Suodattimet laukaisee sittentoiminto.
Sisällysluettelo
Laske-funktion merkitys
CLCULATE - funktio luo kontekstin DAX-laskelmillesi. Jos käytät iterointifunktiota käärimättä sitä CLCULATE -tekstiin , saat epätarkkoja tuloksia.
Tässä on yksinkertainen kysely ilman kontekstia siirtymällä:
Siinä on-toiminto FactSalesin nykyisen hinnan ja määrän tuotteelle . Sen jälkeen se lisää sarakkeen jokaiseen vuoteen kokonaismyyntiä koskevassa kalenterivuositaulukossa.
Jos suoritat kyselyn, näet, että kunkin rivin tulokset ovat samat.
Toistuvat tulokset tarkoittavat, että jokin on vialla, koska on käytännössä mahdotonta saada sama myyntimäärä joka vuosi. DAX-mitta tai tietomalli saattaa vaatia tarkistuksia tai mukautuksia. Tässä tapauksessa DAX-mittaan CLCULATE ei ole kääritty.
Jos napsautat ensimmäistä tarkistusta ja katsot xmSQL-käskyä, et näe mitään suodatinta tai kontekstia, joka osoittaisi, että kalenterivuoden pitäisi olla osa laskentaa. Tarvitset CLCULATE -funktion kontekstisiirron käynnistämiseen.
Suodattimien kutsuminen LuckyTemplates DAX -kyselyssä
Tämä on sama kysely, mutta kontekstisiirrolla CALCULATE -funktiolla.
Jos suoritat kyselyn, voit nähdä eri arvoja tuloksissa.
DimCalendar-vuoden toinen skannaus on kerätä kaikki muut vuodet. Tuloksissa ei ole rivejä vuosiin tyhjillä tuloksilla (2012, 2013 ja 2014) ilman skannausta. Tallennusmoottori tekee sen taustalla varmistaakseen, että kaikki tiedot otetaan huomioon.
Jos katsot xmSQL-käskyä, voit nähdä, että CLCULATE -funktio kutsuu vasemman ulkoliitoksen . Vasen ulompi liitos antaa myyntitiedot vuosilta 2015–2018. Jos näet vasemman ulkoliitoksen yhdistettynä $Expr0:aan xmSQL-käskyssä, se tarkoittaa, että kyseessä on kontekstisiirtymä.
Asiat voivat olla hieman hankalia, kun sinulla on useita kontekstin siirtymiä. Mutta Left Outer Join ilmoittaa DAX:lle, että sinun on keskityttävä suodattimesi tietoalueeseen.
Voit itse asiassa nähdä tämän loogisessa kyselysuunnitelmassa muodossa Sum_Vertipaq , joka riippuu DimCalendar-vuodesta.
Jos yrität suorittaa kyselyn ilman kontekstin siirtoa ja katsot loogista kyselysuunnitelmaa, voit nähdä, että Sum_Vertipaq ei riipu mistään. Tämä tarkoittaa, että sinun on täytettävä jotain tietomallissasi tai mittauksessa saadaksesi haluamasi tulos.
Johtopäätös
Näin tunnistat kontekstin siirtymän ja määrität, milloin se tapahtuu vai ei. Kontekstisiirtymien kutsuminen on välttämätöntä arvokkaiden tulosten luomiseksi. Ne auttavat keräämään tietoja eri alueista, ajanjaksoista ja taulukoista.
CLCULATE on yksi tärkeimmistä toiminnoista, kun kutsut suodattimia. Kun laskelma on asetettu, tallennuskone suorittaa kyselyn tulosten saamiseksi.