Jedna od najmoćnijih funkcija programskog dodatka Power Pivot jeste mogućnost kreiranja relacija između tabela i njihovog korišćenja za pronalaženje ili filtriranje povezanih podataka. Srodne vrednosti preuzimate iz tabela pomoću jezika formule koji je obezbeđen uz Power Pivot, Data Analysis Expressions (DAX). DAX koristi relacioni model i zato može lako i precizno preuzeti povezane ili odgovarajuće vrednosti u drugoj tabeli ili koloni. Ako ste upoznati sa funkcijom VLOOKUP u programu Excel, ova funkcionalnost u programskom dodatku Power Pivot je slična, ali mnogo lakša za implementaciju.
Možete da kreirate formule koje obavljaju pronalaženja kao deo izračunate kolone ili kao deo mere za korišćenje u izvedenoj tabeli ili izvedenom grafikonu. Dodatne informacije potražite u sledećim temama:
Izračunata polja u programskom dodatku Power Pivot
Izračunate kolone u programskom dodatku Power Pivot
Ovaj odeljak opisuje DAX funkcije koje su obezbeđene za pronalaženje, kao i neki primeri kako se koriste funkcije.
Napomena
U zavisnosti od tipa operacije pronalaženja ili formule za pronalaženje koju želite da koristite, možda ćete prvo morati da kreirate relaciju između tabela.
Razumevanje funkcija pronalaženja
Mogućnost pronalaženja podataka koji se podudaraju ili povezanih podataka iz druge tabele naročito je korisna u situacijama gde trenutna tabela ima samo identifikator neke vrste, ali su podaci koji su vam potrebni (kao što su cena proizvoda, ime ili druge detaljne vrednosti) uskladišteni u povezanoj tabeli. Korisno je i kada u drugoj tabeli postoji više redova povezanih sa trenutnim redom ili trenutnom vrednošću. Na primer, možete lako preuzeti sve prodaje povezane sa određenim regionom, prodavnicom ili prodavcem.
Za razliku od Excel funkcija za pronalaženje kao što je VLOOKUP, koje su zasnovane na nizovima, ili LOOKUP, koja dobija prvu od više podudarnih vrednosti, DAX prati postojeće relacije između tabela spojenih ključevima da bi dobio jednu srodnu vrednost koja se tačno podudara. DAX može i da preuzme tabelu zapisa koji su povezani sa trenutnim zapisom.
Napomena
Ako ste upoznati sa relacionim bazama podataka, možete da posmatrate pronalaženja u programskom dodatku Power Pivot kao slična ugnežđenom izrazu podizbora u Transact-SQL-u.
Retrieving a Single Related Value
Funkcija RELATED vraća jednu vrednost iz druge tabele koja je povezana sa trenutnom vrednošću u trenutnoj tabeli. Vi navodite kolonu koja sadrži podatke koje želite, a funkcija prati postojeće relacije između tabela kako bi preuzela vrednost iz navedene kolone u srodnoj tabeli. U nekim slučajevima funkcija mora da prati lanac relacija da bi preuzela podatke.
Na primer, pretpostavimo da imate listu današnjih isporuka u programu Excel. Međutim, lista sadrži samo ID broj zaposlenog, ID broj porudžbine i ID broj špeditera, zbog čega je izveštaj težak za čitanje. Da biste dobili dodatne informacije koje su vam potrebne, možete da konvertujete tu listu u Power Pivot povezanu tabelu, a zatim kreirate relacije sa tabelama "Zaposleni" i "Lokalni prodavac" tako da podudaraju ID zaposlenog sa poljem "EmployeeKey" i ResellerID sa poljem "ResellerKey".
Da biste prikazali informacije za pronalaženje u povezanoj tabeli, dodajte dve nove izračunate kolone sa sledećim formulama:
= RELATED('Employees'[EmployeeName])
= RELATED('Preprodavci'[ImePreduzeća])
Današnje isporuke pre pronalaženja
| ID porudžbine | ID zaposlenog | ID prodavca |
|---|---|---|
| 100314 | 230 | 445 |
| 100315 | 15 | 445 |
| 100316 | 76 | 108 |
Tabela „Zaposleni“
| ID zaposlenog | Zaposleni | Lokalni prodavac |
|---|---|---|
| 230 | Kuppa Vamsi | Modularni sistemi ciklusa |
| 15 | Pilar Ackeman | Modularni sistemi ciklusa |
| 76 | Kim Ralls | Povezani bicikli |
Današnje pošiljke sa pretragama
| ID porudžbine | ID zaposlenog | ID prodavca | Zaposleni | Lokalni prodavac |
|---|---|---|---|---|
| 100314 | 230 | 445 | Kuppa Vamsi | Modularni sistemi ciklusa |
| 100315 | 15 | 445 | Pilar Ackeman | Modularni sistemi ciklusa |
| 100316 | 76 | 108 | Kim Ralls | Povezani bicikli |
Funkcija koristi relacije između povezane tabele i tabele "Zaposleni i prodavci" da bi dobila tačno ime za svaki red u izveštaju. Za izračunavanja možete da koristite i srodne vrednosti. Za više informacija i primere, pogledajte FUNKCIJA RELATED .
Preuzimanje liste povezanih vrednosti
Funkcija RELATEDTABLE prati postojeću relaciju i vraća tabelu koja sadrži sve podudarne redove iz navedene tabele. Na primer, pretpostavimo da želite da saznate koliko je porudžbina svaki prodavac poslao ove godine. Možete da napravite novu izračunatu kolonu u tabeli "Prodavci" koja uključuje sledeću formulu koja traži zapise za svakog lokalnog prodavca u ResellerSales_USD tabeli i prebrojava broj pojedinačnih porudžbina od strane svakog prodavca.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
U ovoj formuli funkcija RELATEDTABLE prvo dobija vrednost šifre resellerKey za svakog lokalnog prodavca u trenutnoj tabeli. (Nije potrebno da navodite kolonu sa ID-om nigde u formuli jer Power Pivot koristi postojeću relaciju između tabela.) Funkcija RELATEDTABLE zatim preuzima sve redove iz ResellerSales_USD tabele koji su povezani sa svakim prodavcem i prebrojava redove. Ako ne postoji relacija (direktna ili indirektna) između dve tabele, dobićete sve redove iz ResellerSales_USD tabele.
Za sisteme modularnog ciklusa lokalnih prodavaca u našem uzorku baze podataka postoje četiri porudžbine u tabeli "Prodaja", tako da funkcija daje 4. Za povezane bicikle, lokalni prodavac nema prodaje, pa funkcija vraća praznu vrednost.
| Lokalni prodavac | Zapisi u tabeli prodaje za ovog lokalnog prodavca |
|---|---|
| Modularni sistemi ciklusa | ID lokalnog prodavca |
| 445 | |
| 445 | |
| 445 | |
| 445 | |
| ID lokalnog prodavca | |
| Povezani bicikli |
Napomena
Funkcija RELATEDTABLE mora da se koristi kao argument funkcije koja izvršava operacije nad tabelama zato što vraća tabelu, a ne jednu vrednost. Za više informacija, pogledajte članak Funkcija RELATEDTABLE.