Relacije med tabelami v podatkovnem modelu

Opomba:  Najnovejšo vsebino pomoči v vašem jeziku vam želimo zagotoviti v najkrajšem možnem času. Ta stran je bila prevedena z avtomatizacijo in lahko vsebuje slovnične napake ali nepravilnosti. Naš namen je, da bi bila vsebina za vas uporabna. Ali nam lahko na dnu te strani sporočite, ali so bile informacije za vas uporabne? Tukaj je angleški članek za preprosto referenco.

Vaš brskalnik ne podpira tega videoposnetka. Namestite Microsoft Silverlight, Adobe Flash Player ali Internet Explorer 9.
Video: Relacije v funkciji Power View in dodatku Power Pivot

Video: Relacije v funkciji Power View in dodatku Power Pivot

Video: Relacije v funkciji Power View in dodatku Power Pivot

Video: Relacije v funkciji Power View in Power Pivot

Dodajanje več moči za analizo podatkov z ustvarjanjem odnosov amogn različnih tabel. Relacije je povezava med dvema tabelama, ki vsebujejo podatke: en stolpec v vsaki tabeli je osnova za relacijo. Če si želite ogledati, zakaj so uporabne odnosi, predstavljati, da jim sledite podatke za naročila za stranke v vašem podjetju. Lahko sledenje vseh podatkov v eno tabelo s strukturo, kot je ta:

IDStranke

Ime

E-pošta

OdstotekPopusta

IDNaročila

DatumNaročila

Izdelek

Količina

1

Ashton

chris.ashton@contoso.com

.05

256

2010-01-07

Compact Digital

11

1

Ashton

chris.ashton@contoso.com

.05

255

2010-01-03

SLR Camera

15

2

Jaworski

michal.jaworski@contoso.com

.10

254

2010-01-03

Budget Movie-Maker

27

Ta pristop lahko deluje, toda shranjevati morate veliko odvečnih podatkov, kot je npr. e-poštni naslov stranke pri vsakem naročilu. Shramba je poceni, toda če se e-poštni naslov spremeni, morate za to stranko obvezno posodobiti vsako vrstico. Ena rešitev je, da razdelite podatke v več tabel in med temi tabelami določite odnose. Ta pristop se uporablja v relacijskih zbirkah podatkov, kot je strežnik SQL Server. V zbirki podatkov, ki jo uvozite, bi na primer podatke o naročilih lahko predstavili s tremi povezanimi tabelami:

Stranke

[IDStranke]

Ime

E-pošta

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

Popusti za stranke

[IDStranke]

OdstotekPopusta

1

.05

2

.10

Naročila

[IDStranke]

IDNaročila

DatumNaročila

Izdelek

Količina

1

256

2010-01-07

Compact Digital

11

1

255

2010-01-03

SLR Camera

15

2

254

2010-01-03

Budget Movie-Maker

27

Razmerja obstajajo v podatkovnem modelu, ki izrecno ustvarite ali eno, da Excel samodejno ustvari v vašem imenu, ko hkrati uvozite več tabel. Uporabite lahko tudi Power Pivot dodatek za ustvarjanje ali upravljanje model. Če želite več podrobnosti, glejte Ustvarjanje podatkovnega modela v Excelu .

Če za uvoz te tabele iz iste zbirke podatkov uporabite dodatek Power Pivot, lahko Power Pivot zazna relacije med njimi na podlagi stolpcev v [oglatih oklepajih] in te relacije znova ustvari v podatkovnem modelu, ki ga izdeluje v ozadju. Če želite več informacij, glejte Samodejno zaznavanje in določanje odnosov v tem članku. Če uvozite tabele iz več virov, lahko ročno ustvarjate relacije, kot je opisano v razdelku Ustvarjanje relacije med dvema tabelama.

