DAX formulās lietotais konteksts

Piezīme.: Mēs vēlamies sniegt jums visjaunāko palīdzības saturu jūsu valodā, cik vien ātri to varam. Šī lapa ir tulkota automatizēti, un tajā var būt gramatiskas kļūdas un neprecizitātes. Mūsu nolūks ir šo saturu padarīt jums noderīgu. Vai lapas lejasdaļā varat mums pavēstīt, vai informācija jums noderēja? Ērtai atsaucei šeit ir šis raksts angļu valodā.

Konteksts ļauj veikt dinamisku analīzi, kur formulas rezultāti var mainīties, lai atspoguļotu pašreizējo rindu vai šūnu atlasi, kā arī visus saistītos datus. Izpratne par kontekstu un konteksta izmantošanu ir ļoti svarīga, veidojot augstas veiktspējas formulas, dinamisku analīzi un problēmu novēršanas problēmas formulās.

Šajā sadaļā ir definēti dažādi konteksta tipi: rindas konteksts, vaicājuma konteksts un filtra konteksts. Šajā rakstā ir paskaidrots, kā konteksts tiek novērtēts formulās aprēķinātajās kolonnās un rakurstabulās.

Šī raksta pēdējā daļā ir sniegtas saites uz detalizētiem piemēriem, kuros parādīts, kā formulu rezultāti mainās atbilstoši kontekstam.

Izpratne par kontekstu

Formulas pievienojumprogrammā Power Pivot var ietekmēt rakurstabulā lietotie filtri, pēc tabulu relācijām un formulās izmantotajiem filtriem. Konteksts ir tas, kas ļauj veikt dinamisku analīzi. Izpratnes konteksts ir svarīgs, veidojot un nosaucot formulas.

Ir dažādi konteksta tipi: rindas konteksts, vaicājuma konteksts un filtra konteksts.

Rindas konteksts var tikt uzskatīts par "pašreizējo rindu". Ja esat izveidojis aprēķināto kolonnu, rindas konteksts sastāv no vērtībām katrā atsevišķajā rindā un vērtības kolonnās, kas saistītas ar pašreizējo rindu. Ir arī dažas funkcijas (agrākās un agrākās), kas iegūst vērtību no pašreizējās rindas un pēc tam izmanto šo vērtību, veicot darbību visā tabulā.

Vaicājuma konteksts attiecas uz datu apakškopu, kas ir netieši izveidota katrai rakurstabulas šūnai, atkarībā no rindu un kolonnu virsrakstiem.

Filtra konteksts ir katrai kolonnai atļauto vērtību kopa, ņemot vērā filtra ierobežojumus, kas tika lietoti rindā vai tiek definēti, izmantojot filtra izteiksmes formulā.

Uz lapas sākumu

Rindas konteksts

Ja aprēķinātajā kolonnā izveidojat formulu, šīs formulas rindas kontekstā ir iekļautas vērtības no visām pašreizējā rindā esošajām kolonnām. Ja tabula ir saistīta ar citu tabulu, saturā ir ietvertas arī visas vērtības no šīs citas tabulas, kas saistītas ar pašreizējo rindu.

Piemēram, pieņemsim, ka izveidojat aprēķināto kolonnu, = [Freight] + [nodoklis],

, kas saskaita kopā divas vienas tabulas kolonnas. Šī formula darbojas kā formulas Excel tabulā, kas automātiski atsaucas uz vērtībām no vienas rindas. Ņemiet vērā, ka tabulas ir atšķirīgas no diapazoniem: nevar atsaukties uz vērtību no rindas pirms pašreizējās rindas, izmantojot diapazona apzīmējumu, un jūs nevarat atsaukties uz patvaļīgu vienu vērtību tabulā vai šūnā. Vienmēr ir jāveic darbs ar tabulām un kolonnām.

Rindas konteksts automātiski seko tabulu relācijām, lai noteiktu, kuras rindas saistītajās tabulās ir saistītas ar pašreizējo rindu.

Piemēram, tālāk redzamajā formulā ir izmantota saistītā funkcija, lai ienestu nodokļu vērtību no saistītās tabulas, ņemot vērā reģionu, uz kuru pasūtījums tika nosūtīts. Nodokļu vērtība tiek noteikta, izmantojot pašreizējās tabulas reģiona vērtību, uzmeklējot saistīto tabulu reģionu un pēc tam nomainot attiecīgā reģiona nodokļu likmi no saistītās tabulas.

