Office
Přihlásit se

Relace mezi tabulkami v datovém modelu

Poznámka:  Snažíme se pro vás co nejrychleji zajistit aktuální obsah nápovědy ve vašem jazyce. Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát ve spodní části této stránky vědět, jestli vám informace v článku pomohly? Pokud byste se rádi podívali na jeho anglickou verzi, najdete ji tady .

Váš prohlížeč nepodporuje video. Nainstalujte si Microsoft Silverlight, Adobe Flash Player nebo Internet Explorer 9.
Video: Relace v Power View a PowerPivotu

Video: Relace v Power View a PowerPivotu

Video: Relace v Power View a PowerPivotu

Video: Relace v Power View a Powerpivotu

Přidejte další power k analýze dat vytvořením relací mezi různými tabulkami amogn. Relace je spojení mezi dvěma tabulkami, které obsahují data: jeden sloupec ve všech tabulkách se základem relace. Proč jsou užitečné relace zobrazíte Představte si sledovat data objednávky zákazníků ve vaší firmě. Může sledovat všechna data v jedné tabulce s strukturu takto:

CustomerID (ID zákazníka)

Name (Jméno)

EMail (E-mail)

DiscountRate (Procento slev)

OrderID (ID objednávky)

OrderDate (Datum objednávky)

Product (Produkt)

Quantity (Množství)

1

Ashton

chris.ashton@contoso.com

0,05

256

7. ledna 2010

Digitální kompakt

11

1

Ashton

chris.ashton@contoso.com

0,05

255

3. ledna 2010

Zrcadlovka

15

2

Jaworski

michal.jaworski@contoso.com

0,10

254

3. ledna 2010

Levný program na zpracování videa

27

Tento přístup může fungovat, ale je s ním spojeno uchovávání velkého množství redundantních dat, například e-mailové adresy zákazníka u každé objednávky. Úložný prostor je sice levný, ale při změně e-mailové adresy zákazníka musíte zajistit aktualizaci všech řádků, které ji obsahují. Jedním z řešení tohoto problému je rozdělit data do více tabulek a definovat mezi nimi relace. Tento přístup používají relační databáze, například databáze systému SQL Sever. Importovaná databáze by například mohla obsahovat data objednávek ve třech tabulkách s definovanými relacemi:

Customers (Zákazníci)

[CustomerID] (ID zákazníka)

Name (Jméno)

Email (E-mail)

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

CustomerDiscounts (Slevy zákazníků)

[CustomerID] (ID zákazníka)

DiscountRate (Procento slev)

1

0,05

2

0,10

Orders (Objednávky)

[CustomerID] (ID zákazníka)

OrderID (ID objednávky)

OrderDate (Datum objednávky)

Product (Produkt)

Quantity (Množství)

1

256

7. ledna 2010

Digitální kompakt

11

1

255

3. ledna 2010

Zrcadlovka

15

2

254

3. ledna 2010

Levný program na zpracování videa

27

Existují relace v datovém modelu, který explicitně vytvoříte nebo které aplikace Excel automaticky vytvoří vaším jménem při souběžné importovat více tabulek. Taky můžete doplněk Power Pivot vytvářet nebo spravovat modelu. Další informace najdete v článku Vytvoření datového modelu v Excelu .

Pokud pro import tabulek ze stejné databáze použijete Power Pivot, může Power Pivot rozpoznat vzájemné relace tabulek na základě sloupců v hranatých závorkách a tyto relace reprodukovat v datovém modelu, který vytváří na pozadí. Další informace najdete v tématu Automatické rozpoznávání a odvozování relací v tomto článku. Pokud importujete tabulky z víc zdrojů, můžete relace vytvořit ručně pomocí postupu popsaného v tématu Vytvoření relace mezi dvěma tabulkami.

Relace jsou na základě sloupců ve všech tabulkách, které obsahují stejná data. Například může se týkají, že tabulky Zákazníci s tabulku objednávky pokud každý obsahuje sloupec, který ukládá ID zákazníka. V příkladu názvy sloupců jsou stejná, ale není povinné. CustomerID a jiné ČísloZákazníka jednu může být, dokud všechny řádky v tabulce objednávky obsahují ID taky uloženými v tabulce Zákazníci.

Relační databáze existuje několik typů klíče. Klíč je obvykle sloupec s speciální vlastnosti. Principy účel každý klíč vám usnadní správu tvořené několika tabulkami datového modelu, které zdrojem dat pro kontingenční tabulku, graf nebo Power View.

Když je moc typů klíčů, Tyhle ze všech nejdůležitější pro naše účel:

  • Primární klíč: jednoznačně identifikuje řádek v tabulce, jako jsou ID zákazníka v tabulce Zákazníci .

  • Alternativní klíč (nebo klávesy candidate): sloupce než primární klíč, které jsou jedinečné. Tabulka Zaměstnanci může obsahují například ID zaměstnance a rodné číslo, které jsou jedinečné.

  • Cizí klíč: sloupec odkazující na jedinečný sloupec v jiné tabulce, například CustomerID v tabulce objednávky , který odkazuje na CustomerID v tabulce Zákazníci.

