DAX-kaavojen konteksti

Tärkeää: Tämä on artikkeli on käännetty koneellisesti. Lue vastuuvapauslauseke. Tämän artikkelin englanninkielinen versio on täällä .

Kontekstin avulla voit suorittaa dynaamisia analyyseja, joissa kaavan tulokset voivat vaihdella valitun rivi tai solun mukaan ja myös kaikkien liittyvien tietojen mukaan. Kontekstin ymmärtäminen ja tehokas käyttö on hyvin tärkeää muodostettaessa tehokkaita kaavoja ja dynaamisia analyysejä ja tehtäessä kaavojen vianmääritystä.

Tässä osassa määritetään eri kontekstityyppiä: rivikonteksti, kyselykonteksti ja suodatinkonteksti. Ohjeessa kerrotaan, miten kontekstin arvioidaan kaavoja laskettuihin sarakkeisiin ja pivot-taulukoissa.

Tämän artikkelin viimeisessä osassa on linkkejä yksityiskohtaisiin esimerkkeihin, jotka kuvaavat kaavojen tulosten muuttumista kontekstin mukaan.

Tietoja kontekstista

Power Pivot kaavat voivat vaikuttaa pivot-taulukon suodattimet, taulukoiden väliset suhteet ja kaavoissa käytettävien suodattimien. Konteksti on mitä mahdollistaa sellaisten dynaaminen analysoinnissa. Tietoja kontekstista on tärkeää rakenneosia ja kaavojen vianmääritys.

On useita: rivikonteksti, kyselykonteksti ja suodatinkonteksti.

Rivikonteksti Voit ajatella "Nykyinen rivi." Jos olet luonut lasketun sarakkeen, rivikonteksti koostuu kunkin yksittäisen rivin arvot ja arvojen sarakkeet, jotka liittyvät nykyiseen riviin. Saatavilla on myös jotkin toiminnot (EARLIER-funktio ja EARLIEST-funktio), joka hakee arvon nykyisen rivin ja käyttämällä kyseisen arvon suoritettaessa toiminnon päällä koko taulukon.

Kyselykonteksti viittaa pivot-taulukossa rivin ja sarakkeen mukaan kullekin solulle implisiittisesti luotavaan tietojen alijoukkoon.

Suodatinkonteksti on sallittu kunkin sarakkeen perusteella suodattimen rajoitukset, jotka on käytetty rivi tai, joka on määritetty suodatinlausekkeiden kaavan mukaan arvojoukon.

Sivun alkuun

Rivikonteksti

Jos luot kaavan lasketun sarakkeen, tämä kaava rivin kontekstissa sisältää kaikki sarakkeet arvot nykyiseen riviin. Jos taulukolla on toisesta taulukosta, sisällön myös kaikki kyseisen taulukon arvot, jotka liittyvät nykyiseen riviin.

Oletetaan, että luot lasketun sarakkeen, = [Rahti] + [vero]

, joka laskee yhteen kaksi saman taulukon saraketta. Tämä kaava toimii kuten Excel-taulukon kaavat, jotka viittaavat automaattisesti saman rivin arvoihin. Huomaa, että taulukot poikkeavat alueista: et voi viitata edellisen rivin arvoon käyttämällä arvomerkintää etkä yksittäiseen arvoon taulukossa tai solussa. Sinun on aina käsiteltävä taulukoita ja sarakkeita.

Rivikonteksti selvittää, mitkä liittyvien taulukoiden rivit liittyvät nykyiseen riviin, seuraamalla automaattisesti taulukoiden välisiä suhteita.

Seuraava esimerkkikaava käyttää RELATED-funktiota noutamaan veron (Tax) arvon liitetystä taulukosta sen mukaan, mille alueelle (Region) tilaus on lähetetty. Veron arvo määritetään käyttämällä alueen arvoa nykyisessä taulukossa, etsimällä aluetta liittyvästä taulukosta ja noutamalla sen jälkeen kyseisen alueen veroprosentti liittyvästä taulukosta.

= [Rahti] + RELATED('Region'[TaxRate])

Tämä kaava hakee nykyisen alueen veroprosentin Region-taulukosta. Taulukoita yhdistävää avainta ei tarvitse tietää tai määrittää erikseen.

Useiden rivien konteksti

