Kontekstas DAX formulėse

Pastaba: Norėtume jums kuo greičiau pateikti naujausią žinyno turinį jūsų kalba. Šis puslapis išverstas automatiškai, todėl gali būti gramatikos klaidų ar netikslumų. Mūsų tikslas – padaryti, kad šis turinys būtų jums naudingas. Gal galite šio puslapio apačioje mums pranešti, ar informacija buvo naudinga? Čia yra straipsnis anglų kalba, kuriuo galite pasinaudoti kaip patogia nuoroda.

Konteksto leidžia dinaminių analizę, formulės rezultatai pakeiskite atspindi dabartinės eilutės ar langelio žymėjimą ir taip pat visus susijusius duomenis. Konteksto supratimas ir veiksmingas kontekste yra labai svarbus, kurti efektyvias formules, dinaminių analize, ir trikčių diagnostika formulėse.

Šis skyrius apibrėžia skirtingi konteksto tipai: eilutės kontekstas, užklausos kontekstas ir filtro kontekstas. Čia paaiškinama, kaip kontekste vertinama pagal formules apskaičiuojamuosiuose stulpeliuose ir "PivotTable".

Paskutinėje šio straipsnio dalyje pateikiami saitai su išsamių pavyzdžių, kurie pademonstruoja, kaip formulių rezultatai kinta pagal kontekstą.

Konteksto supratimas

Formulėse Power Pivot gali turėti įtakos pritaikytas "PivotTable" filtrus, ryšius tarp lentelių ir formulių filtrų. Kontekstas yra tai, ką leidžia dinaminių analizei atlikti. Konteksto supratimas yra svarbus kūrimo ir trikčių diagnostikos formulės.

Yra skirtingi konteksto tipai: eilutės kontekstas, užklausos kontekstas ir filtro kontekstas.

Eilutės kontekstas gali būti laikomas "dabartinės eilutės." Jei sukūrėte apskaičiuojamąjį stulpelį, eilutės kontekstas sudaro kiekvieno atskiras eilutės reikšmes ir stulpelių, susijusių su dabartinės eilutės reikšmes. Taip pat yra kai kurių funkcijų (EARLIER ir EARLIEST), kad gauti reikšmę iš dabartinės eilutės ir įveskite reikšmę, atliekant veiksmą per visą lentelę.

Užklausos kontekstas nurodo netiesiogiai sukurto kiekvieno langelio "PivotTable", atsižvelgiant į tai, eilutės ir stulpelio antraštės duomenų pogrupis.

Filtro kontekstas yra kiekviename stulpelyje, pagal filtro apribojimų, buvo taikomi eilutę arba, apibrėžtus filtro išraiškų formulėje reikšmėmis.

Puslapio viršus

Eilutės kontekstas

Jei kuriate formulę į apskaičiuojamąjį stulpelį, eilutės kontekste, ši formulė yra dabartinės eilutės visų stulpelių reikšmes. Jei lentelėje yra susijusi su kitos lentelės, turinį, taip pat yra visas reikšmes iš kitos lentelės, susietos su dabartine eilute.

Pavyzdžiui, Tarkime, kad galite sukurti apskaičiuojamąjį stulpelį, = [gabenimo] + [mokesčio]

, kuris prideda kartu du stulpelius iš tos pačios lentelės. Ši formulė veikia panašiai kaip "Excel" lentelėje, formules, kurios automatiškai nurodyti reikšmes bei toje pačioje eilutėje. Atminkite, kad lentelės skiriasi nuo diapazonų: negali nurodyti reikšmę iš eilutės prieš dabartinę eilutę naudodami diapazono žymėjimas ir negali nurodyti bet savavališkai vieną reikšmę lentelėje arba langelį. Visada turi dirbti su lentelėmis ir stulpeliais.

Eilutės kontekstas automatiškai tikrina ryšius tarp lentelių, kad nustatytų, kurios eilutės susijusiose lentelėse yra susietos su dabartine eilute.

Pvz., formulę naudoja susijusi funkcija Norėdami iškviesti mokesčių reikšmę iš susijusios lentelės, pagal regioną, kad užsakymas buvo išsiųstas į. Mokesčių vertė nustatoma naudojant regione dabartinę reikšmę, žiūrint regiono susijusioje lentelėje, ir tada gauti mokesčio tarifas regiono iš susijusios lentelės.

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