Odnosov, ki temeljijo na stolpce v vsaki tabeli, ki vsebuje iste podatke. Na primer lahko povezana tabela strank s tabela naročil za vsak stolpec, ki shranjuje ID stranke. V primeru imena stolpcev so enake, vendar to ni pogoj. Nekaj je mogoče CustomerID in drugo ŠtevilkaStranke kot vse vrstice v tabeli naročila vsebujejo ID, ki je shranjena tudi v tabelo »stranke« .

V relacijski zbirki podatkov, obstaja več vrst ključev. Ključ je po navadi stolpec z posebne lastnosti. Razumevanje namena vsak ključ lahko pomagajo pri upravljanju več tabel podatkovni Model, ki zagotavlja podatke v poročilu vrtilne tabele in vrtilnega grafikona v Power View.

Čeprav obstaja več vrst ključev, to so najbolj pomembne za naše namene tukaj:

  • Primarni ključ: enolično določi vrstico v tabeli, kot je CustomerID v tabeli Customers .

  • Nadomestni ključ (ali kandidat ključ): stolpec kot primarni ključ, ki je enolična. Na primer tabelo »zaposleni «lahko shranijo ID zaposlenega in številka socialnega zavarovanja, ki so edinstvene.

  • Tuji ključ: stolpec, ki se sklicuje na edinstveno stolpec v drugi tabeli, kot je CustomerID v tabeli naročila , ki se nanaša na CustomerID v tabeli Customers.

V podatkovnem modelu, primarni ključ ali nadomestni ključ se imenuje povezani stolpec. Če so tabele, tako primarnih in nadomestni ključ, lahko uporabite tistega kot osnovo relacije tabele. Tuji ključ iz kot izvorni stolpec ali samo stolpca. V našem primeru bi opredeljena relacije med CustomerID v tabeli naročila (stolpcev) in CustomerID v tabelo »stranke« (stolpec za iskanje). Če uvozite podatke iz relacijske zbirke podatkov, privzeto Excel izbere tuji ključ iz ene tabele in ustreznih primarni ključ iz druge tabele. Vendar pa lahko uporabite stolpec, ki vsebuje enolične vrednosti v stolpcu za iskanje.

Relacija med stranke in naročila je ena proti mnogo relacije. Vsakega kupca lahko več naročila, vendar redom ne more imeti več strank. Drugo pomembno relacije med tabelama je ena. V našem primeru spodaj, popusti za stranke tabelo, ki določa eno diskontna stopnja za vsakega uporabnika, so v relaciji s tabelo »stranke« .

V tej tabeli so prikazani odnosi med tremi tabelami(stranke, popusti za strankein naročila):

Odnos

Vrsta

Stolpec za iskanje

Stolpec

Stranke-PopustiZaStranke

ena proti ena

Stranke.IDStranke

PopustiZaStranke.IDStranke

Stranke-Naročila

ena na mnogo

Stranke.IDStranke

Naročila.IDStranke

Opomba:  Podatkovni model ne podpira relacij »mnogo na mnogo«. Primer odnosa »mnogo na mnogo« je neposreden odnos med tabelama Products in Customers: stranka lahko kupi veliko izdelkov, enak izdelek pa lahko kupi veliko strank.

Po kateri koli Relacija je bila ustvarjena, Excel morate po navadi Preračunavanje formul, ki uporabljajo stolpce iz tabel v novo ustvarjenem odnos. Obdelava lahko traja nekaj časa, odvisno od količine podatkov in zapletenost relacije. Če želite več informacij, si oglejte Preračunavanje formul.

Podatkovni Model lahko več relacij med dvema tabelama. Če želite ustvariti natančne izračune, Excel potrebuje eno pot iz ene tabele v drugo. Zato le eno relacijo med obema tabel je aktivno hkrati. Čeprav na druge neaktivne, lahko določite neaktivne relacije v formulah in poizvedb.

