Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

Kontekstas leidžia atlikti dinaminę analizę, kurioje formulės rezultatai gali pasikeisti, kad atspindėtų dabartinę eilutę arba langelio pasirinkimą ir visus susijusius duomenis. Labai svarbu suprasti kontekstą ir efektyviai naudoti kontekstą kuriant našias formules, dinamines analizes ir formulių trikčių diagnostiką.

Šiame skyriuje apibrėžiami skirtingi konteksto tipai: eilutės kontekstas, užklausos kontekstas ir filtravimo kontekstas. Jame paaiškinama, kaip vertinamas formulių kontekstas apskaičiuojatuose stulpeliuose ir "PivotTable".

Paskutinėje šio straipsnio dalyje pateikiami saitai su išsamiais pavyzdžiais, kurie iliustruoja, kaip formulių rezultatai skiriasi pagal kontekstą.

Konteksto supratimas

Formules Power Pivot "PivotTable" taikomi filtrai, lentelių ryšiai ir formulėse naudojami filtrai. Kontekstas leidžia atlikti dinaminę analizę. Konteksto supratimas svarbus kuriant ir šalinant formulių triktis.

Yra skirtingų tipų kontekstas: eilutės kontekstas, užklausos kontekstas ir filtravimo kontekstas.

Eilutės kontekstas gali būti laikomas "dabartine eilute". Jei sukūrėte apskaičiuojamąjį stulpelį, eilutės kontekstą sudaro reikšmės kiekvienoje atskiroje eilutėje ir stulpelių reikšmės, susijusios su dabartine eilute. Taip pat yra keletas funkcijų (EARLIER ir EARLIEST), kurios gauna reikšmę iš dabartinės eilutės ir naudoja šią reikšmę, kai atlieka operaciją visoje lentelėje.

Užklausos kontekstas nurodo duomenų poaiį, kuris netiesiogiai sukuriamas kiekvienam "PivotTable" langeliui, atsižvelgiant į eilučių ir stulpelių antraštes.

Filtro kontekstas yra kiekviename stulpelyje leidžiamų reikšmių rinkinys, pagrįstas filtro apribojimais, kurie buvo taikomi eilutei arba apibrėžti pagal formulės filtro reiškinius.

Puslapio viršus

Eilutės kontekstas

Jei kuriate formulę apskaičiuotame stulpelyje, tos formulės eilutės kontekste yra visų dabartinės eilutės stulpelių reikšmės. Jei lentelė yra susijusi su kita lentele, turinyje taip pat yra visos tos kitos lentelės reikšmės, susijusios su dabartine eilute.

Pavyzdžiui, tarkime, kad sukuriate apskaičiuojamąjį stulpelį, =[Frachtas] + [Mokesčiai],

, kuri sudės du stulpelius iš tos pačios lentelės. Ši formulė veikia kaip formulės Excel, kurios automatiškai nurodo tos pačios eilutės reikšmes. Atkreipkite dėmesį, kad lentelės skiriasi nuo diapazonų: negalite nurodyti reikšmės iš eilutės prieš dabartinę eilutę naudodami diapazono žymą ir negalite nurodyti jokios savavališkos vienos reikšmės lentelėje ar langelyje. Visada turite dirbti su lentelėmis ir stulpeliais.

Eilučių kontekstas automatiškai seka ryšius tarp lentelių, kad nustatytų, kurios susijusių lentelių eilutės yra susietos su dabartine eilute.

Pvz., ši formulė naudoja funkciją RELATED, kad išsiųstų mokesčio reikšmę iš susijusios lentelės, atsižvelgiant į regioną, į kurį buvo išsiųstas užsakymas. Mokesčio reikšmė nustatoma naudojant dabartinės lentelės regiono reikšmę, ieškont susijusios lentelės regiono ir gaunant to regiono mokesčio tarifą iš susijusios lentelės.

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

Ši formulė tiesiog gauna dabartinio regiono mokesčio tarifą iš lentelės Regionas. Jums nereikia žinoti arba nurodyti rakto, kuris sujungia lenteles.

Kelių eilučių kontekstas