Lisäksi DAX sisältää funktioita, jotka käyvät laskutoimituksia läpi taulukossa. Näillä funktioilla voi olla useita nykyisiä rivejä ja nykyisiä rivikonteksteja. Ohjelmointitermein ilmaistuna voit luoda kaavoja, jotka käyvät tiedot läpi sisemmän ja ulomman silmukan avulla.

Oletetaan, että työkirjasi sisältää tuotteet -taulukko ja kokonaismyynti -taulukon. Ehkä haluat käydä läpi koko myynnin taulukko, joka on täynnä tapahtumien useita tuotteita, ja Etsi kaikki tapahtuman kunkin tuotteen tilattu suurin määrä.

Excelissä tämä laskenta edellyttää useita väliyhteenvetoja, jotka olisi muodostettava uudelleen, jos tiedot muuttuvat. Jos olet Excelin tehokäyttäjä, pystyt ehkä muodostamaan matriisikaavoja, jotka tekevät työn puolestasi. Relaatiotietokannassa voit vaihtoehtoisesti kirjoittaa sisäkkäisiä alijoukkoja.

DAXissa voit kuitenkin muodostaa yhden kaavan, joka palauttaa oikean arvon, ja tulokset päivitetään automaattisesti aina, kun lisäät tietoja taulukoihin.

=MAXX(Filter(Sales,[ProdKey]=EARLIER([ProdKey])),Sales[OrderQty])

Ratkaisun kaavan artikkelissa EARLIER-funktio.

Lyhyesti ilmaistuna EARLIER-funktio tallentaa nykyistä toimintoa edeltäneen toiminnon rivikontekstin. Funktio tallentaa muistiin aina kaksi kontekstijoukkoa: ensimmäinen kontekstijoukko edustaa kaavan sisemmän silmukan nykyistä riviä ja toinen kontekstijoukko edustaa kaavan ulomman silmukan nykyistä riviä. DAX syöttää arvot automaattisesti näiden kahden silmukan välillä, jolloin voit luoda monimutkaisia koosteita.

Sivun alkuun

Kyselykonteksti

Kyselykonteksti viittaa tietojoukko, jota haetaan implisiittisesti kaavan. Kun poistat mitta tai muita arvokentän pivot-taulukon soluun, Power Pivot -ohjelma tarkistaa rivi- ja sarakeotsikot, osittajat ja raporttisuodattimet, voit selvittää yhteydessä. Valitse Power Pivot tekee tarvittavat laskelmat kullekin solulle pivot-taulukon tietojen täyttämiseen. Tietoja, jotka on haettu on kyselykonteksti kullekin solulle.

Koska konteksti voi vaihdella sen mukaan, mihin kaava sijoitetaan, kaavan tulokset voivat myös vaihdella sen mukaan, käytetäänkö kaavaa pivot-taulukossa, jossa on useita ryhmittelyjä ja suodattimia, vai lasketussa sarakkeessa, jossa ei ole suodattimia ja jossa on vähän kontekstia.

Oletetaan esimerkiksi, että voit luoda tämän Yksinkertaisen kaavan, joka laskee yhteen Sales -table:=SUM('Sales'[Profit]) Profit -sarakkeen arvot.

Jos käytät tätä kaavaa Myynti -taulukon laskettu sarake, kaavan tulokset on sama koko taulukko, koska kaava kyselykonteksti on aina koko tietojoukko Sales -taulukon. Tulokset on kaikkien alueiden kaikissa tuotteissa, kaikki vuodet, tuotto ja niin edelleen.

Yleensä et halua nähdä samaa tulosta satoja kertoja, vaan haluat saada tietyn vuoden, tietyn maan tai alueen, tietyn tuotteen tai jonkin näiden yhdistelmän tuoton ja sen jälkeen kokonaissumman.

Pivot-taulukossa on helppo lisäämällä tai poistamalla sarakkeiden ja rivien otsikot ja lisäämällä tai poistamalla osittajia muuttaminen kontekstissa. Voit luoda seuraavaa kaavaa jokin edellä mitta- ja pudota se pivot-taulukon. Aina kun lisäät sarake-tai pivot-taulukossa, voit muuttaa kyselykonteksti, joissa mitataan arvioidaan. Viipaloiminen ja suodatuksen toiminnot vaikuttavat myös kontekstissa. Tämän vuoksi saman kaavan, käytetään pivot-taulukossa arvioidaan eri kyselykonteksti kullekin solulle.

Sivun alkuun

Suodatinkonteksti

