Relacje między tabelami w modelu danych

Uwaga:  Staramy się udostępniać najnowszą zawartość Pomocy w Twoim języku tak szybko, jak to możliwe. Ta strona została przetłumaczona automatycznie i może zawierać błędy gramatyczne lub nieścisłości. Chcemy, aby ta zawartość była dla Ciebie przydatna. Prosimy o powiadomienie nas, czy te informacje były pomocne, u dołu tej strony. Oto angielskojęzyczny artykuł do wglądu.

Przeglądarka nie obsługuje klipu wideo. Instalowanie dodatku Microsoft Silverlight, Adobe Flash Player lub programu Internet Explorer 9.
Klip wideo: relacje w programie Power View i dodatku PowerPivot

Klip wideo: relacje w programie Power View i dodatku PowerPivot

Klip wideo: relacje w programie Power View i dodatku PowerPivot

Klip wideo: Relacje w programie Power View i dodatku PowerPivot

Dodaj więcej możliwości do analizy danych przez utworzenie relacji między różnymi tabelami znajdującymi się amogn. Relacja to połączenie między dwiema tabelami, które zawierają dane: jednej kolumny w każdej tabeli jest podstawą relacji. Aby sprawdzić, dlaczego relacje są przydatne, załóżmy śledzić dane zamówień klientów w firmie. Można śledzić wszystkie dane w jednej tabeli o struktury w następujący sposób:

ID_klienta

Nazwa

AdresEmail

StawkaRabatu

ID_zamówienia

DataZamówienia

Produkt

Ilość

1

Janiszewski

krzysztof.janiszewski@contoso.com

0,05

256

2010-01-07

Kompaktowy aparat cyfrowy

11

1

Janiszewski

krzysztof.janiszewski@contoso.com

0,05

255

2010-01-03

Lustrzanka jednoobiektywowa

15

2

Jaworski

michal.jaworski@contoso.com

0,10

254

2010-01-03

Budżetowa kamera wideo

27

Takie podejście może się sprawdzić, ale wymaga przechowywania dużej ilości nadmiarowych danych, takich jak adres e-mail klienta, dla każdego zamówienia. Samo przechowywanie nie jest kosztowne, ale w przypadku zmiany adresu e-mail należy pamiętać o aktualizacji każdego wiersza skojarzonego z danym klientem. Jednym z rozwiązań tego problemu jest podzielenie danych na wiele tabel i zdefiniowanie relacji między tymi tabelami. Jest to podejście używane w relacyjnych bazach danych, takich jak bazy danych programu SQL Server. Na przykład importowana baza danych może przedstawiać dane dotyczące zamówień przy użyciu trzech powiązanych tabel:

Klienci

[ID_klienta]

Nazwa

AdresEmail

1

Janiszewski

krzysztof.janiszewski@contoso.com

2

Jaworski

michal.jaworski@contoso.com

RabatyDlaKlientów

[ID_klienta]

StawkaRabatu

1

0,05

2

0,10

Zamówienia

[ID_klienta]

ID_zamówienia

DataZamówienia

Produkt

Ilość

1

256

2010-01-07

Kompaktowy aparat cyfrowy

11

1

255

2010-01-03

Lustrzanka jednoobiektywowa

15

2

254

2010-01-03

Budżetowa kamera wideo

27

Istnieją relacje w modelu danych, które są tworzone jawnie lub jedną, program Excel automatycznie utworzy w Twoim imieniu jednocześnie importowania wielu tabel. Umożliwia także dodatek Power Pivot do tworzenia lub zarządzanie modelem. Aby uzyskać szczegółowe informacje, zobacz Tworzenie modelu danych w programie Excel .

Jeśli tabele są importowane z jednej bazy danych za pomocą dodatku Power Pivot, dodatek Power Pivot może wykryć relacje między tabelami na podstawie kolumn ujętych w [nawiasy kwadratowe] i odtworzyć te relacje w modelu danych, który jest tworzony w tle. Aby uzyskać więcej informacji, zobacz sekcję Automatyczne wykrywanie i wnioskowanie relacji w tym artykule. W przypadku importowania tabel z wielu źródeł można ręcznie tworzyć relacje, tak jak opisano w temacie Tworzenie relacji między dwiema tabelami.

