Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.

Kontekst vam omogućava da izvršite dinamičke analize, pri kojima rezultati formule mogu da se promene tako da odražavaju trenutni red ili izbor ćelije, kao i sve povezane podatke. Razumevanje konteksta i efikasno korišćenje konteksta veoma su važni za izgradnju formula sa visokim izvršavanjem, dinamičke ankete i za rešavanje problema u formulama.

Ovaj odeljak definiše različite tipove konteksta: kontekst reda, kontekst upita i kontekst filtera. On objašnjava kako se kontekst procenjuje za formule u izračunatim kolonama i izvedenim tabelama.

Poslednji deo ovog članka obezbeđuje veze ka detaljnim primerima koji ilustruju kako se rezultati formula menjaju u skladu sa kontekstom.

Razumevanje konteksta

Na formule u Power Pivot mogu da utiču filteri primenjeni u izvedenoj tabeli, relacije između tabela i filteri korišćeni u formulama. Kontekst je ono što vam olakšava da izvršavate dinamičke analize. Razumevanje konteksta je važno za izgradnju i rešavanje problema formula.

Postoje različiti tipovi konteksta: kontekst reda, kontekst upita i kontekst filtera.

Kontekst reda možete da smatrate "trenutnim redom". Ako ste kreirali izračunatu kolonu, kontekst reda se sastoji od vrednosti u svakom pojedinačnom redu i vrednostima u kolonama koje su povezane sa trenutnim redom. Postoje i neke funkcije (EARLIER i EARLIEST) koje dobijaju vrednost iz trenutnog reda, a zatim koriste tu vrednost prilikom izvršavanja operacije nad celom tabelom.

Kontekst upita se odnosi na podskup podataka koji je implicitivno kreiran za svaku ćeliju u izvedenoj tabeli, u zavisnosti od zaglavlja redova i kolona.

Kontekst filtera je skup vrednosti dozvoljenih u svakoj koloni, na osnovu ograničenja filtera koja su primenjena na red ili koje su definisane filtriranjem izraza u okviru formule.

Vrh stranice

Kontekst reda

Ako kreirate formulu u izračunatoj koloni, kontekst reda za tu formulu uključuje vrednosti iz svih kolona u trenutnom redu. Ako je tabela povezana sa drugom tabelom, sadržaj uključuje i sve vrednosti iz druge tabele koje su povezane sa trenutnim redom.

Na primer, recimo da kreirate izračunatu kolonu= [Prevoz] + [Porez],

, koji sabva dve kolone iz iste tabele. Ova formula se ponaša kao formule u Excel, koje automatski upućuju na vrednosti iz istog reda. Imajte uvid u to da se tabele razlikuju od opsega: ne možete da ukažete na vrednost iz reda pre trenutnog reda pomoću notacije opsega i ne možete da ukažete na bilo koju proizvoljnu pojedinačnu vrednost u tabeli ili ćeliji. Uvek morate da radite sa tabelama i kolonama.

Kontekst reda automatski prati relacije između tabela da bi utvrdio koji redovi u srodnim tabelama su povezani sa trenutnim redom.

Na primer, sledeća formula koristi funkciju RELATED za dobavjanje poreske vrednosti iz srodne tabele na osnovu regiona u koji je porudžbina isporučena. Vrednost poreza se određuje pomoću vrednosti za region u trenutnoj tabeli, tražeći region u srodnoj tabeli, a zatim dobiti poresku stopu za taj region iz srodne tabele.

= [Prevoz] + RELATED('Region'[Poreska poreska vrednost])

Ova formula jednostavno dobija poresku stopu za trenutni region, iz tabele "Region". Ne morate da znate ili da navedete ključ koji povezuje tabele.

Kontekst za više redova

Pored toga, DAX uključuje funkcije koje itteruju izračunavanja preko tabele. Ove funkcije mogu da imaju više trenutnih redova i konteksta trenutnog reda. U terminima programiranja možete da kreirate formule koje se ponavljaju u unutrašnjoj i outer petlji.

Na primer, pretpostavimo da radna sveska sadrži tabelu "Proizvodi" i tabelu "Prodaja". Možda ćete želeti da prođete kroz celu tabelu prodaje, koja je puna transakcija koje uključuju više proizvoda i pronađete najveću poručenu količinu za svaki proizvod u bilo kojoj transakciji.

U Excel, ovo izračunavanje zahteva niz posrednih rezimea, koji bi trebalo ponovo da se izgrađuju ako se podaci promene. Ako ste moćni korisnik Excel, možda ćete moći da sastavite formule niza koje će taj posao uraditi. Druga mogućnost je da u relacionalnoj bazi podataka napišete ugnežđene podizbore.

Međutim, uz DAX možete da napravite jednu formulu koja vraća ispravnu vrednost i rezultati se automatski ažuriraju svaki put kada dodate podatke u tabele.

=MAXX(FILTER(Prodaja,[ProdKey]=EARLIER([ProdKey])),Prodaja[OrderQty])

