Povećajte moć analize podataka kreiranjem relacija pomoću različitih tabela. Relacija je veza između dve tabele koje sadrže podatke: jedna kolona u svakoj tabeli je osnova relacije. Da biste razumeli zašto su relacije korisne, zamislite da pratite podatke za porudžbine klijenata u svom preduzeću. Možete da pratite sve podatke u jednoj tabeli koja ima ovakvu strukturu:
| ID klijenta | Ime | OMILjENO | Diskontna stopa | ID porudžbine | Datum porudžbine | Proizvod | Količina |
|---|---|---|---|---|---|---|---|
| 1 | Amidžić | chris.ashton@contoso.com | 0,05 | 256 | 07.01.10. | Kompaktni digitalni fotoaparat | 11 |
| 1 | Amidžić | chris.ashton@contoso.com | 0,05 | 255 | 03.01.10. | SLR kamera | 15 |
| 2 | Balašević | michal.jaworski@contoso.com | 0,10 | 254 | 03.01.10. | Program „Budget Movie-Maker“ | 27 |
Ovakav pristup može da funkcioniše, ali on obuhvata skladištenje velike količine suvišnih podataka, kao što je e-adresa za svaku porudžbinu. Skladište je jeftino, ali ako se e-adresa promeni, morate da se uverite da ste ažurirali svaki red za tog klijenta. Rešenje za ovaj problem je podela podataka na više tabela i definisanje relacija između njih. Ovaj pristup se koristi u relacionim bazama podataka kao što je SQL Server. Na primer, baza podataka koju uvozite može da predstavlja podatke o porudžbinama raspoređene u tri povezane tabele:
Klijenti
| [ID klijenta] | Ime | E-pošta |
|---|---|---|
| 1 | Amidžić | chris.ashton@contoso.com |
| 2 | Balašević | michal.jaworski@contoso.com |
Popusti za klijente
| [ID klijenta] | Diskontna stopa |
|---|---|
| 1 | 0,05 |
| 2 | 0,10 |
Porudžbine
| [ID klijenta] | ID porudžbine | Datum porudžbine | Proizvod | Količina |
|---|---|---|---|---|
| 1 | 256 | 07.01.10. | Kompaktni digitalni fotoaparat | 11 |
| 1 | 255 | 03.01.10. | SLR kamera | 15 |
| 2 | 254 | 03.01.10. | Program „Budget Movie-Maker“ | 27 |
U modelu podataka postoje relacije koje eksplicitno kreirate ili koje Excel automatski kreira u vaše ime kada istovremeno uvezete više tabela. Možete i da koristite programski dodatak Power Pivot da biste kreirali model ili upravljali njim. Detalje potražite u članku Kreiranje modela podataka u programu Excel.
Ako koristite programski dodatak Power Pivot da biste uvezli tabele iz iste baze podataka, Power Pivot može da otkrije relacije između tabela na osnovu kolona koje su između [zagrada] i može ponovo da predstavi te relacije u modelu podataka koji gradi u pozadini. Više informacija potražite u odeljku Automatsko otkrivanje i izvođenje relacija u ovom članku. Ako uvezete tabele iz više izvora, možete ručno da kreirate relacije kao što je opisano u članku Kreiranje relacija između dve tabele.
Kolone i ključevi
Relacije se zasnivaju na kolonama u svakoj tabeli koja sadrži iste podatke. Na primer, možete povezati tabelu "Klijenti " sa tabelom "Porudžbine" ako svaka sadrži kolonu koja sadrži kolonu koja sadrži ID klijenta. U ovom primeru, imena kolona su ista, ali to nije obavezno. Jedna bi mogla da se zove CustomerID, a druga CustomerNumber, dokle god svi redovi u tabeli „Porudžbine“ sadrže ID koji se skladišti i u tabeli „Klijenti“.
U relacionoj bazi podataka postoji nekoliko tipova ključeva. Ključ je obično kolona sa posebnim svojstvima. Razumevanje svrhe svakog ključa može da vam pomogne da upravljate modelom podataka sa više tabela, koji obezbeđuje podatke za izvedenu tabelu, izvedeni grafikon ili Power View izveštaj.
Iako postoji mnogo tipova ključeva, ovi su najvažniji za nas:
- Primarni ključ: jedinstveno identifikuje red u tabeli, kao što je "ID klijenta " u tabeli "Klijenti ".
- Alternativni ključ (ili ključ kandidat): još jedna kolona, pored primarnog ključa, koja je jedinstvena. Na primer, tabela „Zaposleni“ može da skladišti ID zaposlenog i broj socijalnog osiguranja, što su dve jedinstvene vrednosti.
- Sporedni ključ: kolona koja upućuje na jedinstvenu kolonu u drugoj tabeli, kao što je CustomerID u tabeli "Porudžbine ", koja upućuje na CustomerID u tabeli "Klijenti".
U modelu podataka, primarni ili alternativni ključ se naziva srodna kolona. Ako tabela sadrži i primarni i alternativni ključ, možete da koristite jedan kao osnovu relacije tabela. Sporedni ključ se naziva izvorna kolona ili samo kolona. U našem primeru bi se definisala relacija između kolone CustomerID u tabeli "Porudžbine " (kolone) i kolone CustomerID u tabeli "Klijenti " (kolona za pronalaženje). Ako uvozite podatke iz relacione baze podataka, Excel podrazumevano bira sporedni ključ iz jedne tabele i odgovarajući primarni ključ iz druge tabele. Međutim, možete da koristite bilo koju kolonu koja sadrži jedinstvene vrednosti kao kolonu za pronalaženje.
Tipovi relacija
Relacija između klijenta i porudžbine je relacija jedan-prema-više. Svaki klijent može da ima više porudžbina, ali porudžbina ne može da ima više klijenata. Još jedna važna relacija između tabela je jedan-prema-jedan. U ovom primeru, tabela "Popusti za klijente ", koja definiše jedinstvenu stopu popusta za svakog klijenta, ima relaciju jedan-prema-jedan sa tabelom "Klijenti".
Ova tabela prikazuje relacije između tri tabele ("Kupci", "Popusti klijenata" i "Porudžbine"):
| Relacija | Tip | Kolona za pronalaženje | Kolona |
|---|---|---|---|
| Kupci-Popusti za kupce | jedan-prema-jedan | Kupci.ID kupca | Popusti za kupce.ID kupca |
| Klijenti-Porudžbine | jedan-prema-više | Kupci.ID kupca | Porudžbine.ID kupca |
Napomena
Relacije više-prema-više nisu podržane u modelu podataka. Primer relacije više-prema-više je direktna relacija između tabela „Proizvodi“ i „Klijenti“, u kojoj jedan klijent može da kupi više proizvoda i isti proizvod može da kupi više klijenata.
Relacije i performanse
Nakon što se kreira relacija, Excel obično mora ponovo da izračuna svaku formulu koja koristi kolone iz tabela u nedavno kreiranoj relaciji. Obrada može da potraje, u zavisnosti od količine podataka i složenosti relacija. Više detalja potražite u članku "Ponovno izračunavanje formula".
Više relacija između tabela
Model podataka može da sadrži više relacija između dve tabele. Programu Excel je potrebna samo jedna putanja od jedne tabele do druge da bi napravio tačna izračunavanja. Zato je samo jedna relacija između svakog para tabela aktivna u datom trenutku. Iako su ostale relacije neaktivne, možete da navedete neaktivnu relaciju u formulama i upitima.
U dijagramskom prikazu aktivna relacija je predstavljena kao linija, dok su neaktivne predstavljene kao isprekidane linije. Na primer, za AdventureWorksDW2012, tabela DimDate sadrži kolonu DateKey koja je povezana sa tri različite kolone u tabeli FactInternetSales: OrderDate, DueDate i ShipDate. Ako je aktivna relacija između kolona DateKey i OrderDate, to je podrazumevana relacija u formulama osim ako ne odredite drugačije.
Zahtevi za relacije tabela
Relacija se može kreirati kada se ispune sledeći zahtevi:
| Kriterijumi | Opis |
|---|---|
| Jedinstveni identifikator za svaku tabelu | Svaka tabela mora da ima jednu kolonu koja jedinstveno identifikuje svaki red u tabeli. Kolona obično predstavlja primarni ključ. |
| Jedinstvene kolone za pronalaženje | Vrednosti podataka u koloni za pronalaženje moraju da budu jedinstvene. Drugim rečima, kolona ne može da sadrži duplikate. U modelu podataka, nule i prazne niske su jednake praznoj vrednosti, koja predstavlja posebnu vrednost podataka. To znači da ne možete da imate više nula u koloni za pronalaženje. |
| Kompatibilni tipovi podataka | Tipovi podataka u izvornoj koloni i koloni za pronalaženje moraju da budu kompatibilni. Više informacija o tipovima podataka potražite u članku Tipovi podataka podržani u modelima podataka. |
Nepodržane funkcije baze podataka u modelu podataka programa Excel
U modelu podataka nije moguće kreirati relaciju tabela ako je ključ složen. Takođe ste ograničeni na kreiranje relacija jedan-prema-jedan i jedan-prema-više. Ostali tipovi relacija nisu podržani.
Složeni ključevi i kolone za pronalaženje
Složeni ključ se sastoji od više kolona. Modeli podataka ne mogu da koriste složene ključeve: tabela mora uvek da ima tačno jednu kolonu koja na jedinstven način identifikuje svaki red u tabeli. Ako uvozite tabele koje imaju postojeću relaciju zasnovanu na složenom ključu, čarobnjak za uvoz tabele u programskom dodatku Power Pivot zanemariće tu relaciju jer njeno kreiranje nije moguće u modelu.
Da biste kreirali relaciju između dve tabele koje sadrže više kolona sa definisanim primarnim i sporednim ključem, prvo kombinujte vrednosti tako da kreirate kolonu za jedan ključ pre nego što kreirate relaciju. To možete da uradite pre nego što uvezete podatke ili kreiranjem izračunate kolone u modelu podataka koristeći programski dodatak Power Pivot.
Relacije više-prema-više
Model podataka ne može da sadrži relacije više-prema-više. Ne možete prosto da dodate spojene tabele u model. Međutim, možete da koristite DAX funkcije za oblikovanje relacija više-prema-više.
Samospajanja i petlje
Samospajanja nisu dozvoljena u modelu podataka. Samospajanje je rekurzivna relacija tabele sa njom samom. Samospajanja se često koriste za definisanje hijerarhije nadređeno–podređeno. Na primer, možete da spojite tabelu „Zaposleni“ sa njom samom da biste proizveli hijerarhiju koja prikazuje lanac upravljanja u preduzeću.
Excel ne dozvoljava kreiranje petlji između relacija u radnoj svesci. Drugim rečima, sledeći skup relacija je zabranjen.
Tabela 1, kolona a i Tabela 2, kolona f
Tabela 2, kolona f i Tabela 3, kolona n
Tabela 3, kolona n i Tabela 1, kolona a
Ako pokušate da kreirate relaciju koja bi prouzrokovala kreiranje petlje, generiše se greška.
Automatsko otkrivanje i izvođenje relacija u programskom dodatku PowerPivot
Jedna od prednosti uvoza podataka pomoću programskog dodatka Power Pivot jeste to što Power Pivot ponekad može da otkrije relacije i kreira nove relacije u modelu podataka koje kreira u programu Excel.
Kada uvozite više tabela, Power Pivot automatski otkriva sve postojeće veze između tabela. Osim toga, kada kreirate izvedenu tabelu, Power Pivot analizira podatke u tabelama. On otkriva moguće relacije koje nisu definisane i predlaže da se odgovarajuće kolone obuhvate tim relacijama.
Algoritam za otkrivanje koristi statističke podatke o vrednostima i metapodacima kolona da bi izveo podatke o mogućim relacijama.
- Tipovi podataka u svim povezanim kolonama bi trebalo da budu kompatibilni. Za automatsko otkrivanje su podržani samo celi brojevi i tekstualni podaci. Više informacija o tipovima podataka potražite u članku Tipovi podataka podržani u modelima podataka.
- Da bi relacija bila uspešno otkrivena, broj jedinstvenih ključeva u koloni za pronalaženje mora da bude veći od vrednosti u tabeli na strani „više“. Drugim rečima, kolona ključa na strani „više“ u okviru relacije ne može da sadrži vrednosti koje se ne nalaze u koloni ključa tabele za pronalaženje. Na primer, recimo da imate tabelu koja sadrži listu proizvoda sa njihovim ID-ovima (tabela za pronalaženje) i tabelu prodaje koja sadrži listu prodaje za svaki proizvod (strana „više“ u okviru relacije). Ako zapisi o prodaji sadrže ID proizvoda koji nema odgovarajući ID u tabeli proizvoda, nije moguće automatsko kreiranje relacije, ali možete ručno da je kreirate. Da bi program Excel otkrio relaciju, morate prvo da ažurirate tabelu za pronalaženje sa listom proizvoda i unesete ID-ove proizvoda koji nedostaju.
- Uverite se da je ime kolone ključa na strani „više“ slično imenu kolone ključa u tabeli za pronalaženje. Imena ne moraju da budu potpuno ista. Na primer, za preduzeće često imate varijacije imena kolona koje sadrže suštinski iste podatke: Emp ID, EmployeeID, Employee ID, EMP_ID itd. Algoritam otkriva slična imena i dodeljuje veću mogućnost onim kolonama koje imaju slično ili isto ime. Zbog toga, da biste povećali verovatnoću kreiranja relacije, možete da preimenujete kolone u podacima koje uvozite u ime slično kolonama u postojećoj tabeli. Ako program Excel pronađe više mogućih relacija, u tom slučaju ne kreira relaciju.
Ove informacije mogu da vam pomognu da razumete zašto se ne otkrivaju sve relacije ili kako promene u metapodacima, kao što su ime polja i tipovi podataka, mogu da poboljšaju rezultate automatskog otkrivanja relacija. Više informacija potražite u članku Rešavanje problema sa relacijama.
Automatsko otkrivanje imenovanih skupova
Relacije se ne otkrivaju automatski između imenovanih skupova i povezanih polja u izvedenoj tabeli. Ove relacije možete da kreirate ručno. Ako želite da koristite automatsko otkrivanje relacija, uklonite svaki imenovani skup i dodajte pojedinačna polja iz imenovanog skupa direktno u izvedenu tabelu.
Izvođenje relacija
U nekim slučajevima relacije između tabela se automatski povezuju. Na primer, ako kreirate relaciju između prva dva skupa tabela ispod, pretpostavlja se da postoji relacija između druge dve tabele i ona se automatski uspostavlja.
Proizvodi i kategorija – kreirano ručno
Kategorija i potkategorija – kreirano ručno
Proizvodi i potkategorija – relacija se izvodi
Da bi relacije bile automatski ulančane, moraju da budu u jednom smeru, kao što je prikazano iznad. Ako su početne relacije bile između, na primer, tabela „Prodaja“ i „Proizvodi“ i još „Prodaja“ i „Klijenti“, relacija se ne izvodi. To je zato što je relacija između tabela „Proizvodi“ i „Klijenti“ tipa više-prema-više.