DAX-i valemite kontekst

Märkus.: Soovime pakkuda teie keeles kõige ajakohasemat spikrisisu niipea kui võimalik. See leht on tõlgitud automaatselt ja sellel võib leiduda grammatikavigu või ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Palun märkige selle lehe allservas, kas sellest teabest oli teile kasu või mitte. Soovi korral saab ingliskeelset artiklit lugeda siit.

Konteksti võimaldab teil teha dünaamilise analüüsi tulemuste valemis saate vahetada praeguse rea või lahtri valiku ja ka seotud andmed. Konteksti mõistmine ja kontekstis tõhus kasutamine on väga oluline suure jõudlusega valemeid, dünaamiline analüüsi ja valemite tõrkeotsing.

Selles jaotises määratleb kontekstis erinevat tüüpi: reakontekst, päringukontekst ja Filtrikontekst. Seda selgitatakse, kuidas kontekstis hinnatakse valemid arvutatud veergudes ja PivotTable-liigendtabelites.

Käesoleva artikli viimases osas on toodud lingid üksikasjalike näidete, mis illustreerivad, kuidas valemite tulemused kontekstist olenevalt muutuvad.

Konteksti mõistmine

Valemite Power Pivot võib mõjutada PivotTable-liigendtabelis rakendatud filtrid, tabelitevahelisi seoseid ja valemites kasutatud filtrid. Kontekst on, mis võimaldab teha dünaamiline analüüs. Konteksti mõistmine on oluline ja valemite tõrkeotsing.

Erinevat tüüpi kontekstis on: reakontekst, päringukontekst ja Filtrikontekst.

Reakontekst saab kirjeldada kui "praegune rida." Kui olete loonud arvutatud veeru, rea kontekst koosneb iga üksiku rea väärtused ja väärtused veergudest, mis on seotud praeguse rea. Samuti on mõned funktsioonid (varem ja esimesed), mis praeguse rea väärtuse toomine ja seejärel kasutage seda väärtust ajal toimingu üle terve tabeli.

Päringukontekst viitab andmete, mis on peidetult loodud PivotTable-liigendtabeli, olenevalt rea- ja veerupäiste iga lahtri jaoks alamhulk.

Filtrikontekst on lubatud iga veeru alusel filtreerimine piiranguid, mis on rakendatud rida ja mis on määratletud filtri väljendid valem väärtuste.

Lehe algusse

Reakontekst

Kui loote valemi arvutatud veergu, sisaldab selle valemi rea kontekst praeguse rea kõigi veergude olevad väärtused. Kui tabel on seotud teises tabelis, sisu sisaldab ka kõik väärtused selle tabeli, mis on seotud praeguse rea.

Näiteks Oletame, et loote arvutatud veeru, = [veokulu] + [maksud]

, mis liidab kaks veergu samas tabelis. See valem toimib nagu Exceli tabelis, valemid, mis automaatselt viidata samal real olevad väärtused. Pange tähele, et tabelite erinevate vahemikest: ei saa viidata väärtus enne praeguse rea rida, kasutades märke vahemik ja ei saa viidata lahtri või tabeli mis tahes suvalise ühe väärtuse. Peab alati töötada tabeleid ja veerge.

Reakontekst järgib automaatselt määrata, millised seotud tabelite read on praeguse reaga seotud tabelite vahel seoseid.

Näiteks järgmine valem kasutab funktsiooni seotud tuua maksuvabastuse väärtuse alusel piirkond, mis saadeti tellimuse seotud tabeli. Maksuvabastuse väärtus määratakse, kasutades väärtuse piirkonna praeguse tabeli, piirkond seotud tabeli otsimine ja seejärel saada määr piirkonnas seotud tabelist.

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

Seda valemit saab praegune piirkond, määr lihtsalt tabelist piirkond. Pole vaja teada või määrata klahvi, mis loob tabelid.

Mitme rea kontekst

Lisaks sisaldab Dax-i funktsioonid, mis itereerima arvutused tabeli kohale. Nende funktsioonide võib olla mitu praeguse rea ja praeguse rea kontekstis. Programmeerimise tingimustel, saate luua valemeid, mis on sisemine ja välimine tsükkel üle recurse.

Oletame näiteks, et teie töövihik sisaldab toodete tabeliks ja tabeli Müük . Võib soovite läbida müügi terve tabel, mis on seotud tooted tehingute täis, ja otsige üles iga toote puhul tellitud suurim kogus.

Klõpsake Excelis arvutuses nõuab sarja vahe kokkuvõtted, mis oleks uuesti koostada, kui andmed on muutunud. Kui teil on Exceli power kasutaja, mida võib-olla teeks tööd massiivivalemeid koostada. Teise võimalusena võiks kirjutada relatsiooniandmebaasist pesastatud subselects.

Kuid Dax-i abil saate koostada ühe valemi, mis tagastab õige väärtuse ja tulemusi värskendatakse automaatselt iga kord, kui tabelitesse andmeid lisate.

