Vzťahy medzi tabuľkami v modeli údajov

Poznámka:  Radi by sme vám čo najrýchlejšie poskytovali najaktuálnejší obsah Pomocníka vo vašom vlastnom jazyku. Táto stránka bola preložená automaticky a môže obsahovať gramatické chyby alebo nepresnosti. Naším cieľom je, aby bol tento obsah pre vás užitočný. Dali by ste nám v dolnej časti tejto stránky vedieť, či boli pre vás tieto informácie užitočné? Tu nájdete anglický článok pre jednoduchú referenciu.

Váš prehliadač nepodporuje video. Nainštalujte si Microsoft Silverlight, Adobe Flash Player alebo Internet Explorer 9.
Video: Vzťahy vo funkcii Power View a v doplnku PowerPivot

Video: Vzťahy vo funkcii Power View a v doplnku PowerPivot

Video: Vzťahy vo funkcii Power View a v doplnku PowerPivot

Video: Vzťahy vo funkcii Power View a Power Pivot

Rozšírenie možností analýze údajov vytvorením vzťahov amogn rôznych tabuliek. Vzťah je spojenie medzi dvoma tabuľkami, ktoré obsahujú údaje: jeden stĺpec v každej tabuľke je základom pre vzťah. Ak chcete zistiť, prečo sú užitočné vzťahy, si predstavme, že sledovať údaje objednávok zákazníka v rámci podniku. Môžu sledovať všetky údaje v jednej tabuľke s štruktúrou takto:

CustomerID

Name

EMail

DiscountRate

OrderID

OrderDate

Product

Quantity

1

Baláž

martin.balaz@contoso.com

0,05

256

7. 1. 2010

Digitálny kompakt

11

1

Baláž

martin.balaz@contoso.com

0,05

255

3. 1. 2010

Zrkadlovka

15

2

Lukáč

tomas.lukac@contoso.com

0,10

254

3. 1. 2010

Filmový set

27

Tento prístup môže fungovať, ale zahŕňa uloženie množstva nadbytočných údajov, ako je napríklad e-mailová adresa zákazníka pre každú objednávku. Ukladací priestor je lacný, ale v prípade zmeny e-mailovej adresy je nutné zabezpečiť aktualizáciu každého riadka pre daného zákazníka. Jedným z možných riešení tohto problému je rozdelenie údajov do viacerých tabuliek a definovanie vzťahov medzi týmito tabuľkami. Tento prístup sa uplatňuje v relačných databázach, ako sú napríklad databázy programu SQL Server. Importovaná databáza napríklad môže predstavovať údaje objednávky pomocou troch súvisiacich tabuliek:

Customers

[CustomerID]

Name

Email

1

Baláž

martin.balaz@contoso.com

2

Lukáč

tomas.lukac@contoso.com

CustomerDiscounts

[CustomerID]

DiscountRate

1

0,05

2

0,10

Orders

[CustomerID]

OrderID

OrderDate

Product

Quantity

1

256

7. 1. 2010

Digitálny kompakt

11

1

255

3. 1. 2010

Zrkadlovka

15

2

254

3. 1. 2010

Filmový set

27

Existujú vzťahy v rámci Model údajov – ten, ktorý vytvoríte explicitne alebo také, ktoré program Excel automaticky vytvorí vo vašom mene pri importe súčasne viacerých tabuliek. Môžete použiť aj doplnok PowerPivot na vytváranie a spravovanie model. Podrobné informácie v téme Vytvorenie dátového modelu v Exceli .

Ak na import tabuliek z tej istej databázy použijete doplnok PowerPivot, PowerPivot dokáže rozpoznať vzťahy medzi tabuľkami na základe stĺpcov uvedených v [hranatých zátvorkách] a dokáže reprodukovať tieto vzťahy v údajovom modeli, ktorý zostaví na pozadí. Ďalšie informácie nájdete v tomto článku v časti Automatické zisťovanie a určovanie vzťahov. Ak importujete tabuľky z viacerých zdrojov, môžete manuálne vytvoriť vzťahy tak, ako je popísané v téme Vytvorenie vzťahu medzi dvomi tabuľkami.