= [Freight] + RELATED (' reģions ' [TaxRate])

Šī formula tikai iegūst pašreizējā reģiona nodokļu likmi no tabulas reģions. Jums nav jāzina vai jānorāda atslēga, kas savieno tabulas.

Vairāku rindu konteksts

Turklāt DAX ir iekļautas funkcijas, kas atkārtojas, veicot aprēķinus tabulā. Šīm funkcijām var būt vairākas pašreizējās rindas un pašreizējā rindas konteksts. Programmēšanas terminos varat izveidot formulas, kas atlādējams iekšējā un ārējā cilpā.

Piemēram, ja darbgrāmatā ir tabula Products un pārdošanas tabula. Iespējams, vēlēsities veikt visu pārdošanas tabulu, kas ir pilna ar darījumiem, kas saistīti ar vairākiem produktiem, un katram atsevišķam darījumam katram produktam ir jāatrod lielākais daudzums.

Programmā Excel šim aprēķinam ir nepieciešamas starpposma kopsavilkumu sērijas, kas ir jāpārveido, ja dati ir mainīti. Ja esat programmas Excel lietotājs, iespējams, varēsit izveidot masīva formulas, kas paveiktu darbu. Varat arī relāciju datu bāzē rakstīt ligzdotās apakšatlases.

Taču, izmantojot DAX, varat izveidot vienu formulu, kas atgriež pareizo vērtību, un rezultāti tiek automātiski atjaunināti ikreiz, kad tabulai pievienojat datus.

= MAXX (filtrs (pārdošana, [ProdKey] = vecākas ([ProdKey])), pārdošana [OrderQty])

Detalizētu informāciju par šo formulu skatiet iepriekšējā versijā.

Īsumā, funkcija EARLIER saglabā rindas kontekstu no operācijas, kas bija pirms pašreizējās operācijas. Funkcija vienmēr saglabā atmiņā divas konteksta kopas: viena konteksta kopa attēlo pašreizējo rindu, kas atbilst formulas iekšējai cilpai, un cita konteksta kopa attēlo pašreizējo rindu, kas atbilst formulas ārējai ciklam. DAX automātiski plūsmu vērtības starp diviem cikliem, lai jūs varētu izveidot sarežģītus datu kopus.

Uz lapas sākumu

Vaicājuma konteksts

Vaicājuma konteksts attiecas uz datu apakškopu, kas ir netieši izgūta formulā. Ja nometīsiet mērvienību vai citu vērtības lauku rakurstabulas šūnā, Power Pivot dzinējs pārbauda rindas un kolonnas galvenes, datu griezumus un atskaišu filtrus, lai noteiktu kontekstu. Pēc tam Power Pivot veic nepieciešamos aprēķinus, lai aizpildītu katru rakurstabulā esošo šūnu. Izgūto datu kopa ir vaicājuma konteksts katrai šūnai.

Tā kā konteksts var mainīties atkarībā no tā, kur novietojat formulu, formulas rezultāts mainīsies arī atkarībā no tā, vai rakurstabulā izmantojat vairākas grupēšanas un filtrus vai aprēķinātā kolonnā bez filtriem un minimāliem konteksta.

Piemēram, pieņemsim, ka izveidojat vienkāršu formulu, kas summē vērtības tabulas Sales kolonnā Peļņa : = SUM (' pārdots ' [peļņa]).

Ja izmantojat šo formulu aprēķinātajā kolonnā, kas ir tabulā Sales , formulas rezultāts būs vienāds visā tabulā, jo formulas konteksts formulai vienmēr ir visa pārdošanas tabulas datu kopa. Jūsu rezultātos būs peļņa par visiem reģioniem, visiem produktiem, visiem gadiem un tā tālāk.

Tomēr parasti nevēlaties redzēt vienus un tos pašus rezultātus, taču jūs vēlaties iegūt peļņu konkrētā gadā, konkrētu valsti vai reģionu, noteiktu produktu vai kādu to kombināciju, un pēc tam iegūt gala summu.