V pogledu diagrama, aktivnega odnosa je neprekinjene črte in neaktivne tiste, ki so črtkane črte. Na primer v AdventureWorksDW2012, tabela DimDate vsebuje stolpec »ključ datuma«, ki je povezana s tri različne stolpce v tabeli FactInternetSales: OrderDate, da bi DueDatein datum pošiljke. Če aktivnega odnosa med »ključ datuma «in »OrderDate« , ki je privzeto razmerje med v formulah, razen če določite drugače.

Relacije ni mogoče ustvariti, kadar so izpolnjeni ti pogoji:

Pogoji

Opis

Enolični identifikator za vsako tabelo

Vsaka tabela mora imeti en stolpec, ki enolično prepozna vsako vrstico v tej tabeli. Ta stolpec se pogosto imenuje primarni ključ.

Enolični stolpci za iskanje

Podatkovne vrednosti v stolpcu za iskanje morajo biti enolične. Z drugimi besedami, stolpec ne sme vsebovati dvojnikov. V podatkovnem modelu so ničle in prazni nizi enaki prazni celici, ki je posebna podatkovna vrednost. To pomeni, da v stolpcu za iskanje ne sme biti več ničel.

Združljivi podatkovni tipi

Podatkovni tipi v izvorni stolpec in stolpec za iskanje, morate biti združljivi. Če želite več informacij o podatkovnih tipih, glejte podatkovni tipi, podprti v podatkovnih modelih.

V podatkovnem modelu ne morete ustvariti relacije med tabelama, če je ključ sestavljen ključ. Prav tako je omejeno ustvarjanje relacij »ena na ena« in »ena na mnogo«. Druge vrste relacij niso podprte.

Sestavljeni ključi in stolpci za iskanje

Sestavljenega ključa je sestavljen iz več stolpcev. Podatkovni modeli ni mogoče uporabiti sestavljeni ključi: tabele morajo vedno imeti točno en stolpec, ki enolično identificira vsako vrstico v tabeli. Če uvozite tabele, ki imajo obstoječo relacijo, ki temelji na sestavljenega ključa za uvažanje tabel v Dodatku Power Pivot Prezri to relacijo, ker ga ni mogoče ustvariti v modelu.

Če želite ustvariti relacije med dvema tabelama, ki imajo več stolpcev, ki določa primarnih in tujih ključih, najprej združiti vrednosti, ki ustvari en stolpec ključa, preden ustvarite relacijo. To lahko naredite, preden uvozite podatke, ali tako, da ustvarite izračunani stolpec v podatkovni Model, uporaba dodatka Powerpivot dodatka.

Mnogo proti mnogo relacije

Podatkovni Model, ne more imeti mnogo proti mnogo relacije. Ni mogoče preprosto dodajte križišča tabele v modelu. Lahko pa uporablja funkcije DAX modela mnogo proti mnogo odnosom.

Samozdruževanja in zanke

Samozdruževanja v podatkovnem modelu niso dovoljena. Samozdruževanje je rekurziven odnos, pri katerem se tabela združi sama s seboj. Velikokrat se uporablja za določanje hierarhij »nadrejeni–podrejeni«. Tabelo Employees bi lahko na primer združili samo s seboj, da bi ustvarili hierarhijo, ki prikazuje vodstveno verigo v podjetju.

Excel ne dovoljuje ustvarjanja zank med odnosi v delovnem zvezku. Z drugimi besedami, spodnji nabor odnosov je prepovedan.

Tabela 1, stolpec a   proti   Tabela 2, stolpec f

Tabela 2, stolpec f   proti   Tabela 3, stolpec n

Tabela 3, stolpec n   proti   Tabela 1, stolpec a

Če poskusite ustvariti odnos, ki bi povzročil nastanek zanke, pride do napake.

Ena od prednosti uvažanja podatkov z dodatkom Power Pivot je, da lahko Power Pivot včasih samodejno zazna ter ustvari nove relacije v podatkovnem modelu, ki ga ustvari v Excelu.