Vzťahy sú založené na stĺpcov v každej tabuľke, ktoré obsahujú rovnaké údaje. Napríklad by sa mohli týkať, Tabuľka zákazníci so tabuľky objednávky , ak každý obsahuje stĺpec, ktorý ukladá ID zákazníka. V uvedenom príklade názvy stĺpcov sú rovnaké, ale nie je potrebné. Jedným môže byť Identifikácia zákazníka a iného CustomerNumber ako všetky riadky v tabuľke Objednávky obsahuje ID, ktoré sú uložené aj v tabuľke Zákazníci.

Relačné databázy, existuje niekoľko typov tlačidiel. Kľúč je zvyčajne stĺpec s špeciálne vlastnosti. Pochopenie účelu každý kľúč môžu pomôcť pri spravovaní viacerých tabuliek dátového modelu, ktorá poskytuje údaje do zostavy kontingenčnej tabuľky, kontingenčného grafu alebo funkcie Power View.

Keď existuje veľa typov klávesy, Toto sú tie najdôležitejšie pre náš účel tu:

  • Hlavný kľúč: jedinečne identifikuje riadok v tabuľke, ako napríklad CustomerID v tabuľke zákazníci .

  • Alternatívny kľúč (alebo kandidát kľúč): stĺpca ako hlavný kľúč, ktorý je jedinečný. Tabuľka zamestnanci môžu uložiť napríklad identifikácia zamestnanca a číslo sociálneho zabezpečenia, ktoré sú jedinečné.

  • Cudzí kľúč: stĺpec odkazujúci na jedinečný stĺpec v inej tabuľke, ako napríklad CustomerID v tabuľke Orders , ktorý odkazuje na stĺpec CustomerID v tabuľke Zákazníci.

V časti Dátový Model hlavný kľúč alebo alternatívny kľúč sa nazýva súvisiaci stĺpec. Ak má tabuľka ako primárny a alternatívny kľúč, môžete použiť jeden ako základ vzťahu medzi tabuľkami. Zdrojový stĺpec alebo len stĺpcov sa nazýva cudzí kľúč. V našom príklade by byť definované vzťahu medzi CustomerID v tabuľke objednávky (stĺpci) a CustomerID v tabuľke zákazníci (vyhľadávací stĺpec). Ak importujete údaje z relačnej databázy, v predvolenom nastavení Excel vyberie cudzí kľúč z jednej tabuľky a zodpovedajúcich hlavný kľúč z inej tabuľky. Však môžete použiť ľubovoľný stĺpec, ktorý obsahuje jedinečné hodnoty pre vyhľadávací stĺpec.

Vzťah medzi klientom a poradie je vzťahu one-to-many. Každý zákazník môže mať viacero objednávok, ale poradie nesmú byť ďalších zákazníkov. Ďalšie dôležité tabuľkami je "one-to-One". V našom príklade, CustomerDiscounts tabuľku, ktorá definuje jeden diskontnej sadzby pre každého zákazníka, má vzťahu "one-to-one" tabuľku Zákazníci.

Táto tabuľka zobrazuje vzťahy medzi troma tabuľkami (zákazníkov, CustomerDiscountsa objednávky):

Vzťah

Typ

Stĺpec vyhľadávania

Stĺpec

Customers-CustomerDiscounts

one-to-one

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

one-to-many

Customers.CustomerID

Orders.CustomerID

Poznámka:  Model údajov nepodporuje vzťahy „many-to-many“. Ako príklad vzťahu „many-to-many“ je možné uviesť priamy vzťah medzi tabuľkami Products a Customers, v ktorom zákazník môže nakúpiť viacero produktov a jeden produkt môže byť kúpený viacerými zákazníkmi.

Po každom vzťahu Excel musíte zvyčajne Prepočítať vzorce používajúce stĺpce z tabuliek v novo vytvorenej vzťah. Spracovanie môže chvíľu trvať, v závislosti od množstva údajov a zložitosť vzťahov. Ďalšie informácie nájdete v téme Prepočítanie vzorcov.

Dátový Model môže obsahovať viaceré vzťahy medzi dvoma tabuľkami. Ak chcete vytvoriť presné výpočty, Excel potrebuje jednej cesty z jednej tabuľky do druhej. Preto je aktívne len jeden vzťah medzi jednotlivé páry tabuliek naraz. Hoci ostatné sú neaktívne, môžete určiť neaktívny vzťah vo vzorcoch a dotazov.