Be to, DAX apima funkcijas, kurios iterate calculations over a table. Šios funkcijos gali turėti kelias dabartines eilutes ir dabartinės eilutės kontekstus. Programavimo terminais galite kurti formules, kurios pasikartoja per vidinį ir išorinį ciklą.

Pavyzdžiui, tarkime, kad darbaknygėje yra lentelė Produktai ir Lentelė Pardavimas. Galbūt norėsite pereiti per visą pardavimo lentelę, kurioje yra daug operacijų, susijusių su keliais produktais, ir rasti didžiausią kiekvieno produkto užsakymo kiekį bet kurioje operacijoje.

Šiame Excel skaičiavimas reikalauja tarpinių suvestinių, kurios turėtų būti perstatomos pasikeitus duomenims. Jei esate "Excel vartotojas, gali būti, kad galėsite kurti masyvo formules, kurios galėtų atlikti užduotį. Be to, sąrašo duomenų bazėje galite rašyti įdėtąsias antrinius žymėjimą.

Tačiau naudodami DAX galite sukurti vieną formulę, kuri grąžina teisingą reikšmę, o rezultatai automatiškai atnaujinami kiekvieną kartą, kai į lenteles įtraukiate duomenų.

=MAXX(FILTER(Pardavimas,[ProdKey]=EARLIER([ProdKey])),Pardavimas[Užsakymo_kaina])

Išsamų šios formulės paaiškinimą žr. anksčiau.

Trumpai tariant, funkcija EARLIER saugo eilutės kontekstą nuo operacijos, kuri buvo prieš dabartinę operaciją. Funkcija visada saugo atmintyje du konteksto rinkinius: vienas konteksto rinkinys atitinka dabartinę formulės vidinio ciklo eilutę, o kitas konteksto rinkinys nurodo dabartinę formulės išorinio ciklo eilutę. DAX automatiškai perteikia reikšmes tarp dviejų ciklų, kad būtų galima kurti sudėtingus agregavimo duomenis.

Puslapio viršus

Užklausos kontekstas

Užklausos kontekstas nurodo duomenų, kurie netiesiogiai nuskaitomi pagal formulę, poaiį. Kai į "PivotTable" langelį įmesite matą arba kitą reikšmės lauką, " Power Pivot " modulis patikrina eilučių ir stulpelių antraštes, duomenų filtrus ir ataskaitos filtrus, kad nustatytų kontekstą. Tada Power Pivot reikiamus skaičiavimus, kad užpildytų kiekvieną "PivotTable" langelį. Nuskaitomas duomenų rinkinys yra kiekvieno langelio užklausos kontekstas.

Kadangi kontekstas gali pasikeisti, atsižvelgiant į tai, kur įdėsite formulę, formulės rezultatai taip pat kinta atsižvelgiant į tai, ar naudojate formulę "PivotTable" su daugeliu grupavimų ir filtrų, ar apskaičiuotame stulpelyje be filtrų ir minimalių kontekstų.

Tarkime, kad sukuriate šią paprastą formulę, kuri susumuos reikšmes lentelės Pardavimas stulpelyje Pelnas:=SUM('Pardavimas'[Pelnas]).

Jei šią formulę naudojate lentelės Pardavimas apskaičiuotame stulpelyje, formulės rezultatai bus tokie patys visoje lentelėje, nes formulės užklausos kontekstas visada yra visas lentelės Pardavimas duomenų rinkinys. Jūsų rezultatai bus pelningi visuose regionuose, visuose produktuose, visus metus ir t. t.

Tačiau paprastai nenorite matyti to paties rezultato šimtus kartų, bet vietoj to norite gauti pelną už konkrečius metus, konkrečią šalį ar regioną, konkretų produktą ar jų derinį, tada gauti bendrą sumą.

"PivotTable" lengva keisti kontekstą įtraukiant arba pašalinant stulpelių ir eilučių antraštes bei įtraukiant arba pašalinant duomenų filtrus. Galite sukurti formulę, pvz., aukščiau pateiktą formulę, matu, tada ją įmeskite į "PivotTable". Kiekvieną kartą, kai į "PivotTable" įtraukiate stulpelių arba eilučių antraštes, pakeičiate užklausos kontekstą, kuriame vertinamas matas. Slicing and filtering operations also affect context. Todėl ta pati formulė, naudojama "PivotTable", vertinama pagal skirtingą kiekvieno langelio užklausos kontekstą.