Šią formulę tiesiog gauna dabartinę sritį, mokesčio tarifas iš regiono lentelėje. Jums reikia žinoti, ar nurodyti raktą, kuris jungiasi lenteles.

Kelių eilučių kontekstas

Be to, DAX yra funkcijų, kurios šiuo skaičiavimai naudojant lentelę. Šios funkcijos gali būti kelių dabartinės eilutės ir dabartinės eilutės kontekste. Programavimo kalbant, galite sukurti formules, kurios recurse yra vidinių ir išorinių linija.

Pavyzdžiui, Tarkime, kad jūsų darbaknygėje yra produktų lentelę ir pardavimo . Galbūt norite pereiti per visą pardavimo lentelės, kuri yra visas operacijas, kurioms reikia kelių produktų, ir rasti didžiausias kiekis užsakytai kiekvieno produkto operaciją.

Programoje "Excel", šis skaičiavimo reikia sekos tarpinis suvestinių, kuri turi būti atkurtas pakeitus duomenis. Jei esate power vartotojo "Excel", jūs galėsite sukurti masyvo formules, kuriuos turėtų atlikti darbą. Taip pat sąryšinės duomenų bazės galite rašyti įdėtosios subselects.

Tačiau naudojant DAX galima sudaryti vieną formulę, kuri pateikia tinkamą reikšmę ir automatiškai atnaujina rezultatus bet kuriuo metu, kai įtraukiate duomenis į lenteles.

=Maxx(Filter(sales,[ProdKey]=EARLIER([ProdKey])),sales[OrderQty])

Ši formulė išsamiai paaiškinta, ieškokite EARLIER.

Trumpai tariant, ankstesnės funkcija saugo eilutės kontekstas iš operacija, kurios prieš dabartinė operacija. At visą laiką, funkcija saugo atminties dviejų rinkinių kontekstą: vienas konteksto rinkinys yra šios eilutės vidinės linijos formulės, o kitą konteksto rinkinys yra šios eilutės išoriniame cikle formulės. DAX automatiškai informacijos santraukos reikšmes tarp dviejų linijų, kad galite kurti sudėtingas agreguotos reikšmės.

Puslapio viršus

Užklausos kontekstas

Užklausos kontekstas nurodo duomenis, kurie yra netiesiogiai gauta formulė pogrupį. Kai pašalinate priemonė ar kitos reikšmės laukas į "PivotTable" langelį, Power Pivot modulis tiria į eilučių ir stulpelių antraštes, duomenų filtrus ir ataskaitos filtrai, nustatyti kontekste. Tada Power Pivot daro reikiamus skaičiavimus užpildyti "PivotTable" langelio. Duomenų, kuri yra gauta yra užklausos kontekstas kiekvieno langelio.

Kadangi kontekste gali keistis atsižvelgiant į vietą, kurioje formulės, formulės rezultatą taip pat pakeisti atsižvelgiant į tai, ar naudojate formulės "PivotTable" su daug grupių ir filtrus, ar apskaičiuojamajame stulpelyje, be filtrų ir minimaliais kontekste.

Pavyzdžiui, Tarkime, kad sukūrėte šią paprastą formulę, kuri susumuoja stulpelio Profit , pardavimo table:=SUM('Sales'[Profit]) reikšmes.

Naudojant šią formulę į apskaičiuojamąjį stulpelį, pardavimo lentelę, formulės rezultatai bus toks pat tiek kuriant visa lentelė, nes užklausos kontekstas formulės visada lentelėje Sales visą duomenų rinkinį. Rezultatai turės pelno visų regionų, visi produktai, visus metus, ir taip toliau.

Paprastai, kurių nenorite matyti tą patį rezultatą šimtus kartų, tačiau vietoj to norite gauti pelno konkrečių metų, šalį arba regioną, konkretaus produkto arba galimybių derinys, ir tada gauti bendrąją sumą.