Detaljno informacije o ovoj formuli pogledajte u prethodnom izveštaju.

Ukratko, funkcija EARLIER skladišti kontekst reda iz operacije koja pre prestiže trenutnu operaciju. U svim vremenima, funkcija skladišti u memoriji dva skupa konteksta: jedan skup konteksta predstavlja trenutni red za unutrašnju petlji formule, a drugi skup konteksta predstavlja trenutni red za izlaznu petlji formule. DAX automatski ubaciva vrednosti između dve petlje kako biste mogli da kreirate složene agregatne vrednosti.

Vrh stranice

Kontekst upita

Kontekst upita se odnosi na podskup podataka koji se implicitno preuzima za formulu. Kada otpustite meru ili drugo polje vrednosti u ćeliju u izvedenoj tabeli, Power Pivot mašina ispituje zaglavlja reda i kolone, segmentatore i filtere izveštaja da bi utvrdila kontekst. Zatim Power Pivot izračunavanja za popunu svake ćelije u izvedenoj tabeli. Skup podataka koji se preuzimaju je kontekst upita za svaku ćeliju.

Pošto kontekst može da se promeni u zavisnosti od toga gde postavite formulu, rezultati formule se menjaju i u zavisnosti od toga da li formulu koristite u izvedenoj tabeli sa mnogo grupisanja i filtera ili u izračunatoj koloni bez filtera i minimalnom kontekstu.

Na primer, pretpostavimo da kreirate ovu jednostavnu formulu koja sabira vrednosti u koloni "Profit" tabele "Prodaja":=SUM('Prodaja'[Profit]).

Ako koristite ovu formulu u izračunatoj koloni u tabeli "Prodaja", rezultati formule će biti isti za celu tabelu, zato što je kontekst upita za formulu uvek ceo skup podataka tabele "Prodaja". Vaši rezultati će imati profit za sve regione, sve proizvode, sve godine i tako dalje.

Međutim, obično ne želite da vidite isti rezultat stotina puta, već želite da dobijete profit za određenu godinu, određenu zemlju ili region, određeni proizvod ili neku kombinaciju ovih, a zatim da dobijete ukupan zbir.

U izvedenoj tabeli kontekst možete lako da promenite dodavanjem ili uklanjanjem zaglavlja kolona i redova i dodavanjem ili uklanjanjem sekača. U meri možete da kreirate formulu kao što je ova iznad, a zatim je otpustite u izvedenu tabelu. Svaki put kada dodate naslove kolona ili redova u izvedenu tabelu, menjate kontekst upita u kojem se procenjuje mera. Operacije sečenja i filtriranja takođe utiču na kontekst. Stoga se ista formula, koja se koristi u izvedenoj tabeli, procenjuje u drugačijem kontekstu upita za svaku ćeliju.

Vrh stranice

Kontekst filtera

Kontekst filtera se dodaje kada navedete ograničenja filtera za skup vrednosti koje su dozvoljene u koloni ili tabeli, korišćenjem argumenata za formulu. Kontekst filtera se primenjuje na kontekste drugih konteksta, kao što je kontekst reda ili kontekst upita.

Na primer, izvedena tabela izračunava vrednosti za svaku ćeliju na osnovu naslova redova i kolona, kao što je opisano u prethodnom odeljku o kontekstu upita. Međutim, u okviru mera ili izračunatih kolona koje dodate u izvedenu tabelu možete da navedete izraze filtera da biste kontrolisali vrednosti koje formula koristi. Možete i selektivno da izabrati i filtere za određene kolone.

Dodatne informacije o tome kako se kreiraju filteri u okviru formula potražite u temi Funkcije filtera.

Primer načina na koji filteri mogu da se obrnu kako bi se kreirali sveukugaonici pogledajte all.

Primere o tome kako selektivno da obrišite i primenite filtere u okviru formula, pogledajte funkciju ALLEXCEPT.

Stoga morate da pregledate definiciju mera ili formula koje se koriste u izvedenoj tabeli kako biste bili svesni konteksta filtera prilikom tumačenja rezultata formula.

Vrh stranice

Determining Context in Formulas

Kada kreirate formulu, Power Pivot za Excel prvo proverava da li postoji opšta sintaksa, a zatim ona proverava imena kolona i tabela koja ste pružili u odnosu na moguće kolone i tabele u trenutnom kontekstu. Ako Power Pivot da pronađete kolone i tabele koje je navela formula, dobijate grešku.

Kontekst se određuje na način opisan u prethodnom odeljku, korišćenjem dostupnih tabela u radnoj svesci, relacija između tabela i filtera koji su primenjeni.

Na primer, ako ste upravo uvezli neke podatke u novu tabelu i niste primenili filtere, ceo skup kolona u tabeli je deo trenutnog konteksta. Ako imate više tabela povezanih relacijama i radite u izvedenoj tabeli koja je filtrirana dodavanjem naslova kolona i korišćenjem segmentatora, kontekst obuhvata srodne tabele i sve filtere za podatke.