V datovém modelu primárního klíče nebo alternativní klíč se nazývá související sloupec. Pokud má tabulka jak primární a alternativní klíč, můžete použít některou jako základ relace mezi tabulkami. Cizí klíč je uvedená jako zdrojový sloupec nebo jenom sloupec. V našem příkladu by definována relace mezi CustomerID v tabulce objednávky (sloupec) a CustomerID v tabulce Zákazníci (vyhledávací sloupec). Při importu dat z relační databáze, ve výchozím nastavení Excel vybere cizí klíč z jedné tabulky a odpovídajících primární klíč z druhé tabulky. Však může použít žádný sloupec, který obsahuje jedinečné hodnoty pro vyhledávací sloupec.

Vztah mezi zákazníka a objednávky je 1 n relace. Každý zákazník může mít více objednávek, ale smysluplném pořadí nesmí obsahovat více zákazníkům. Jiné důležité mezi tabulkami je přímé. V našem příkladu tady CustomerDiscounts tabulku, která definuje jeden diskontní sazby pro jednotlivé zákazníky, má relaci s tabulku Zákazníci.

Tato tabulka obsahuje přehled relací mezi uvedenými třemi tabulkami (Zákazníci CustomerDiscountsa objednávky):

Relace

Typ

Vyhledávací sloupec

Sloupec

Customers-CustomerDiscounts

1:1

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

1:N

Customers.CustomerID

Orders.CustomerID

Poznámka:  Datový model nepodporuje relace M:N. Příkladem relace M:N je přímá relace mezi tabulkami Products (Produkty) a Customers (Zákazníci), kde si zákazník může koupit více produktů a stejně tak jeden produkt může být koupen více zákazníky.

Po vytvoření všechny relace třeba Excel obvykle přepočítat všechny vzorce využívající sloupce z tabulky v nově vytvořené relace. Zpracování může chvíli trvat, podle objemu dat a složitost vztahy. Další informace najdete v tématu Přepočet vzorců.

Datový Model může mít více relací mezi dvěma tabulkami. Pokud chcete vytvořit přesný výpočty, Excel potřebuje jedné cesty z jedné tabulky do jiné. Jedinou relace mezi dvěma tabulkami tedy aktivní najednou. Když na ostatní jsou neaktivní, můžete určit neaktivní relace ve vzorcích a dotazů.

V zobrazení diagramu aktivní relace je plné čáry a neaktivní z nich jsou přerušované čáry. Například v AdventureWorksDW2012, tabulce tabulce DimDate sloupcem, Datovýklíč, který se vztahuje k tři jiných sloupců v tabulce FactInternetSales: DatumObjednávky příklada ShipDate. Pokud je aktivní vztah mezi Datovýklíč a DatumObjednávky, je to výchozího vztahu ve vzorcích Pokud nezadáte jinak.

Relaci lze vytvořit po splnění následujících požadavků:

Kritérium

Popis

Jedinečný identifikátor v každé tabulce

Každá tabulka musí obsahovat jeden sloupec, který slouží jako jedinečný identifikátor každého řádku tabulky. Tento sloupec se často nazývá primární klíč.

Jedinečné vyhledávací sloupce

Hodnoty dat, které obsahuje vyhledávací sloupec, musejí být jedinečné. Sloupec tedy nesmí obsahovat duplicitní položky. V datovém modelu jsou hodnoty null a prázdné řetězce ekvivalentní prázdné hodnotě, která je samostatnou datovou hodnotou. To znamená, že ve vyhledávacím sloupci může být maximálně jedna hodnota null.

Kompatibilní datové typy

Datové typy v zdrojový sloupec a vyhledávací sloupec musí být kompatibilní. Další informace o datových typech naleznete v tématu datové typy podporované v datových modelech.

V datovém modelu nelze vytvořit relaci tabulky, pokud je klíč složený. Omezení se vztahuje i na vytvoření relací 1:1 nebo 1:N. Další typy relací nejsou podporovány.

Složené klíče a vyhledávací sloupce

Složeného klíče se skládá z víc než jednoho sloupce. Datové modely nelze použít složené klíče: tabulky musí vždy mít přesně jeden sloupec, který jednoznačně identifikuje každý řádek v tabulce. Při importu tabulky, které obsahují existující vztah založený na složeného klíče se Průvodce importem tabulky v doplňku Power Pivot danou relaci ignorovat, protože nelze vytvořit v modelu.

Pokud chcete vytvořit relace mezi dvěma tabulkami, které mají víc sloupců definování primárních a cizích klíčů, nejdřív kombinace hodnot k vytvoření klíčového sloupce před vytvořením relace. Můžete to udělat předtím, než můžete importovat data nebo vytvořením počítaného sloupce v datovém modelu pomocí doplňku Power Pivot doplňku.

Relace n: N

Datový Model nesmí obsahovat-n relace. Spojení tabulek nelze přidat jednoduše v modelu. Však může použít funkce jazyka DAX do modelu-n relace.