=MAXX(filter(Sales,[ProdKey]=EARLIER([ProdKey])),sales[OrderQty])

See valem üksikasjaliku selgituse leiate EARLIER.

Lühidalt, funktsioon EARLIER talletab eelnenud praeguse toimingu töös rea kontekstis. At alati funktsiooni talletab mälu kahe komplekti kontekstis: üks kogum kontekstis tähistab valemi sisemine tsükkel praegune rida ja teise rea kontekstis valemi välistsükli praegune rida. Dax-i automaatselt RSS-kanalid väärtusi vahemikus kaks silmuseid nii, et saate luua keerukate agregaadid.

Lehe algusse

Päringukontekst

Päringukontekst viitab andmete, mis on peidetult valemi alamhulk. Kui PivotTable-liigendtabelis lahtrisse langeb mõõt või muude Väärtusevälja, uurib Power Pivot mootori rea- ja veerupäiste, tükeldid ja Aruandefiltrid määratlemiseks kontekstis. Seejärel Power Pivot muudab iga lahtri PivotTable-liigendtabelis asustamiseks vajalikud arvutused. Andmete puhul on päringukontekst iga lahtri jaoks.

Kuna kontekstis võib muutuda sõltuvalt sellest, kuhu paigutada valem, muuta sõltuvalt sellest, kas kasutate valem PivotTable-liigendtabelis mitme rühmitustega ja filtrid, või arvutatud veergu, pole filtrite ja minimaalsete kontekstis ka valemi tulemi.

Näiteks Oletame, et loote selle lihtsa valemi, mis summeerib väärtused veerus kasum table:=SUM('Sales'[Profit]) Müük .

Kui kasutate arvutatud veerg tabelis Sales seda valemit, valemi tulemid on sama terve tabel, kuna valem päringu kontekst on alati tabelis Müük kogu andmekogumit. Tulemid on kasum kõigi piirkondade, toodete, kõigi aastate, jne.

Siiski tavaliselt te ei soovi sama tulemuse sadu korda näha, kuid selle asemel soovite kasum kindla aasta, kindla riigi või piirkonna, mõne kindla toote või kombinatsioonist need ja seejärel üldkokkuvõtte.

PivotTable-liigendtabelis on lihtne muuta kontekstis lisamise või eemaldamise veergude ja ridade päised ja lisamise või eemaldamise tükeldid. Nagu üks ülaltoodud mõõt valemi loomine ja seejärel pukseerige see PivotTable-liigendtabel. Iga kord, kui lisate PivotTable-liigendtabeli päiseid, saate muuta päringu konteksti, milles hinnatakse mõõtmise. Viilutamine ja filtreerimise toimingute mõjutada ka konteksti. Seetõttu hinnatakse iga lahtri jaoks eri päringu kontekstis sama valemi, kasutatakse PivotTable-liigendtabelis.

Lehe algusse

Filtrikontekst

Filtrikontekst on lisatud, kui määrate lubatud tabeli või veeru, kasutades valemi argumentide väärtuste filtreerimine piirangud. Filtrikontekst kehtib peal teiste kontekstides, nt reakontekst või päringukontekst.

Näiteks PivotTable-liigendtabeli arvutatakse iga lahtri, rea- ja veerupäiste põhjal, päringukontekst eelmises jaotises kirjeldatud selle väärtused. Siiski mõõdud või arvutatud veerud, mida saate lisada PivotTable-liigendtabeli, saate määrata filtriavaldiste määrata väärtused, mida kasutatakse valem. Võite ka valikuliselt tühjendada kindla veergudes olevate filtrite.

Valemites filtrite loomise kohta leiate lisateavet teemast Filtrifunktsioonid.

Näidet, kuidas saate luua üldkokkuvõtete, vt on Kõikfiltrid tühjendada.

Näiteid, kuidas valikuliseks eemaldamiseks ja rakendamiseks valemites filtrite, leiate lehelt Funktsioon ALLEXCEPT.

Seetõttu tuleb läbi vaadata mõõdud või PivotTable-liigendtabeli valemid, et olete teadlikud Filtrikontekst valemite tulemuste tõlgendamisel määratlemine.

Lehe algusse

Valemite konteksti määramine

Kui loote valemi, Power Pivot Exceli kontrollib kõigepealt üldine süntaks ja seejärel vaatab nimed veerud ja esitate suhtes võimalike veergude ja tabelite praeguses kontekstis. Kui Power Pivot ei leia veergude ja tabelite määratud valemit, saate tõrke.

Määratakse kontekst, nagu on kirjeldatud eelnevate jaotiste töövihik, mis tahes seoseid tabelite ja mis on rakendatud filtreid saadaval tabelite abil.

Näiteks kui olete importinud vaid mõned andmed uude tabelisse ja on rakendatud filtreid, terve kogumi tabelis veerud on osa praeguses kontekstis. Kui teil on mitme tabeli, mis on seotud seosed ja te töötate PivotTable-liigendtabeli, mis on filtreeritud, lisades veerupäiseid ja tükelditele, konteksti sisaldab seotud tabelites ja andmete filtreid.

