Relacije između tabela u modelu podataka

Napomena:  Želimo da vam što pre pružimo najnoviji sadržaj pomoći čim na vašem jeziku. Ova stranica je prevedena automatski i može da sadrži gramatičke greške ili netačnosti. Naš cilj je da ovaj sadržaj bude koristan. Možete li nam na dnu ove stranice saopštiti da li su vam informacije bile od koristi? Ovo je članak na engleskom jeziku za brzu referencu.

Pregledač ne podržava video zapis. Instalirajte Microsoft Silverlight, Adobe Flash Player ili Internet Explorer 9.
Video zapis: relacije u programskim dodacima Power View i PowerPivot

Video zapis: relacije u programskim dodacima Power View i PowerPivot

Video zapis: relacije u programskim dodacima Power View i PowerPivot

Video: Relacije u programskom dodatku Power View i Power Pivot

Dodajte više power analizu podataka tako što ćete napraviti relacije amogn različitih tabela. Veza je vezu između dve tabele koje sadrže podatke: jedna kolona u svakoj tabeli je osnova za relaciju. Da biste videli zašto relacije su korisni, zamislite da pratite podatke za porudžbine klijenata u vašem preduzeću. Bi pratili sve podatke u jednu tabelu strukture ovako:

ID kupca

Ime

E-adresa

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

Javorski

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 kupca]

Ime

E-pošta

1

Amidžić

dusan.amidzic@contoso.com

2

Javorski

michal.jaworski@contoso.com

Popusti za klijente

[ID kupca]

Diskontna stopa

1

0,05

2

0,10

Porudžbine

[ID kupca]

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

Postoje relacije u modelu podataka – koji su eksplicitno kreirate ili neko koje Excel automatski kreira za vas kada istovremeno uvezete više tabela. Možete da koristite programski dodatak Power Pivot da biste kreirali ili upravljanje modelom. Pogledajte članak Kreiranje modela podataka u programu Excel za detalje.

Ako koristite programski dodatak Power Pivot da biste uvezli tabele iz iste baze podataka, Power Pivot može da otkrije veze 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 člankuKreiranje relacija između dve tabele.

Relacija se zasnivaju na kolone u svakoj tabeli koje sadrže iste podatke. Na primer, može se odnose " kupci " sa " porudžbine " Ako svaki sadrži kolonu koja skladišti ID kupca. U primeru, imena kolona su iste, ali to nije obavezno. Jedan može biti ID kupca i drugi CustomerNumber, sve dok sve redove u tabeli "porudžbine" sadrže ID koji takođe je uskladištena u tabeli "Klijenti".

Relacione baze podataka, postoji nekoliko tipova tasteri. Ključ je obično kolona sa posebna svojstva. Razumevanje svrhu svaki ključ može pomoći da upravljate sa više tabela modela podataka koji obezbeđuje podatke u izvedenoj tabeli, izvedenom grafikonu ili Power View izveštaj.

Iako su mnoge tipove ključeva, ovo su najvažnije u našem svrhu:

  • Primarni ključ: jedinstveno identifikuje red u tabeli, kao što je CustomerID u tabeli " klijenti ".

  • Alternativne šifru (ili šifre kandidat): kolone osim primarnog ključa koja je jedinstvena. Na primer, tabela "Zaposleni" mogu da skladište ID zaposlenog i broj socijalnog osiguranja, koje su jedinstvene.

  • 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 primarnog ključa ili alternativne ključ se nazivaju povezanu kolonu. Ako tabela ima i primarni i alternativni ključ, možete da koristite kao osnovu ni sa jednim od relacije između tabela. Sporedni ključ se nazivaju izvorne kolone ili samo kolone. U našem primeru definisati bi relacije između CustomerID u tabeli " porudžbine " (kolona) i CustomerID u tabeli " klijenti " (kolona za pronalaženje). Ako uvozite podatke iz relacione baze podataka, podrazumevano Excel bira sporedni ključ iz jedne tabele i odgovarajuće primarnog ključa iz druge tabele. Međutim, možete da koristite bilo koje kolone koja sadrži jedinstvene vrednosti kolone za pronalaženje.

Odnos između klijenta i nalog je jedan-prema-više veza. Svaki kupac može imati više naloga, ali nalog ne može da sadrži više klijenata. Važne relacije je jedan. U našem primeru tabele popusti za klijente koji definiše jedan diskontna stopa za svakog klijenta, ima relaciju sa tabela "Kupci".

Ova tabela prikazuje odnose između tri tabele (klijenti popusti za klijentei 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.

Kada se kreira bilo koju vezu, Excel mora obično ponovo izračunajte sve formule koje koriste kolone iz tabele u relaciji novokreirani. Obrada može potrajati, u zavisnosti od količine podataka i složenost relacije. Više detalja potražite u članku Ponovno izračunavanje formula.

Model podataka mogu da sadrže više relacija između dve tabele. Da biste napravili tačnošću izračunavanja, Excel mora jednom putanju iz jedne tabele u drugu. Stoga, samo jednu relaciju između svakog para tabela je aktivan odjednom. Iako su ostale neaktivan, možete da navedete neaktivne relacije u formulama i upita.

U prikazu dijagrama, aktivne relacije je puna linija i one neaktivne su isprekidane linije. Na primer, u AdventureWorksDW2012, u tabeli DimDate sadrži kolonu, "Šifradatuma", koje se odnose na tri različite kolone u tabeli FactInternetSales: DatumPorudžbine krajni roki DatumIsporuke. Ako je aktivne relacije između "Šifradatuma" i "DatumPorudžbine", to je podrazumevana relaciju u formulama osim ako ne navedete drugačije.

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 kolona za pronalaženje moraju da budu kompatibilni. Više informacija o tipovima podataka potražite u članku tipovi podataka podržani u modelima podataka.

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č sastoji se od više od jedne kolone. Modeli podataka ne možete da koristite složeni ključevi: tabele uvek moraju da sadrže tačno jednu kolonu koja jedinstveno identifikuje svaki red u tabeli. Ako ste uvezli tabele koje imaju postojećoj relaciji na osnovu kompozitnog ključa, tabela čarobnjaka za uvoz u programskom dodatku PowerPivot će zanemari tu relaciju zato što on nije moguće kreirati u modelu.

Da biste kreirali relacije između dve tabele koje imaju više kolona definisanje primarnim i sporednim ključevima, prvo da kombinujete vrednosti da biste kreirali kolonu ključnih pre nego što kreirate relaciju. Možete da uradite ovo pre nego što uvezete podatke, ili tako što ćete kreirati izračunate kolone u modelu podataka koristeći Power Pivot programski dodatak.

Relacija više-prema-više

Model podataka ne može da sadrži više-prema-više relacija. Jednostavno ne možete dodati spajanja tabela u modelu. Međutim, možete da koristite DAX funkcije za više-prema-više relacija modela.

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.

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 ime kolone ključa na strani je slično ime ključa kolone u tabelu za pronalaženje. Imena ne treba da bude isto. Na primer, u poslovnom smislu, često imate varijacije na imena kolona koje sadrže u suštini iste podatke: Emp ID ", IDZaposlenog" "," ID zaposlenog "," EMP_IDi tako dalje. Algoritam otkriva slična imena i veća verovatnoća dodeljuje tim kolonama koje imaju slične ili koje se potpuno podudaraju imena. Stoga, da biste povećali verovatnoću da kreirate relaciju, možete da probate preimenovanje kolona u podacima koje ste uvezli da nešto slično kolona u postojeći tabelama. Ako Excel pronađe više mogućih relacija, onda je ne Kreirajte 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.

Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×