Rakurstabulā ir viegli mainīt kontekstu, pievienojot vai noņemot kolonnas un rindas galvenes, kā arī pievienojot vai noņemot datu griezumus. Varat izveidot formulu, kas līdzīga iepriekš norādītajai, un pēc tam to nometiet rakurstabulā. Ik reizi, kad rakurstabulai pievienojat kolonnas vai rindas virsrakstus, tiek mainīts vaicājuma konteksts, kurā šis mērs tiek novērtēts. Datu griezumu un filtrēšanas darbība arī ietekmē kontekstu. Tādējādi viena un tā pati formula, kas izmantota rakurstabulā, tiek novērtēta ar atšķirīgu vaicājuma kontekstu katrai šūnai.

Uz lapas sākumu

Filtra konteksts

Filtra konteksts tiek pievienots, norādot filtra ierobežojumus kolonnā vai tabulā atļautajām vērtībām, izmantojot formulas argumentus. Filtra konteksts attiecas uz citiem kontekstiem, piemēram, rindas konteksts vai vaicājuma konteksts.

Piemēram, Rakurstabula aprēķina katras šūnas vērtības, pamatojoties uz rindu un kolonnu virsrakstiem, kā aprakstīts iepriekšējā sadaļā vaicājuma konteksts. Taču rakurstabulā pievienotajos mērījumos vai aprēķinātajās kolonnās var norādīt filtra izteiksmes, lai kontrolētu formulā izmantotās vērtības. Varat arī selektīvi notīrīt filtrus konkrētās kolonnās.

Papildinformāciju par filtru izveidošanu formulās skatiet sadaļā filtra funkcijas.

Piemēru par to, kā var notīrīt filtrus, lai izveidotu gala summas, skatiet sadaļā Visi.

Piemērus par to, kā selektīvi notīrīt un lietot filtrus formulās, skatiet sadaļā funkcija ALLEXCEPT.

Tādēļ ir jāpārskata rakurstabulā lietoto mēru vai formulu definīcija, lai, interpretējot formulu rezultātus, tiktu informēts par filtra kontekstu.

Uz lapas sākumu

Konteksta noteikšana formulās

Kad izveidojat formulu, Power Pivot for Excel vispirms pārbauda vispārīgo sintaksi un pēc tam pārbauda to kolonnu un tabulu nosaukumus, kuras esat norādījis, salīdzinot ar iespējamajām kolonnām un tabulām pašreizējā kontekstā. Ja Power Pivot nevar atrast formulā norādītās kolonnas un tabulas, tiek parādīts kļūdas ziņojums.

Konteksts tiek noteikts, kā aprakstīts iepriekšējās sadaļās, izmantojot pieejamās tabulas darbgrāmatā, jebkuras relācijas starp tabulām un jebkurus lietotos filtrus.

Piemēram, ja tikko esat importējis dažus datus jaunā tabulā un neesat lietojis filtrus, visa tabulas kolonnu kopa ir pašreizējā konteksta daļa. Ja jums ir vairākas tabulas, kas ir saistītas ar relācijām, un jūs strādājat rakurstabulā, kas ir filtrēta, pievienojot kolonnu virsrakstus un izmantojot datu griezumus, konteksts ietver saistītās tabulas un jebkurus filtrus datos.

Konteksts ir jaudīga koncepcija, kas arī var apgrūtināt formulas problēmu novēršanu. Ieteicams sākt ar vienkāršām formulām un relācijām, lai uzzinātu, kā darbojas konteksts, un sāciet eksperimentēt ar vienkāršām formulām rakurstabulās. Nākamajā sadaļā sniegti arī daži piemēri par to, kā formulas izmanto dažādus konteksta tipus, lai dinamiski atgrieztu rezultātus.