Kontekst je moćan koncept koji takođe otežava rešavanje problema sa formulama. Preporučujemo da počnete sa jednostavnim formulama i relacijama da biste videli kako kontekst funkcioniše, a zatim počnite da eksperimentišete sa jednostavnim formulama u izvedenim tabelama. Sledeći odeljak pruža i neke primere toga kako formule koriste različite tipove konteksta kako bi dinamički dale rezultate.

Primeri konteksta u formulama

  • Funkcija RELATED proširuje kontekst trenutnog reda tako da uključuje vrednosti u povezanoj koloni. To vam može biti dopušteno da izvršite pronalaženja. Primer u ovoj temi ilustruje interakciju sa filtriranjem i kontekstom reda.

  • Funkcija FILTER vam omogućava da navedete redove koji će biti uključeni u trenutni kontekst. Primeri u ovoj temi takođe ilustruju kako da uglonite filtere u okviru drugih funkcija koje izvršavaju agregatne funkcije.

  • The ALL function sets context within a formula. Možete da ga koristite da biste poništili filtere koji su primenjeni na rezultat konteksta upita.

  • Funkcija ALLEXCEPT omogućava da uklonite sve filtere osim onog koji navedete. Obe teme obuhvataju primere koji vas protiče kroz izgradnju formula i razumevanje složenih konteksta.

  • Funkcije EARLIER i EARLIEST vam funkcionišu kroz tabele izvršavanjem izračunavanja dok upućuje na vrednost iz unutrašnje petlje. Ako ste upoznati sa konceptom rekurzije i unutrašnjim i unutrašnjim petljama, cenićete snagu koju pružaju funkcije EARLIER i EARLIEST. Ako niste ranije koristili ove koncepte, trebalo bi da pažljivo pratite korake iz primera da biste videli kako se unutrašnji i unutrašnji konteksti koriste u izračunavanjima.

Vrh stranice

Referencial integritet

U ovom odeljku su objašnjeni neki napredni koncepti povezani sa vrednostima koje nedostaju Power Pivot tabelama koje su povezane relacijama. Ovaj odeljak vam može biti koristan ako imate radne sveske sa više tabela i složenih formula i želite pomoć za razumevanje rezultata.

Ako prvi put čitate uvodnu temu, Pregled relacija.

Referencialni integritet i Power Pivot relacije

Power Pivot ne zahteva da se referencialni integritet na primeni između dve tabele kako bi se definisala važeća relacija. Umesto toga, prazan red se kreira na kraju "jedan" svake relacije jedan-prema-više i koristi se za rukovanje svim redovima koji se ne podudaraju iz srodne tabele. On se efikasno ponaša kao SQL spajanja.

U izvedenim tabelama, ako grupišete podatke na jednoj strani relacije, svi podaci bez prek odnosa na strani "više" grupišu se zajedno i biće uključeni u ukupne vrednosti sa praznim naslovom reda. Prazan naslov je otprilike isti kao "nepoznati član".

Razumevanje nepoznatog člana

Koncept nepoznatog člana vam je verovatno poznat ako ste radili sa višedimenzionalnim sistemima baza podataka, kao što je SQL Server Analysis Services. Ako vam je termin nov, sledeći primer objašnjava šta je to nepoznati član i kako utiče na izračunavanja.

Recimo da pravite izračunavanje koje sabira mesečnu prodaju za svaku prodavnicu, a koloni u tabeli "Prodaja" nedostaje vrednost za ime prodavnice. S obzirom na to da su tabele za prodavnicu i prodaju povezane imenom prodavnice, šta biste očekivali da se desi u formuli? Kako bi trebalo da grupa izvedene tabele ili prikaže iznose prodaje koji nisu povezani sa postojećom prodavnicom?

Ovaj problem je uobičajen u skladištima podataka gde velike tabele sa podacima činjenica moraju logički da budu povezane sa tabelama dimenzija koje sadrže informacije o skladištima, regionima i drugim atributima koji se koriste za kategorizovanje i izračunavanje činjenica. Da bi se problem rešio, svim novim činjenicama koje nisu povezane sa postojećim entitetom privremeno se dodeljuju nepoznati član. Zato će nepovezane činjenice izgledati grupisane u izvedenoj tabeli ispod praznog naslova.

Tretman praznih vrednosti i praznih redova

Prazne vrednosti se razlikuju od praznih redova koji su dodati da bi ga pratio nepoznati član. Prazna vrednost je posebna vrednost koja se koristi za predstavljanje polja bez vrednosti, praznih niski i drugih vrednosti koje nedostaju. Dodatne informacije o praznoj vrednosti, kao i o drugim DAX tipovima podataka potražite u temi Tipovi podataka u modelima podataka.

Vrh stranice

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?
Kada kliknete na dugme Prosledi“, vaše povratne informacije će se koristiti za poboljšanje Microsoft proizvoda i usluga. Vaš IT administrator će moći da prikupi ove podatke. Izjava o privatnosti.

Hvala vam na povratnim informacijama!

×