"PivotTable", yra lengva pakeisti kontekste, įtraukdami arba pašalindami stulpelio ir eilutės antraštės ir įtraukdami arba pašalindami duomenų filtrai. Galite kurti tokią formulę vieną virš, matas, ir tada padėkite jį į "PivotTable". Kiekvieną kartą, kai stulpelio ar eilutės antraščių įtraukimas į "PivotTable", galite pakeisti užklausos kontekste, kuriame vertinamas priemonė. Pjaustymo ir filtravimo operacijos taip pat turi įtakos kontekste. Todėl tą pačią formulę, naudojama "PivotTable", vertinamas kiekvieno langelio skirtingų užklausos kontekste.

Puslapio viršus

Filtro kontekstas

Filtro kontekstas įtraukiamas, kai nurodote filtro apribojimuose leidžiami stulpelį ar lentelę, naudodami formulės argumentų reikšmes. Filtro kontekstas taikoma virš kitų aplinkybių, pavyzdžiui, eilutės kontekstas arba užklausos kontekstas.

Pvz., "PivotTable" apskaičiuoja kiekvieno langelio pagal eilučių ir stulpelių antraštes, kaip aprašyta ankstesniame skyriuje užklausos kontekstas reikšmes. Tačiau per matų arba apskaičiuojamųjų stulpelių, kuriuos įtraukiate į "PivotTable", galite nurodyti filtro išraiškų kontroliuoti reikšmes, kurios naudojamos formulės. Taip pat pasirinktinai galite išvalyti tam tikrą stulpelių filtrus.

Daugiau informacijos apie tai, kaip kurti formules filtrus, ieškokite filtrų funkcijos.

Pavyzdys, kaip sukurti bendrosios sumos gali būti pašalinta filtrus, rasite mygtuką visus.

Pavyzdžių, kaip pasirinktinai išvalykite ir taikyti filtrus formules, rasite Funkcija ALLEXCEPT.

Todėl, turite peržiūrėti ir matai arba formulių apibrėžtį, naudojama "PivotTable", kad žinotumėte filtro kontekstą interpretuodami formulių rezultatus.

Puslapio viršus

Formulių konteksto nustatymas

Kai kuriate formulę, pirmiausia Power Pivot "Excel" tikrina bendra sintaksė ir tada jį patikrina vardus stulpelius ir lenteles, kurias nurodote nuo galimų stulpelių ir lentelių dabartiniame kontekste. Jei Power Pivot negali rasti stulpelių ir lentelių, nurodytas pagal formulę, gausite klaidos pranešimą.

Kontekstas nustatomas taip, kaip aprašyta ankstesniuose skyriuose, naudojant darbaknygę, ryšius tarp lentelių ir pritaikytus filtrus, taikomus lenteles.

Pvz., jei tik importuotą kai kuriuos duomenis į naują lentelę, o ne taikomų filtrų, visos lentelės stulpelių rinkinys yra dalis dabartiniame kontekste. Jei turite kelias lenteles, kurios susietos ryšių, ir jūs dirbate "PivotTable" filtruotus įtraukdami stulpelių antraštes ir naudodami duomenų filtrus, kontekste apima susijusių lentelių ir duomenų filtrų.

Kontekstas yra galinga koncepcija, galite taip pat sukurti sunku išspręsti formulių. Mes rekomenduojame, kad prasideda paprastas formules ir ryšiai, kad pamatytumėte, kaip veikia kontekstas ir pradėkite eksperimentuoti su paprastos formulės "PivotTable". Šiame skyriuje taip pat pateikiami keli pavyzdžiai, kaip formulės naudoja skirtingų tipų konteksto dinamiškai rezultatų.