Relacje są oparte na kolumn w każdej tabeli, które zawierają te same dane. Na przykład może odnosić się że tabelę Klienci z tabeli zamówienia , jeśli każdego zawiera kolumnę przechowuje Identyfikator klienta. W tym przykładzie nazwy kolumn są takie same, ale nie jest wymagane. Ile zawiera wszystkie wiersze w tabeli zamówienia identyfikator przechowywanego w tabeli Klienci, jedną mogą być Id_klienta i innym numer_klienta.

Relacyjne bazy danych istnieje kilka typów kluczy. Klucz jest zazwyczaj kolumny przy użyciu specjalnych właściwości. Opis przeznaczenia każdego klucza są pomocne przy zarządzaniu modelu danych wielu tabel, która jest źródłem danych w raporcie tabeli przestawnej i wykresu przestawnego, programu Power View.

Jeśli istnieje wiele typów kluczy, są najważniejsze w celu naszych poniżej:

  • Klucz podstawowy: jednoznacznie określa wiersz w tabeli, taka jak Id_klienta w tabeli Klienci .

  • Unikatowym (lub klawisz candidate): kolumny niż klucz podstawowy, który jest unikatowy. Na przykład tabeli Pracownicy może przechowywać identyfikator pracownika i numeru ubezpieczenia społecznego, które są unikatowe.

  • Klucz obcy: kolumny, która odwołuje się do unikatowej kolumny w innej tabeli, taka jak Id_klienta w tabeli zamówienia , która odwołuje się do kolumny Id_klienta w tabeli Klienci.

W modelu danych klucz podstawowy i klucz alternatywny jest określane jako kolumnę pokrewną. Jeśli tabela zawiera zarówno klucz podstawowy i alternatywny, można użyć jednego jako podstawy relacji tabeli. Klucz obcy jest określane jako kolumnę źródłową lub tylko kolumny. W naszym przykładzie chcesz zdefiniować relacji między Id_klienta w tabeli zamówienia (kolumnie) i Id_klienta w tabeli Klienci (kolumna odnośnika). Jeśli importujesz dane z relacyjnej bazy danych, domyślnie Excel wybiera odpowiedni klucz podstawowy i klucz obcy z jednej tabeli z innej tabeli. Jednak może zawierać dowolną kolumnę zawierającą unikatowe wartości w kolumnie odnośnika.

Relacja między klientem a zamówienia jest relacji jeden do wielu. Każdy odbiorca może mieć wiele zamówień, ale zamówienia nie może mieć wielu klientów. Inny relacji między tabelami ważne jest jeden. W naszym przykładzie poniżej tabeli CustomerDiscounts , która definiuje pojedynczy stopy dyskontowej dla każdego z klientów, ma relacją z tabeli Klienci.

W poniższej tabeli pokazano relacje między trzema tabelami (CustomerDiscounts, kliencii zamówienia):

Relacja

Typ

Kolumna odnośnika

Kolumna

Klienci-Rabaty_dla_klientów

jeden-do-jednego

Klienci.ID_klienta

Rabaty_dla_klientów.ID_klienta

Klienci-Zamówienia

jeden-do-wielu

Klienci.ID_klienta

Zamówienia.ID_klienta

Uwaga:  Model danych nie obsługuje relacji wiele-do-wielu. Przykładem relacji wiele-do-wielu jest bezpośrednia relacja między tabelami Produkty i Klienci, w której klient może kupić wiele produktów, a jeden produkt może zostać kupiony przez wielu klientów.

Po utworzeniu relacjach programu Excel zazwyczaj ponowne obliczanie formuł używające kolumn z tabel w nowo utworzonego relacja. Przetwarzanie może zająć trochę czasu, w zależności od ilości danych i złożoność relacje. Aby uzyskać więcej informacji zobacz Ponowne obliczanie formuł.

Model danych może mieć wiele relacji między dwiema tabelami. Aby utworzyć dokładności obliczeń, program Excel musi jedna ścieżka z jednej tabeli do drugiej. Dlatego tylko jedną relację między każdą parą tabel jest aktywny w danej chwili. Jeśli inne osoby nie są aktywne, można określić relacją nieaktywne w formułach i kwerend.