Suodatinkonteksti lisätään, kun määrität suodattimen rajoitukset sallittu sarakkeen tai taulukon, käyttämällä argumentit kaavaan arvojoukon. Suodatinkonteksti koskee muissa tilanteissa, kuten rivikonteksti tai kyselykonteksti päällä.

Jos esimerkiksi pivot-taulukon laskee arvonsa kullekin solulle perusteella rivi- ja sarakeotsikot, kyselykonteksti on edellisen osion ohjeiden mukaan. Kuitenkin sisällä mittayksiköitä tai laskettuja sarakkeita, jotka on lisätty pivot-taulukon, voit määrittää suodatinlausekkeiden voit hallita kaavan käytettävät arvot. Voit myös valita poistaa tietyn sarakkeiden.

Lisätietoja suodattimien luomisesta kaavoihin on artikkelissa Suodatinfunktiot (DAX).

Esimerkki siitä, miten suodattimia voi tyhjentää kokonaissummien luomisesta on artikkelissa ALL-funktio.

Katso esimerkkejä tyhjennettävien ja käytettävien suodattimien valitsemisesta kaavoja ALLEXCEPT-funktiolla.

Tämän vuoksi toimenpiteiden tai pivot-taulukon niin, että voidaan suodatuskontekstin ottaa huomioon tulkittaessa kaavojen tuloksia käytettävien kaavojen määritys on tarkistettava.

Sivun alkuun

Kaavojen kontekstin selvittäminen

Kun kaava luodaan, Power Pivot for Excel tarkistaa ensin kaavan syntaksin yleisellä tasolla ja vertaa sen jälkeen käyttäjän määrittämien sarakkeiden ja taulukoiden nimiä nykyisen kontekstin sarakkeiden ja taulukoiden nimiin. Jos Power Pivot ei löydä kaavassa määritettyjä sarakkeita ja taulukoita, ohjelma palauttaa virheilmoituksen.

Konteksti määritetään edellä olevissa osioissa kuvatulla tavalla työkirjan taulukoiden, taulukoiden välisien suhteiden ja käytössä olevien suodatinten perusteella.

Jos olet esimerkiksi juuri tuonut tietoja uuteen taulukkoon, etkä ole määrittänyt käyttöön mitään suodatinta, taulukon koko sarakejoukko kuuluu nykyiseen kontekstiin. Jos useiden taulukoiden välillä on suhteita ja käsittelet pivot-taulukkoa, joka on suodatettu lisäämällä sarakeotsikoita ja käyttämällä osittajia, konteksti sisältää liittyvät taulukot ja tietojen mahdolliset suodattimet.

Konteksti on tehokas käsite, joka voi myös tehdä kaavojen vianmäärityksestä vaikeaa. Suosittelemme, että kokeilet ensin yksinkertaisia kaavoja ja suhteita, jotta näet, miten konteksti toimii. Sen jälkeen voit kokeilla, miten yksinkertaiset kaavat toimivat pivot-taulukoissa. Seuraavassa osiossa on esimerkkejä siitä, miten kaavat käyttävät erityyppisiä konteksteja tulosten dynaamisessa palauttamisessa.

Esimerkkejä kaavojen kontekstista

  • RELATED-funktio laajentaa nykyisen rivin kontekstia niin, että se sisältää liittyvän sarakkeen arvot. Tällöin voit tehdä hakuja. Tämän ohjeaiheen esimerkki kuvaa suodatuksen ja rivikontekstin välistä vuorovaikutusta.

  • FILTER-funktion avulla voit määrittää rivit, jotka sisällytetään nykyiseen kontekstiin. Tämän ohjeaiheen esimerkit kuvaavat myös sitä, miten suodattimia upotetaan muihin koosteita suorittaviin funktioihin.

  • ALL-funktio määrittää kaavan kontekstin. Sen avulla voidaan ohittaa suodattimet, jotka on otettu käyttöön kyselykontekstin tuloksena.

  • ALLEXCEPT-funktion avulla voidaan poistaa kaikki suodattimet määritettyä suodatinta lukuun ottamatta. Molemmissa aiheissa on esimerkkejä, joissa käydään läpi kaavojen muodostaminen ja monimutkaisten kontekstien tiedot.

  • EARLIER- ja EARLIEST-funktioiden avulla taulukoissa voidaan käyttää silmukoita laskentatoimitusten yhteydessä ja viitata sisäpuolisen silmukan arvoon. Jos tunnet rekursion sekä sisäpuolisen ja ulkopuolisen silmukan käsitteet, EARLIER- ja EARLIEST-funktioista on varmasti hyötyä. Jos et vielä tunne näitä käsitteitä, kannattaa seurata esimerkin vaiheita huolellisesti ja tutustua tapaan, jolla sisäpuolisia ja ulkopuolisia konteksteja käytetään laskutoimituksissa.