Formulėse naudojamo konteksto pavyzdžiai

  • SUSIJUSI funkcija išplečia įtraukti reikšmes į susijęs stulpelis dabartinės eilutės kontekste. Tai leidžia atlikti peržvalgas. Šioje temoje pavyzdys filtravimo ir eilučių konteksto sąveiką.

  • Funkcija FILTER leidžia nurodyti eilučių įtraukti dabartiniame kontekste. Šioje temoje pavyzdžiai taip pat iliustruoja, kaip įdėti kitos funkcijos, kurias atlieka sudėtines funkcijas, kurios filtrus.

  • Funkcija ALL kontekstas formulę. Galite nepaisyti filtrus, taikomus kaip rezultatas užklausos kontekstas.

  • Funkcija ALLEXCEPT galite pašalinti visus filtrus, išskyrus vieną, kad jūs nurodote. Abi temos pavyzdžių, kurie jums statybos formules ir kas yra sudėtingas kontekstuose.

  • EARLIER ir anksčiau funkcijos leidžia jums linijos per lenteles, atliekant skaičiavimus, o nurodo reikšmę iš vidinio ciklo. Jei esate susipažinę su Rekursija sąvoką ir vidinių ir išorinių linijų, bus vertiname galia, kuri anksčiau ir EARLIEST funkcijos. Jei esate susipažinę su šias sąvokas, turėtų atlikite pavyzdyje atidžiai, kad pamatytumėte, kaip vidinių ir išorinių kontekstuose naudoti skaičiuojant.

Puslapio viršus

Nuorodų vientisumas

Šiame skyriuje aptariamos kai kurios išplėstinės sąvokos, susijusios su trūkstamas reikšmes Power Pivot lentelių ryšių prijungtos. Šiame skyriuje gali būti naudinga, jei turite "darbaknygių su" kelių lentelių ir sudėtingas formules ir reikia pagalbos suprasti rezultatus.

Jei esate susipažinę su sąryšinių duomenų sąvokos, mes rekomenduojame, kad pirmiausia perskaityti įvadinę temą Ryšių apžvalga.

Nuorodų vientisumas ir Power Pivot ryšiai

Power Pivot nereikia tarp dviejų lentelių, siekiant apibrėžti tinkamų ryšių pritaikyti nuorodų vientisumą. Vietoj to, tuščia eilutė yra sukurta "vienas" pabaigos kiekvieną vienas su daugeliu ryšį ir naudojamas apdoroti visus-atitikimo eilutės iš susijusios lentelės. Jis efektyviai veikia panašiai kaip SQL išorinis sujungimas.

"PivotTable", jei grupuojate duomenų ryšių, viena greta bet nesutampančių duomenų ryšys daugelis yra sugrupuoti ir bus įtrauktas į su antraštėmis tuščia eilutė sumos. Tuščia antraštė yra maždaug lygus "nežinomas narys."

Kas yra nežinomas narys

Nežinomas narys koncepcija tikriausiai susipažinę su jumis, jei dirbote su kelių dimensijų duomenų bazių sistemų, pvz., SQL serverio analizės tarnybų. Jei jums naują terminą, toliau pateiktame pavyzdyje paaiškinama, kas yra nežinomas narys ir kaip ji veikia skaičiavimus.

Tarkime, kad kuriate skaičiavimo, kuri susumuoja mėnesio pardavimų kiekvienos parduotuvės, tačiau pardavimo lentelės stulpelio trūksta saugyklos vardo reikšmę. Atsižvelgiant į tai, kad lenteles saugoti ir pardavimų prijungtų iš parduotuvės pavadinimą, ko jūs tikitės nutiks formulės? Kaip turėtų "PivotTable" grupavimas arba Rodyti pardavimo skaičiai, kurie nėra susiję su esamos parduotuvės?

Ši problema yra bendra vienas iš duomenų saugyklų, kur didelių lentelių duomenų, tai turi būti logiškai susiję dimensiją lentelių, kuriuose yra informacijos apie parduotuvės, regionų ir kitus atributus, kurie naudojami klasifikuoti ir skaičiavimo faktai. Norėdami išspręsti šią problemą, naujos faktai, kurie nesusiję su esamą objekto laikinai paskirti nežinomas narys. Štai kodėl nesusijusius faktus bus rodomas sugrupuotos "PivotTable" tuščia eilute.

Apdorojimo tuščių reikšmių vs tuščia eilutė

Tuščių reikšmių skiriasi nuo tuščių eilučių, į kurį įtraukiami pagal nežinomas narys. Tuščia reikšmė yra specialusis reikšmė, kuri naudojama neapibrėžtų reikšmių, tuščių eilučių ir kitų trūkstamų reikšmių. Daugiau informacijos apie tuščia reikšmė, taip pat kitų DAX duomenų tipai, ieškokite duomenų modelių duomenų tipai.

Puslapio viršus

Tobulinkite savo „Office“ įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×