W widoku diagramu aktywnej relacji jest linią ciągłą i nieaktywne z nich są linie przerywane. Na przykład w AdventureWorksDW2012, tabeli Wymiardata tabela zawiera kolumnę, Kluczdaty, związanego z trzech różnych kolumn w tabeli FactInternetSales: OrderDate, Data ukończeniai DataWysyłki. W przypadku aktywnej relacji między Kluczdaty i OrderDate, to domyślna współzależność w formułach, o ile nie wybierzesz innej.

Relację można utworzyć, gdy są spełnione następujące wymagania:

Kryteria

Opis

Unikatowy identyfikator każdej tabeli

Każda tabela musi mieć jedną kolumnę jednoznacznie identyfikującą każdy wiersz w tabeli. Ta kolumna jest często nazywana kluczem podstawowym.

Unikatowe kolumny odnośników

Wartości danych w kolumnie odnośnika muszą być unikatowe. Innymi słowy, kolumna nie może zawierać duplikatów. W modelu danych wartości null i ciągi puste są równoważne wartości pustej (blank), która jest odrębną wartością danych. Oznacza to, że kolumna odnośnika nie może zawierać wielu wartości null.

Zgodne typy danych

Typy danych w kolumnie źródłowej i kolumnę odnośnika musi być zgodna. Aby uzyskać więcej informacji na temat typów danych zobacz typy danych obsługiwane w modelach danych.

W modelu danych nie można utworzyć relacji tabeli, jeśli klucz jest kluczem złożonym. Można także tworzyć wyłącznie relacje jeden-do-jednego i jeden-do-wielu. Inne typy relacji są nieobsługiwane.

Klucze złożone i kolumny odnośników

Klucza złożonego składa się z więcej niż jednej kolumny. Modele danych nie można używać klucze złożone: Tabela zawsze musi mieć dokładnie jedną kolumnę, która jednoznacznie identyfikować poszczególne wiersze w tabeli. Jeśli importujesz tabele, które mają istniejącą relacją według klucza złożonego Kreatora importu tabeli w dodatku Power Pivot zignoruje tej relacji, ponieważ nie można utworzyć w modelu.

Tworzenie relacji między dwiema tabelami, które mają wiele kolumn, definiując klucze podstawowe i obce, najpierw należy połączyć wartości w celu utworzenia jednej kolumny klucza przed utworzeniem relacji. Można to zrobić, zanim zaimportować dane, lub tworząc pole obliczeniowe w modelu danych za pomocą dodatku Power Pivot dodatek.

Relacji wiele do wielu

Model danych nie może mieć relacji wiele do wielu. Nie możesz po prostu dodać tabel skrzyżowań w modelu. Jednak może zawierać funkcje języka DAX do modelu relacji wiele do wielu.

Samosprzężenia i pętle

W przypadku modelu danych samosprzężenia są niedozwolone. Samosprzężenie to relacja cykliczna między tabelą i nią samą. Samosprzężenia są często używane do definiowania hierarchii element nadrzędny-element podrzędny. Na przykład można połączyć tabelę Pracownicy z nią samą, aby utworzyć hierarchię pokazującą łańcuch zarządzania w firmie.

Program Excel nie zezwala na tworzenie pętli między relacjami w skoroszycie. Innymi słowy, zabroniony jest poniższy zestaw relacji.

Tabela 1, kolumna a   do   Tabela 2, kolumna f

Tabela 2, kolumna f   do   Tabela 3, kolumna n

Tabela 3, kolumna n   do   Tabela 1, kolumna a

Przy próbie utworzenia relacji, która doprowadziłaby do utworzenia pętli, jest generowany błąd.

Jedną z zalet importowania danych przy użyciu dodatku Power Pivot jest to, że czasami dodatek Power Pivot może wykrywać relacje i tworzyć nowe relacje w modelu danych, który tworzy w programie Excel.

Podczas importowania wielu tabel dodatek Power Pivot automatycznie wykrywa istniejące relacje między tabelami. Ponadto podczas tworzenia tabeli przestawnej dodatek Power Pivot analizuje dane w tabelach. Wykrywa możliwe relacje, które nie zostały zdefiniowane, i sugeruje odpowiednie kolumny, które powinny zostać uwzględnione w tych relacjach.