Formulu konteksta piemēri

  • SAISTĪTĀ funkcija izvērš pašreizējās rindas kontekstu, lai iekļautu vērtības saistītajā kolonnā. Tas ļauj veikt uzmeklēšanu. Šajā tēmā piemērā ir parādīta filtrēšanas un rindas konteksta mijiedarbība.

  • Funkcija FILTER ļauj norādīt rindas, kas jāiekļauj pašreizējā kontekstā. Šajā tēmā norādītie piemēri ilustrē arī to, kā iegult filtrus citās funkcijās, kas veic datu kopu izpildi.

  • Funkcija ALL iestata kontekstu formulā. Varat to izmantot, lai ignorētu filtrus, kas tiek lietoti kā vaicājuma konteksta rezultāts.

  • Funkcija ALLEXCEPT ļauj noņemt visus filtrus, izņemot to, ko norādāt. Abos tēmās ir piemēri, kas palīdzēs izveidot formulas un saprast sarežģītu kontekstu.

  • AGRĀKās un AGRĀKās funkcijas sniedz iespēju izmantot tabulas, veicot aprēķinus, vienlaikus norādot vērtību no iekšējās cilpas. Ja esat iepazinies ar recursing jēdzienu un iekšējām un ārējām cilpām, jūs novērtēsiet Power, ko nodrošina AGRĀKās un AGRĀKās funkcijas. Ja esat iesācējs attiecībā uz šiem jēdzieniem, jums ir jāizpilda šajā piemērā aprakstītās darbības, lai uzzinātu, kā aprēķinos izmanto iekšējo un ārējo kontekstu.

Uz lapas sākumu

Attiecinošā integritāte

Šajā sadaļā ir aprakstītas dažas papildu koncepcijas, kas saistītas ar trūkstošām vērtībām Power Pivot tabulās, kuras ir savienotas ar relācijām. Šī sadaļa var būt noderīga, ja darbgrāmatās ir vairākas tabulas un sarežģītas formulas un vēlaties saņemt palīdzību par rezultātiem.

Ja esat iesācējs relāciju datu koncepcijā, iesakām vispirms lasīt ievada tēmu, pārskatupar relācijām.

Attiecinošā integritāte un Power Pivot relācijas

Power Pivot neprasa attiecinošās integritātes izpildi starp divām tabulām, lai definētu derīgu relāciju. Tā vietā tiek izveidota tukša rinda katrai relācijas viens pret daudziem beigās "viens", un tiek izmantota, lai apstrādātu visas no saistītās tabulas neatbilstīgās rindas. Tas efektīvi darbojas kā SQL ārējais savienojums.

Rakurstabulās, ja grupējat datus pēc relācijas vienas puses, visi neatbilstie dati relācijas pusē tiek grupēti kopā, un tie tiks iekļauti kopsummā ar tukšu rindas virsrakstu. Tukšais virsraksts ir aptuveni vienāds ar "Nezināms dalībnieks".

Par nezināmo dalībnieku

Nezināma dalībnieka koncepts, iespējams, ir iepazinies ar jums, ja esat strādājis ar daudzdimensiju datu bāzu sistēmām, piemēram, SQL Server analītiskajiem pakalpojumiem. Ja termins ir jauns, šajā piemērā ir paskaidrots, kas ir nezināms dalībnieks un kā tas ietekmē aprēķinus.

Pieņemsim, ka veidojat aprēķinu, kas saskaita mēneša pārdošanas apjomu katrai krātuvei, bet kolonnā pārdošanas tabulā trūkst krātuves nosaukuma vērtības. Ņemot vērā to, ka krātuves un pārdošanas tabulas ir savienotas ar veikala nosaukumu, kas, iespējams, notiks formulā? Kā PivotTable grupai vai attēlot pārdošanas datus, kas nav saistīti ar esošu krātuvi?

Šī problēma ir bieži sastopama datu noliktavās, kur lieliem datu tabulas ir loģiski jāsaista ar dimensiju tabulām, kas satur informāciju par veikaliem, reģioniem un citiem atribūtiem, kas tiek izmantoti, lai kategorizētu un aprēķinātu faktus. Lai atrisinātu šo problēmu, nezināmam dalībniekam īslaicīgi tiek piešķirti jauni fakti, kas nav saistīti ar esošu entītiju. Tas ir tāpēc, ka rakurstabulā tiks grupēti nesaistīti fakti ar tukšu virsrakstu.

Tukšo vērtību, salīdzinot ar tukšo rindu, apstrāde

Tukšas vērtības atšķiras no tukšajām rindām, kas tiek pievienotas, lai pielāgotos nezināmajam dalībniekam. Tukšā vērtība ir īpaša vērtība, kas tiek izmantota, lai attēlotu nulles, tukšas virknes un citas trūkstošas vērtības. Papildinformāciju par tukšo vērtību, kā arī citiem DAX datu tipiem skatiet datu tiposdatu modeļos.

Uz lapas sākumu

Paplašiniet savas Office prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×