Spojení sama na sebe a cykly

Spojení sama na sebe nejsou v datovém modelu povolena. Spojení sama na sebe je rekurzivní relace tabulky se sebou samou. Spojení sama na sebe jsou často používána k definování relací typu nadřazený-podřízený. Tímto způsobem byste například mohli spojit tabulku Employees (Zaměstnanci) samu se sebou, čímž byste vytvořili hierarchii řízení ve firmě.

Aplikace Excel nepovoluje vytváření cyklických relací v sešitu. Jinými slovy, následující sada relací není povolena.

Sloupce a tabulky 1   se   sloupcem f tabulky 2

Sloupce f tabulky 2   se   sloupcem n tabulky 3

Sloupce n tabulky 3   se   sloupcem a tabulky 1

Při pokusu o vytvoření relace, která by vedla ke vzniku cyklu, se zobrazí chybová zpráva.

Jednou z výhod importu dat pomocí doplňku Power Pivot je, že Power Pivot může někdy rozpoznat relace a vytvořit nové relace v datovém modelu, který předtím vytvořil v Excelu.

Při importu víc tabulek rozpozná Power Pivot automaticky všechny stávající relace mezi tabulkami. Power Pivot provede analýzu dat v tabulkách taky při vytvoření kontingenční tabulky. Rozpozná možné relace, které ještě nebyly definované, a doporučí vhodné sloupce, které by měly být součástí těchto relací.

Algoritmus rozpoznávání používá statistická data týkající se hodnot a metadata sloupců k vytvoření hypotéz o pravděpodobnosti relací.

  • Datové typy ve všech sloupcích v relaci by měly být kompatibilní. Pro účely automatického rozpoznávání jsou podporovány pouze celočíselné a textové datové typy. Další informace o datových typech naleznete v tématu Datové typy podporované v datových modelech.

  • Aby relace mohla být rozpoznána, musí být počet jedinečných klíčů ve vyhledávacím sloupci větší než počet hodnot v tabulce na straně N relace. Jinými slovy klíčový sloupec na straně „N“ relace nesmí obsahovat hodnoty, které se nenacházejí v klíčovém sloupci vyhledávací tabulky. Předpokládejme například, že máte tabulku obsahující seznam produktů s jejich ID (vyhledávací tabulka) a tabulku, ve které jsou uvedeny prodeje jednotlivých produktů (strana „N“ relace). Pokud záznamy o prodejích obsahují ID, ke kterým neexistují odpovídající ID v tabulce Products, nemůže být relace vytvořena automaticky. Relaci však můžete vytvořit ručně. Chcete-li, aby aplikace Excel relaci rozpoznala, je třeba nejprve aktualizovat vyhledávací tabulku Product a doplnit do ní ID chybějících produktů.

  • Zkontrolujte, že název klíčového sloupce na straně n je podobný název klíčového sloupce ve vyhledávací tabulce. Názvy nemusí být stejný. Například v nastavení business často máte varianty na názvy sloupců, které obsahují v podstatě stejná data: Emp ID EmployeeID, ID zaměstnance, EMP_IDatd. Algoritmus rozpozná podobný název a přiřadí sloupce, které mají podobný nebo přesně odpovídající názvy vyšší pravděpodobnost. Proto zvýšíte pravděpodobnost vytvoření relace, můžete zkusit přejmenování sloupce dat, které importujete do podobnou sloupců do existující tabulky. Když Excel najde několik možných vztahů, pak nevytvoří relace.

Tyto informace vám mohou pomoci pochopit, proč nejsou zjištěny všechny relace a jak mohou změny metadat (například názvů polí a datových typů) vést ke zlepšení výsledků automatického rozpoznávání relací. Další informace naleznete v tématu Řešení problémů s relacemi.

Automatické rozpoznávání pojmenovaných sad

Relace mezi pojmenovanými sadami a poli kontingenční tabulky nejsou zjištěny automaticky. Tyto relace je možné vytvořit ručně. Chcete-li použít automatické rozpoznávání relací, odeberte všechny pojmenované sady a přidejte jednotlivá pole z pojmenovaných sad přímo do kontingenční tabulky.

Odvozování relací

V některých případech jsou relace mezi tabulkami automaticky zřetězeny. Bude-li tedy například vytvořena relace mezi prvními dvěma níže uvedenými sadami tabulek, mezi dalšími dvěma tabulkami se odvodí a automaticky vytvoří relace.

Products a Category (Produkty a Kategorie) – vytvořeno ručně

Category a SubCategory (Kategorie a Podkategorie) – vytvořeno ručně

Products a SubCategory (Produkty a Podkategorie) – odvozená relace

Má-li dojít k automatickému zřetězení relací, je třeba, aby relace šly jedním směrem (viz výše). Pokud by počáteční relace byly (například) mezi tabulkami Sales a Products a mezi tabulkami Sales a Customers, nedošlo by k odvození relace. Důvodem je fakt, že relace mezi tabulkami Products a Customers je typu M:N.

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×