Ko uvozite več tabel, Power Pivot samodejno zazna morebitne obstoječe relacije med njimi. Ko ustvarite vrtilno tabelo, Power Pivot  analizira tudi podatke v tabelah. Zazna morebitne odnose, ki še niso določeni, in predlaga stolpce, ki bi bili primerni za vključitev v te odnose.

Algoritem zaznavanja uporablja statistične podatke o vrednostih in metapodatke stolpcev ter tako odloča o verjetnosti odnosov.

  • Podatkovni tipi v vseh povezanih stolpcih morajo biti združljivi. Samodejno zaznavanje podpira samo podatkovne tipe celih števil in besedila. Če želite več informacij o podatkovnih tipih, glejte Podatkovni tipi, ki jih podpirajo podatkovni modeli.

  • Za uspešno zaznavanje odnosa mora biti število enoličnih ključev v stolpcu za iskanje večje od vrednosti v tabeli na strani »mnogo«. Z drugimi besedami, stolpec s ključem na strani odnosa »mnogo« ne sme vsebovati vrednosti, ki ne obstajajo v stolpcu s ključem v tabeli za iskanje. Predstavljajte si na primer tabelo, ki našteje izdelke z njihovimi številkami ID (tabela za iskanje) in tabelo prodaj, ki našteje prodaje za vsak izdelek (stran odnosa »mnogo«). Če vaši zapisi o prodajah vsebujejo številko ID izdelka, ki nima ustrezne številke ID v tabeli Products, odnosa ni mogoče samodejno ustvariti, morda pa ga lahko ustvarite ročno. Če želite, da Excel zazna odnos, morate najprej posodobiti tabelo za iskanje Product s številkami ID izdelkov, ki manjkajo.

  • Preverite, ali je ime stolpec s ključen na več strani, podobno ime stolpec ključa v tabele za iskanje. Imena ni treba biti popolnoma enaka. Na primer, v okolju podjetja, pogosto imate spremembe na imena stolpcev, ki vsebuje predvsem istih podatkov: Emp ID IDZaposlenega, ID zaposlenega, EMP_IDin tako naprej. Algoritem zazna podobna imena in dodeli večjo verjetnost te stolpce, ki so podobne ali točno ujemanje imen. Zato, če želite povečati verjetnost, da ustvarite relacijo, poskusite preimenovati stolpce s podatki, ki ste uvozili v podoben stolpcev v obstoječi tabeli. Če Excel najde več mogoče odnosov, nato pa ga ne ustvarite relacijo.

Te informacije vam lahko pomagajo razumeti, zakaj se ne zaznajo vsi odnosi ali kako lahko spremembe metapodatkov--kot npr. ime polja in podatkovni tipi--izboljšajo rezultate samodejnega zaznavanja odnosov. Če želite več informacij, glejte Odpravljanje težav z odnosi.

Samodejno zaznavanje za poimenovane nize

Odnosi med poimenovanimi nizi in povezanimi polji v vrtilni tabeli se ne zaznajo samodejno. Ustvarite jih lahko ročno. Če želite, da se odnosi zaznajo samodejno, odstranite vsak poimenovani niz in dodajte posamezna polja iz poimenovanega niza neposredno v vrtilno tabelo.

Določanje odnosov

V nekaterih primerih se odnosi med tabelami samodejno združijo. Če na primer ustvarite odnos med prvima dvema paroma tabel spodaj, se predpostavlja odnos med preostalima dvema tabelama in se tudi samodejno ustvari.

Products in Category -- ročno ustvarjen odnos

Category in SubCategory -- ročno ustvarjen odnos

Products in SubCategory -- odnos se predpostavlja

Če želite, da se odnosi samodejno povežejo, morajo potekati v eno smer, kot je prikazano zgoraj. Če bi bil začetni odnos vzpostavljen na primer med tabelami Sales in Products ter Sales in Customers, se odnos ne določi. Razlog je v tem, da je odnos med Products in Customers odnos »mnogo na mnogo«.

Razširite poznavanje Officea
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×