Puslapio viršus

Filtruoti kontekstą

Filtro kontekstas įtraukiamas, kai stulpelyje arba lentelėje leidžiamų reikšmių rinkinio filtro apribojimus nurodote formulėje naudodami argumentus. Filtro kontekstas taikomas virš kitų kontekstų, pvz., eilutės konteksto arba užklausos konteksto.

Pvz., "PivotTable" apskaičiuoja kiekvieno langelio reikšmes pagal eilučių ir stulpelių antraštes, kaip aprašyta ankstesniame užklausos konteksto skyriuje. Tačiau į "PivotTable" įtraukiatuose laukuose arba apskaičiuotuose stulpeliuose galite nurodyti filtro reiškinius, kad valdydami formulės naudojamas reikšmes. Taip pat galite pasirinktinai išvalyti filtrus konkrečiuose stulpeliuose.

Daugiau informacijos apie tai, kaip kurti filtrus formulėse, žr. funkcijų filtravimas.

Pavyzdžiui, kaip galima išvalyti filtrus, kad būtų galima kurti bendras sumas, žr. all.

Pavyzdžių, kaip pasirinktinai išvalyti ir taikyti filtrus formulėse, žr. funkciją ALLEXCEPT.

Todėl turite peržiūrėti "PivotTable" naudojamų priemonių ar formulių apibrėžimą, kad suprasdami formulių rezultatus žinote apie filtro kontekstą.

Puslapio viršus

Konteksto nustatymas formulėse

Kai kuriate formulę, Power Pivot, Excel pirmiausia tikrina bendrąją sintaksę, o tada tikrina stulpelių ir lentelių pavadinimus, kuriuos pateikiate pagal galimus stulpelius ir lenteles dabartiniame kontekste. Jei Power Pivot stulpelių ir lentelių, nurodytų formulėje, gausite klaidos pranešimą.

Kontekstas nustatomas, kaip aprašyta ankstesniuose skyriuose, naudojant galimas darbaknygės lenteles, bet kokius ryšius tarp lentelių ir visus taikyus filtrus.

Pavyzdžiui, jei ką tik importavote kai kuriuos duomenis į naują lentelę ir netaikėte jokių filtrų, visas lentelės stulpelių rinkinys yra dabartinio konteksto dalis. Jei turite kelias lenteles, susietas pagal ryšius ir dirbate "PivotTable", kuri buvo filtruojama įtraukiant stulpelių antraštes ir naudojant duomenų filtrus, kontekstas apima susijusias lenteles ir duomenų filtrus.

Kontekstas yra galinga sąvoka, dėl kurios taip pat gali būti sunku šalinti formulių triktis. Rekomenduojame pradėti nuo paprastų formulių ir ryšių, kad pamatytumėte, kaip veikia kontekstas, tada pradėti eksperimentuoti su paprastomis formulėmis "PivotTable". Šiame skyriuje taip pat pateikiami keli pavyzdžiai, kaip formulės naudoja skirtingų tipų kontekstą, kad dinamiškai grąžintų rezultatus.

Konteksto formulėse pavyzdžiai

  • Funkcija RELATED išplečia dabartinės eilutės kontekstą, kad būtų įtrauktos reikšmės į susijusį stulpelį. Tai leidžia atlikti peržvalgas. Šios temos pavyzdys iliustruoja filtravimo ir eilučių konteksto sąveiką.

  • Funkcija FILTER leidžia nurodyti eilutes, kurios bus įtrauktos į dabartinį kontekstą. Šioje temoje pateikti pavyzdžiai taip pat parodo, kaip įdėti filtrus į kitas agregavimo funkcijas.

  • Funkcija ALL nustato kontekstą formulėje. Galite ją naudoti norėdami perrašyti filtrus, kurie taikomi užklausos konteksto metu.

  • Funkcija ALLEXCEPT leidžia pašalinti visus filtrus, išskyrus nurodytus. Abi temos apima pavyzdžius, kurie jums leidžia kurti formules ir suprasti sudėtingus kontekstus.

  • Funkcijos EARLIER ir EARLIEST leidžia pereiti per lenteles atliekant skaičiavimus, nurodant reikšmę iš vidinio ciklo. Jei esate susipažinę su rekursijos sąvoka ir vidiniais bei išoriniais ciklais, įvertinsite funkciją, kurią suteikia funkcijos EARLIER ir EARLIEST. Jei esate naujas šių sąvokų pavyzdys, turėtumėte atidžiai atlikti pavyzdžio veiksmus, kad pamatytumėte, kaip skaičiuojant naudojami vidiniai ir išoriniai kontekstai.