V zobrazení diagramu aktívneho vzťahu je plná čiara a neaktívne ikony sú prerušované čiary. Napríklad v AdventureWorksDW2012, v tabuľke DimDate obsahuje stĺpec Formátdátumu, ktoré súvisia s tromi rôznych stĺpcov v tabuľke FactInternetSales: DátumObjednávky, DueDatea ShipDate. Ak aktívneho vzťahu medzi Formátdátumu a DátumObjednávky, ktoré je predvolené vzťah vo vzorcoch neurčíte inak.

Vzťah možno vytvoriť v prípade splnenia týchto požiadaviek:

Kritérium

Popis

Jedinečný identifikátor pre každú tabuľku

Každá tabuľka musí mať jeden stĺpec, ktorý jedinečne identifikuje každý riadok v tejto tabuľke. Tento stĺpec sa často označuje ako primárny kľúč.

Jedinečné stĺpce vyhľadávania

Údajové hodnoty v stĺpci vyhľadávania musia byť jedinečné. Inými slovami, stĺpec nemôže obsahovať duplicitné hodnoty. V modeli údajov sa hodnoty null a prázdne reťazce považujú za prázdnu hodnotu, čo je jedinečná údajová hodnota. To znamená, že v stĺpci vyhľadávania sa nemôže nachádzať viacero hodnôt null.

Kompatibilné typy údajov

Typy údajov v zdrojovom stĺpci a vyhľadávacieho stĺpca musia byť kompatibilné. Ďalšie informácie o typoch údajov nájdete v téme typy údajov podporované v dátových modelov.

V modeli údajov nemôžete vytvoriť vzťah tabuľky, ak je kľúčom zložený kľúč. Tiež nemožno vytvoriť vzťahy typu „one-to-one“ a „one-to-many“. Iné typy vzťahov sa nepodporujú.

Zložené kľúče a stĺpce vyhľadávania

Zložený kľúč sa skladá z viacerých stĺpcov. Dátové modely nemožno použiť zložené kľúče: tabuľku musia mať vždy presne jeden stĺpec, ktorý jedinečne identifikuje každý riadok v tabuľke. Ak importujete tabuľky, ktoré sa existujúce vzťahy na základe zložený kľúč, Sprievodca importom tabuľky v doplnku Power Pivot bude ignorovať vzťah, pretože ho nie je možné vytvoriť v modeli.

Vytvorenie vzťahu medzi dvoma tabuľkami, ktoré majú viac stĺpcov, definovaním primárnych a cudzích kľúčov, najprv kombinovať hodnoty vytvoriť jeden stĺpec kľúča pred vytvorením vzťahov. Môžete to urobiť pred importovať údaje, alebo vytvorením vypočítavaný stĺpec v dátovom modeli pomocou Power Pivotu doplnok.

Vzťahy many-to-Many

Dátový Model nemôže byť many-to-many vzťahy. Nie je možné jednoducho pridať spojenie tabuliek v modeli. Však môžete použiť funkcie jazyka DAX modelu many-to-many vzťahy.

Vlastné spojenia a slučky

Vlastné spojenia nie sú v modeli údajov povolené. Vlastné spojenie je rekurzívny vzťah medzi tabuľkou a tou istou tabuľkou. Vlastné spojenia sa často používajú na definovanie hierarchií nadradených a podriadených položiek. Môžete napríklad vytvoriť spojenie tabuľky Employees so sebou samou a vytvoriť hierarchiu, ktorá vyjadruje reťazec riadenia v podniku.

Program Excel nepovoľuje vytváranie slučiek medzi vzťahmi v zošite. Inými slovami, nasledujúca množina vzťahov je zakázaná.

Tabuľka 1, stĺpec a,   s   tabuľkou 2, stĺpcom f

Tabuľka 2, stĺpec f,   s   tabuľkou 3, stĺpcom n

Tabuľka 3, stĺpec n,   s   tabuľkou 1, stĺpcom a

Ak sa pokúsite vytvoriť vzťah smerujúci k vytvoreniu slučky, generuje sa chyba.

Jednou z výhod importovania údajov pomocou doplnku PowerPivot je, že PowerPivot dokáže niekedy zistiť vzťahy a vytvoriť nové vzťahy v údajovom modeli, ktorý vytvorí v Exceli.