Sivun alkuun

Viite-eheys

Tässä osassa käsitellään lisäkäsitteitä, jotka liittyvät suhteilla yhdistetyistä Power Pivot -taulukoista puuttuviin arvoihin. Tämän osan tiedot voivat olla hyödyllisiä, jos olet luonut useita taulukkoja ja monimutkaisia kaavoja sisältäviä työkirjoja ja haluat oppia ymmärtämään tuloksia.

Jos tunne relaatiotietokäsitteitä, on suositeltavaa lukea ensin johdanto-ohjeaihe Suhteiden yleiskatsaus.

Viite-eheys ja Power Pivot -suhteet

Power Pivot ei edellytä kahden taulukon välisen suhteen luonnissa viite-eheyttä. Yksi-moneen-suhteen "yksi"-puolelle luodaan tyhjä rivi, jota käytetään liittyvän taulukon kaikkien täsmäämättömien rivien käsittelyyn. Tämä rivi toimii SQL-ulkoliitoksena.

Ryhmitellessäsi pivot-taulukossa tietoja suhteen "yksi"-puolen mukaan kaikki suhteen "moneen"-puolen täsmäämättömät tiedot ryhmitellään yhteen ja sisällytetään summiin tyhjän riviotsikon kanssa. Tyhjä otsikko vastaa karkeasti tuntematonta jäsentä.

Tietoja tuntemattomasta jäsenestä

Tuntemattoman jäsenen käsite on todennäköisesti sinulle tuttu, jos olet käyttänyt moniulotteisia tietokantajärjestelmiä, kuten SQL Server Analysis Servicesiä. Jos termi on sinulle uusi, seuraavassa esimerkissä kerrotaan, mikä tuntematon jäsen on ja miten se vaikuttaa laskutoimituksiin.

Oletetaan, että olet luomassa laskelman, joka laskee yhteen kunkin myymälän kuukausittainen myynti, mutta Sales -taulukon sarakkeen puuttuu liikkeen nimi arvo. Koska, tallentaa ja Myynnin taulukot yhdistää liikkeen nimi, mitä mielestäsi kaavan tapahtuu? Miten pivot-taulukon pitäisi ryhmän tai näyttää myyntiluvut, jotka eivät ole aiemmin Store?

Tämä on yleinen ongelma tietovarastoissa. Niissä suurten tietotaulukkojen on loogisesti liityttävä dimensiotaulukkoihin, jotka sisältävät tietoja myymälöistä, alueista ja muista faktojen luokitteluun ja laskemiseen käytettävistä määritteistä. Ongelma ratkaistaan niin, että kaikki uudet faktat, jotka eivät liity olemassa olevaan entiteettiin, määritetään väliaikaisesti tuntemattomaan jäseneen. Tämän vuoksi entiteettiin liittymättömät faktat näkyvät pivot-taulukossa ryhmiteltyinä tyhjän otsikon alle.

Tyhjien arvojen ja tyhjän rivin käsittely

Tyhjät arvot poikkeavat tyhjät rivit, jotka on lisätty sopimaan Tuntematon jäsen. Tyhjä arvo on erityinen arvo, joka edustavaa Null-arvoja, tyhjien merkkijonojen ja muut puuttuvat arvot. Saat lisätietoja tyhjä arvo sekä muut DAX-tietotyypit tietotyypit tietomalleissa.

Sivun alkuun

Huomautus: Konekäännöksestä ilmoittava vastuusvapauslauseke: Tämä artikkeli on käännetty tietokonejärjestelmällä, eikä kieliasiantuntija ole muokannut sitä. Microsoft tarjoaa nämä konekäännökset avuksi muille kuin englantia puhuville käyttäjille, jotta he saavat lisätietoja Microsoftin tuotteista, palveluista ja tekniikoista. Koska artikkeli on koneellisesti käännetty, se saattaa sisältää sanasto-, lauseoppi- ja kielioppivirheitä.

Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×