Puslapio viršus

Nuorodų vientisumas

Šiame skyriuje aptariamos kai kurios išplėstinės sąvokos, susijusios su trūkstamomis reikšmėmis Power Pivot lentelėse, kurios yra sujungtos ryšiais. Ši sekcija gali būti naudinga, jei turite darbaknygių su keliomis lentelėmis ir sudėtingomis formulėmis ir norite padėti suprasti rezultatus.

Jei esate naujas sąvadinių duomenų sąvokų dalykas, rekomenduojame pirmiausia perskaityti įvadinę temą Ryšių apžvalga.

Nuorodų vientisumas ir Power Pivot ryšiai

Power Pivot nereikia įgalinti nuorodų vientisumo tarp dviejų lentelių, kad būtų apibrėžtas galiojantis ryšys. Vietoj to, kiekvieno ryšio "vienas su daugeliu" pabaigoje sukuriama tuščia eilutė ir naudojama visoms neatitinkančios eilutės iš susijusios lentelės apdoroti. Jis efektyviai veikia kaip SQL išorinis sujungimas.

Jei "PivotTable" grupuosite duomenis vienoje ryšio pusėje, bet kokie nesutampa duomenys, esantys daugelyje ryšio pusių, grupuojami ir bus įtraukti į sumas su tuščia eilutės antrašte. Tuščia antraštė maždaug atitinka "nežinomas narys".

Nežinomo nario supratimas

Nežinomo nario sąvoka tikriausiai jums žinoma, jei dirbote su kelių lygių duomenų bazių sistemomis, pvz., "SQL Server" analizės paslaugomis. Jei terminas jums naujas, toliau pateiktame pavyzdyje paaiškinama, kas yra nežinomas narys ir kaip jis veikia skaičiavimus.

Tarkime, kuriate skaičiavimą, kuris susaisto mėnesinį kiekvienos parduotuvės pardavimą, tačiau lentelės Pardavimas stulpelyje trūksta parduotuvės pavadinimo reikšmės. Atsižvelgiant į tai, kad "Store"ir "Sales" lentelės sujungtos pagal parduotuvės pavadinimą, ko tikitės formulėje? Kaip "PivotTable" grupė arba rodyti pardavimo skaičius, kurie nėra susiję su esama parduotuve?

Ši problema yra dažna duomenų saugyklose, kur didelės faktų duomenų lentelės turi būti logiškai susijusios su dimensijų lentelėmis, kuriose yra informacijos apie parduotuves, regionus ir kitus atributus, naudojamus skirstyti į kategorijas ir skaičiuoti faktus. Norėdami išspręsti šią problemą, visi nauji faktai, nesusiję su esamu objektu, laikinai priskiriami nežinomam nariui. Štai kodėl nesusiję faktai bus rodomi sugrupuoti "PivotTable" po tuščia antrašte.

Tuščių reikšmių ir tuščios eilutės apdorojimas

Tuščios reikšmės skiriasi nuo tuščių eilučių, kurios yra pridėtos, kad tilptų nežinomas narys. Tuščia reikšmė yra speciali reikšmė, naudojama neapibrėžtoms reikšmėms, tuščioms eilutėms ir kitoms trūkstamoms reikšmėms pateikti. Daugiau informacijos apie tuščią reikšmę ir kitus DAX duomenų tipus žr. Duomenų tipai duomenų modeliuose.

Puslapio viršus

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?
Paspaudus mygtuką Pateikti, jūsų atsiliepimai bus naudojami tobulinant „Microsoft“ produktus ir paslaugas. Jūsų IT administratorius galės rinkti šiuos duomenis. Privatumo patvirtinimas.

Dėkojame už jūsų atsiliepimą!

×