Pri importe viacerých tabuliek PowerPivot automaticky zisťuje všetky existujúce vzťahy medzi tabuľkami. Aj pri vytváraní kontingenčnej tabuľky PowerPivot analyzuje údaje v tabuľkách. Zisťuje prípadné vzťahy, ktoré neboli definované, a navrhuje zodpovedajúce stĺpce na zahrnutie do týchto vzťahov.

Algoritmus zisťovania používa štatistické údaje o hodnotách a metaúdajoch stĺpcov, aby určil pravdepodobnosť vzťahov.

  • Typy údajov vo všetkých súvisiacich stĺpcoch by mali byť kompatibilné. Pri automatickom zisťovaní sú podporované iba celočíselné a textové typy údajov. Ďalšie informácie o typoch údajov nájdete v článku Typy údajov podporované v modeloch údajov.

  • Na úspešné zistenie vzťahu je nutné, aby počet jedinečných kľúčov v stĺpci vyhľadávania bol vyšší než hodnoty v tabuľke na strane „many“. Inými slovami, stĺpec kľúča na strane „many“ vzťahu nesmie obsahovať žiadne hodnoty, ktoré sa nenachádzajú v stĺpci kľúča tabuľky vyhľadávania. Predpokladajme napríklad, že máte tabuľku obsahujúcu produkty aj s ich identifikáciami (tabuľku vyhľadávania) a tabuľku predaja obsahujúcu údaje o predaji jednotlivých produktov (strana „many“ vzťahu). Ak záznamy o predaji obsahujú identifikáciu produktu, ktorý nemá zodpovedajúcu identifikáciu v tabuľke Products, vzťah sa nedá vytvoriť automaticky, ale môžete ho vytvoriť manuálne. Ak chcete, aby program Excel zistil vzťah, je najprv potrebné aktualizovať tabuľku vyhľadávania Products o identifikácie chýbajúcich produktov.

  • Skontrolujte, či je podobné názov kľúčové stĺpca v tabuľke Vyhľadávacie meno stĺpec kľúča na stranu "many". Mená nemusia byť presne také isté. Napríklad v obchodnom prostredí, často máte variácie na názvy stĺpcov, ktoré obsahujú v podstate rovnaké údaje: EPM ID identifikácia zamestnanca, identifikácia zamestnanca, EMP_IDa podobne. Algoritmus rozpozná podobné mená a priradí vyššiu pravdepodobnosť na stĺpce, ktoré majú podobné alebo presne zodpovedajúce názvy. Preto, ak chcete zvýšiť pravdepodobnosť, že vytvorenie vzťahu, môžete sa pokúsiť premenovanie stĺpcov v údajoch, ktoré chcete importovať do podobná stĺpce v existujúcich tabuliek. Ak Excel nájde viacero možných vzťahov, potom nevytvára vzťah.

Tieto informácie vám môžu pomôcť pochopiť, prečo sa nezistia všetky vzťahy, alebo ako zmeny v metaúdajoch (ako napríklad názov poľa a typy údajov) môžu zlepšiť výsledky automatického zisťovania vzťahov. Ďalšie informácie nájdete v článku Riešenie problémov so vzťahmi.

Automatické zisťovanie pomenovaných množín

Vzťahy medzi pomenovanými množinami a súvisiacimi poľami v kontingenčnej tabuľke sa nezisťujú automaticky. Tieto vzťahy je možné vytvoriť manuálne. Ak chcete použiť automatické zisťovanie vzťahov, odstráňte všetky pomenované množiny a pridajte jednotlivé polia z pomenovanej množiny priamo do kontingenčnej tabuľky.

Určovanie vzťahov

V niektorých prípadoch sa vzťahy medzi tabuľkami automaticky zreťazia. Ak napríklad vytvoríte vzťah medzi prvými dvoma množinami tabuliek uvedenými nižšie, určí sa existencia vzťahu medzi zvyšnými dvoma tabuľkami a automaticky sa vytvorí určitý vzťah.

Products a Category (vytvorené manuálne)

Category a SubCategory (vytvorené manuálne)

Products a SubCategory (určí sa vzťah)

Na automatické zreťazenie vzťahov je nutné, aby vzťahy mali jeden smer, ako je uvedené vyššie. Ak počiatočné vzťahy boli napríklad medzi tabuľkami Sales a Products alebo Sales a Customers, vzťah sa neurčí. Je to tak preto, že vzťah medzi tabuľkami Products a Customers je vzťah „many-to-many“.

Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×