Kontekst on võimas mõistet, mida saab ka teha raske valemite tõrkeotsing. Soovitame alustada lihtsamate valemite ja seoste kontekstis toimimise vaatamiseks ja hakake katsetamiset lihtsamate valemite PivotTable-liigendtabelites. Järgmine jaotis pakub ka näited sellest, kuidas valemeid kasutada erinevat tüüpi kontekstis dünaamiliselt tulemeid.

Valemite konteksti näited

  • SEOTUD funktsioon laieneb praeguse reaga seotud veeru väärtused kaasamiseks kontekstis. See võimaldab teil teha otsinguid. Selles teemas näide filtreerimine ja rea kontekstis suhtlus.

  • Funktsioon FILTER võimaldab teil määrata ridu lisada praeguses kontekstis. Selles teemas on näited illustreerivad ka Manusta muud funktsioonid, mis sooritavad agregaadid filtrid.

  • Funktsiooni kõik määrab valemisiseste kontekstis. Saate alistada filtrid, mis on rakendatud päringukontekst tulemusena.

  • Funktsioon ALLEXCEPT võimaldab teil eemaldada kõik filtrid peale ühe teie määratud. Mõlemad teemad hõlmavad näited, mis juhatavad teid läbi valemite koostamise ja keerukate konteksti mõistmine.

  • Funktsiooni EARLIER ja VARASEIM funktsioonid võimaldavad pidev tabelite kaudu arvutused, täites ajal viitamine väärtus on sisemine tsükkel kaudu. Kui olete tuttav mõiste kordumise ja sisemine ja välimine silmuseid, hindate power, mis pakuvad funktsioonide EARLIER ja esimesed. Kui olete need kontseptsioonid uus, tuleks juhiste hoolikalt, et näha, kuidas sisemine ja välimine kontekstides kasutatakse arvutuste näites.

Lehe algusse

Viitamistervikluse jõustamine

Selles jaotises kirjeldatakse teatud täpsemate mõisted, mis on seotud puuduvate väärtuste Power Pivot tabeli, mis on ühendatud seosed. Selles jaotises võib olla kasulik, kui teil on mitme tabeli ja keerukate valemite töövihikute ja soovite abi mõista tulemused.

Kui olete uus relatsiooniandmete kontseptsioonid, soovitame teil lugeda esmalt sissejuhatavat teemat Seoste ülevaade.

Viitamisterviklus ja Power Pivot seosed

Power Pivot ei nõua viitamisterviklust jõustada määratlemiseks kehtivat seost kahe tabeli vahel. Selle asemel tühi rida luuakse iga üks-mitmele seose "üks" lõppu ja seda kasutatakse käsitlema seotud tabeli ridade sobimatut kõik. Tõhus käitub SQL-i väline ühendamine.

PivotTable-liigendtabelites, kui andmete Rühmitusalus seose ühele küljele vasteta seose poolel palju andmeid on rühmitatud ja kaasatakse kogusummad abil tühja rea pealkirja. Tühi pealkiri on umbes võrdne "Tundmatu liikme."

Tundmatu liikme mõistmine

Tundmatu liikme mõiste on teile tuttavad, kui olete töötanud näiteks SQL Serveri analüüsiteenuste mitmedimensiooniliste andmebaasi süsteemidega. Kui tähtaeg on teile uus, selgitatakse järgmises näites, mis tundmatu liikme on ja kuidas see mõjutab arvutused.

Oletame, et loote arvutus, mis summeerib iga poe igakuine müügi, kuid poe nimi väärtus on puudu müügi tabeli veerus. Poe nimi on ühendatud tabelite talletada ja Müük , et mida ootate valemit juhtuda? Kuidas peaks PivotTable-liigendtabelis rühmitamine ja kuvamine müüginäitajad, mis pole seotud mõne olemasoleva poe?

See probleem on levinud andmete laos, kus suurte tabelite fact andmete peab olema loogiliselt seotud dimensiooni tabelid, mis sisaldavad teavet salvestab, piirkondade ja muud atribuudid, mis kasutavad kategoriseerimine ja faktide arvutamine. Probleemi lahendamiseks määratud uut teavet, mis ei nõua olemasoleva üksuse ajutiselt tundmatu liige. Sellepärast, et mitteseotud asjaolusid kuvatakse tühi pealkirja all PivotTable-liigendtabelis rühmitatud.

Tühjad väärtused vs tühi rida käsitlemine

Tühjad read, mis lisatakse mahutamiseks tundmatu liikme erinevad tühjad väärtused. Tühi väärtus on teisiti väärtus, mis tühiväärtusi, tühjade stringide ja muude puuduvate väärtuste väljendamiseks kasutatakse. Tühi väärtus, samuti muud Dax-i andmetüübid kohta leiate lisateavet teemast andmetüübid andmemudelites.

Lehe algusse

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×