Algorytm wykrywania używa danych statystycznych dotyczących wartości i metadanych kolumn w celu utworzenia wniosków dotyczących prawdopodobieństwa istnienia relacji.

  • Typy danych we wszystkich powiązanych kolumnach muszą być zgodne. Funkcja automatycznego wykrywania obsługuje tylko dane typu liczba całkowita i tekst. Aby uzyskać więcej informacji dotyczących typów danych, zobacz temat Typy danych obsługiwane w modelach danych.

  • Aby można było pomyślnie wykryć relację, liczba unikatowych kluczy w kolumnie odnośnika musi być większa niż liczba wartości w tabeli pod stronie „wielu” relacji. Innymi słowy kolumna klucza po stronie „wielu” relacji nie może zawierać żadnych wartości, które nie znajdują się w kolumnie klucza tabeli odnośnika. Na przykład istnieje tabela, w której są wymienione produkty i ich identyfikatory (tabela odnośnika), oraz tabela sprzedaży, w której znajdują się wszystkie transakcje sprzedaży każdego z produktów (strona „wielu” relacji). Jeśli rekordy sprzedaży zawierają identyfikator produktu, któremu nie odpowiada identyfikator w tabeli produktów, nie można automatycznie utworzyć relacji, ale być może będzie można utworzyć ją ręcznie. Aby program Excel mógł wykryć tę relację, należy najpierw zaktualizować tabelę odnośnika (tabelę produktów), tak aby zawierała identyfikatory brakujących produktów.

  • Upewnij się, że nazwa kolumny klucza na stronie "wiele" jest podobna do nazwy kolumny klucza w tabeli odnośników. Nazwy nie muszą być takie same. Na przykład w warunkach biznesowych często te odmiany według nazw kolumn, które zawierają zasadniczo te same dane: Emp identyfikator, pole Identyfikator pracownika, identyfikator pracownika, wartośći tak dalej. Algorytm wykrywa podobnych nazw i przypisuje większe prawdopodobieństwo tych kolumn, które mają podobne lub dokładnie pasujące nazwy. W związku z tym aby zwiększyć prawdopodobieństwo tworzenia relacji, możesz spróbować, zmienianie ich nazw kolumn w importowanie do podobnej do kolumn w tabelach istniejące dane. Jeśli program Excel znajdzie wiele relacji możliwe, nie go utworzyć relację.

Dzięki tym informacjom będzie wiadomo, dlaczego nie wszystkie relacje są wykrywane i w jaki sposób można zmienić metadane, takie jak nazwa pola lub typy danych, aby uzyskać lepsze wyniki automatycznego wykrywania relacji. Aby uzyskać więcej informacji, zobacz temat Rozwiązywanie problemów z relacjami.

Automatyczne wykrywanie w przypadku nazwanych zestawów

Relacje między nazwanymi zestawami a powiązanymi z nimi polami w tabeli przestawnej nie są wykrywane automatycznie. Relacje te można tworzyć ręcznie. Aby korzystać z automatycznego wykrywania relacji, należy usunąć każdy nazwany zestaw i dodać pojedyncze pola z nazwanego zestawu bezpośrednio do tabeli przestawnej.

Wnioskowanie relacji

W niektórych przypadkach relacje między tabelami są automatycznie organizowane w łańcuch. Na przykład w przypadku utworzenia relacji między pierwszymi dwoma zestawami tabel poniżej przyjmowane jest założenie, że istnieje relacja między innymi dwiema tabelami i ta relacja jest automatycznie ustanawiana.

Produkty i Kategoria — relacja utworzona ręcznie

Kategoria i Podkategoria— relacja utworzona ręcznie

Produkty i Podkategoria — relacja wywnioskowana

Aby możliwe było automatyczne łączenie relacji w łańcuch, relacje muszą wskazywać jeden kierunek, tak jak pokazano powyżej. Jeśli początkowo istniały relacje między na przykład tabelami Sprzedaż i Produkty oraz Sprzedaż i Klienci, relacja nie jest wnioskowana. Jest to spowodowane tym, że relacja między tabelami Produkty i Klienci jest relacją wiele-do-wielu.

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×