Relațiile dintre tabelele dintr-un model de date

Notă:  Dorim să vă oferim cel mai recent conținut de ajutor, cât mai rapid posibil, în limba dvs. Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Vă rugăm să ne spuneți dacă informațiile v-au fost utile, în partea de jos a acestei pagini. Aici se află articolul în limba engleză , ca să îl puteți consulta cu ușurință.

Browserul nu acceptă redarea video. Instalați Microsoft Silverlight, Adobe Flash Player sau Internet Explorer 9.
Video: Relații în Power View și Power Pivot

Video: Relații în Power View și Power Pivot

Video: Relații în Power View și Power Pivot

Video: Relații în Power View și Power Pivot

Adăugați mai multe power analizele de date prin crearea de relații amogn tabele diferite. O relație este o conexiune între două tabele care conțin date: o singură coloană în fiecare tabel este baza pentru relația. Pentru a vedea ce relații sunt utile, imaginați-vă că vă urmări datele pentru comenzile clienților din firma dvs. Poate urmări toate datele dintr-un singur tabel cu o structură astfel:

CustomerID

Name

EMail

DiscountRate

OrderID

OrderDate

Product

Quantity

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

Această abordare poate funcționa, dar implică stocarea multor date redundante, cum ar fi adresa de e-mail a clientului pentru fiecare comandă. Stocarea este ieftină, dar dacă adresa de e-mail se modifică, trebuie să vă asigurați că actualizați fiecare rând pentru clientul respectiv. O soluție pentru această problemă este divizarea datelor în mai multe tabele și definirea relațiilor dintre tabelele respective. Aceasta este abordarea utilizată în bazele de date relaționale, cum ar fi SQL Server. De exemplu, o bază de date pe care o importați poate reprezenta datele comenzii prin utilizarea a trei tabele corelate:

Customers

[CustomerID]

Name

Email

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

CustomerDiscounts

[CustomerID]

DiscountRate

1

.05

2

.10

Orders

[CustomerID]

OrderID

OrderDate

Product

Quantity

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

Relații există în cadrul unui Model de date-unul care puteți crea în mod explicit sau una care Excel automat creează în numele dumneavoastră atunci când importați simultan mai multe tabele. De asemenea, puteți utiliza Power Pivot program de completare pentru a crea sau gestiona modelul. Consultați crearea unui Model de date în Excel pentru detalii.

Dacă utilizați programul de completare Power Pivot pentru a importa tabele din aceeași bază de date, Power Pivot poate detecta relațiile dintre tabele pe baza coloanelor ce sunt între [paranteze] și poate reproduce aceste relații într-un model de date care este generat în spatele scenelor. Pentru informații suplimentare, consultați Detectarea automată și deducerea relațiilor din acest articol. Dacă importați tabele din mai multe surse, puteți crea manual relații așa cum se descrie în Crearea unei relații între două tabele.

Relații se bazează pe coloane în fiecare tabel care conțin aceleași date. De exemplu, ar putea corela un tabel clienți cu un tabel de comenzi dacă fiecare conține o coloană care stochează un ID client. În exemplul, numele de coloană sunt identice, dar acest lucru nu este o cerință. Una ar putea fi IDClient și un alt NumărClient, atâta timp cât toate rândurile din tabelul Orders conține un ID care, de asemenea, este stocat în tabelul clienți.

Într-o bază de date relaționale, există mai multe tipuri de taste. Este o cheie de obicei coloana cu proprietăți speciale. Înțelegerea scopul fiecare cheie vă poate ajuta să gestionați un Model de date cu mai multe tabele, care oferă datele la un raport PivotTable, PivotChart sau Power View.

Dacă există mai multe tipuri de tastatură, acestea sunt cele mai importante pentru scopul nostru aici:

  • Cheie primară: identifică în mod unic un rând dintr-un tabel, cum ar fi CustomerID din tabelul Customers .

  • Alternativ cheie (sau candidat cheie): unei coloane decât cheia primară, care este unică. De exemplu, un tabel angajații pot stoca un ID angajat și un cod numeric personal, ambele din care sunt unice.

  • Cheie externă: o coloană care se referă la o coloană unică dintr-un alt tabel, cum ar fi CustomerID din tabelul Orders , care face referire la CustomerID din tabelul Customers.

Într-un Model de date, cheia primară sau alternativ cheie este denumită coloana asociate. Dacă un tabel are atât o cheie primară și alternativ, puteți utiliza unul ca bază a unei relații între tabele. Cheie străină este denumită coloană sursă sau doar coloană. În exemplul nostru, ar fi definit o relație între CustomerID din tabelul Orders (coloană) și CustomerID din tabelul Customers (coloană de căutare). Dacă importați date dintr-o bază de date relaționale, implicit Excel alege cheie străină dintr-un tabel și cheia primară corespondente din alt tabel. Cu toate acestea, puteți să utilizați orice coloană care conține valori unice pentru coloana de căutare.

Relația dintre un client și cu un ordin este o relație unu-la-mai-mulți. Fiecare client poate avea mai multe comenzi, dar o comandă nu poate avea mai mulți clienți. Un alt tabel importante relație este unu-la. În exemplul nostru aici, tabelul CustomerDiscounts , care definește un singur rate de scont pentru fiecare client, are o relație unu-la-cu tabelul clienți.

Acest tabel prezintă relațiile dintre cele trei tabele(clienți, CustomerDiscountsși comenzi):

Relationship

Type

Lookup Column

Column

Customers-CustomerDiscounts

unu-la-unu

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

unu-la-mai mulți

Customers.CustomerID

Orders.CustomerID

Notă:  Relațiile de tip mai mulți-la-mai mulți nu sunt acceptate într-un model de date. Un exemplu de relație de tip mai mulți-la-mai mulți este o relație directă între tabelele Products și Customers, în care un client poate cumpăra mai multe produse și același produs poate fi cumpărat de mulți clienți.

După ce a fost creat orice relație, Excel trebuie să recalcularea de obicei orice formulelor care utilizează coloanele din tabelele din nou creat relații. Procesare poate dura un timp, în funcție de cantitatea de date și complexitatea de relații. Pentru mai multe detalii, consultați Recalcularea formulelor.

Un Model de date poate avea mai multe relații între două tabele. Pentru a construi calcule exacte, Excel are nevoie de o cale unică dintr-un tabel la următorul. Prin urmare, o relație între fiecare pereche de tabele este activă o dată. Dacă alte persoane sunt inactive, puteți specifica o relație inactiv în formule și interogări.

În vizualizarea diagramă, relației active este o linie solidă și cele inactive sunt liniile întrerupte. De exemplu, în AdventureWorksDW2012, tabelul DimDate conține o coloană, Cheiedată, care este corelată cu trei coloane diferite din tabelul FactInternetSales: OrderDate, DueDateși DatăLivrare. Dacă relației active este între Cheiedată și OrderDate, care este relația implicită în formule dacă nu specificați altfel.

O relație poate fi creată când se îndeplinesc următoarele cerințe:

Criterii

Descriere

Identificatorul unic pentru fiecare tabel

Fiecare tabel trebuie să conțină o singură coloană care identifică în mod unic fiecare rând din tabelul respectiv. Această coloană este denumită adesea cheie primară.

Coloanele unice de căutare

Valorile datelor din coloana de căutare trebuie să fie unice. Cu alte cuvinte, coloana nu poate conține dubluri. Într-un model de date, valorile null și șirurile necompletate sunt echivalente cu o valoare goală care este o valoare distinctă de date. Aceasta înseamnă că nu puteți avea mai multe valori null în coloana de căutare.

Tipurile de date compatibile

Tipurile de date în coloana sursă și coloană de căutare trebuie să fie compatibile. Pentru mai multe informații despre tipurile de date, consultați tipuri de date acceptate în modelele de date.

Într-un model de date, puteți crea o relație între tabele dacă cheia este o cheie compusă. De asemenea, sunteți limitați să creați relații de tip unu-la-unu și unu-la-mai mulți. Alte tipuri de relații nu sunt acceptate.

Cheile compuse și coloanele de căutare

O cheia compusă este compus din mai multe coloane. Modelele de date nu se poate utiliza chei compuse: un tabel trebuie să aibă întotdeauna exact o coloană care identifică în mod unic fiecare rând al tabelului. Dacă importați tabelele care au o relație existente pe baza unei chei compuse, din expert Import tabel în Power Pivot ignoră că relația, deoarece acesta nu poate fi creat în model.

Pentru a crea o relație între două tabele care au mai multe coloane, definind cheile principale și străine, mai întâi combina valorile pentru a crea o singură coloană cheie înainte de a crea relații. Puteți face acest lucru înainte de a importa datele, sau prin crearea unei coloane calculate în modelul de date folosind Power Pivot program de completare.

Mai mulți-la-mai-mulți relații

Un Model de date nu poate avea mai mulți-la-mai-mulți relații. Nu puteți adăuga pur și simplu nod tabelele din model. Cu toate acestea, puteți să utilizați funcțiile DAX la mai mulți-la-mai-mulți relațiilor din modelul.

Unirile automate și buclele

Unirile automate nu sunt permise într-un model de date. O unire automată este o relație recursivă între un tabel și ea însăși. Unirile automate sunt utilizate adesea pentru a defini ierarhii părinte-fiu. De exemplu, puteți uni un tabel Employees cu el însuși pentru a crea o ierarhie ce prezintă ierarhia administrativă într-o companie.

Aplicația Excel nu permite crearea buclelor între relațiile dintr-un registru de lucru. Cu alte cuvinte, următorul set de relații este interzis.

Între Tabelul 1, coloana a   și   Tabelul 2, coloana f

Între Tabelul 2, coloana f   și   Tabelul 3, coloana n

Între Tabelul 3, coloana n   și   Tabelul 1, coloana a

Dacă încercați să creați o relație care va duce la crearea unei bucle, este generată o eroare.

Unul dintre avantajele importului de date cu ajutorul programului de completare Power Pivot este acela că Power Pivot poate detecta uneori relații și poate crea relații noi în modelul de date pe care îl creează în Excel.

Când importați mai multe tabele, Power Pivot detectează automat toate relațiile existente între tabele. De asemenea, când creați un raport PivotTable, Power Pivot analizează datele din tabele.  Detectează posibilele relații care nu au fost definite și sugerează coloanele corespunzătoare de inclus în relațiile respective.

Algoritmul de detectare utilizează date statistice legate de valorile și metadatele coloanelor pentru genera deduceri legate probabilitatea relațiilor.

  • Tipurile de date din toate coloanele corelate trebuie să fie compatibile. Pentru detectarea automată, sunt acceptate numai tipuri de date numere întregi și text. Pentru informații suplimentare legate de tipurile de date, consultați Tipurile de date acceptate în modelele de date.

  • Pentru detectarea relației, numărul cheilor unice din coloana de căutare trebuie să fie mai mare decât valorile din tabelul din partea mai mulți. Cu alte cuvinte, coloana cheie din partea mai mulți a relației nu trebuie să conțină nicio valoare care nu este în coloana cheie din tabelul de căutare. De exemplu, să presupunem că aveți un tabel ce listează produse cu ID-urile lor (tabelul de căutare) și un tabel de vânzări care listează vânzările pentru fiecare produs (partea mai mulți a relației). Dacă înregistrările de vânzări conțin ID-ul unui produs care nu are un ID corespunzător în tabelul Products, relația nu poate fi creată automat, însă o puteți crea manual. Pentru ca aplicația Excel să detecteze relația, trebuie să actualizați mai întâi tabelul de căutare Product cu ID-urile produselor lipsă.

  • Asigurați-vă că numele coloanei cheie din partea mulți este similară cu numele coloanei cheie din tabelul de căutare. Numele nu trebuie să fie exact la fel. De exemplu, într-un cadru de afaceri, des aveți variații pe numele de coloane care conține în esență aceleași date: Emp ID, EmployeeID se, ID angajat, EMP_IDși așa mai departe. Algoritmul detectează nume similare și atribuie o probabilitate mai mare la acele coloane care au nume similare sau se potrivesc exact. Prin urmare, pentru a mări probabilitatea de a crea o relație, puteți încerca redenumirea coloanelor în datele pe care importați la ceva similar cu coloane din tabele existente. Dacă Excel găsește mai multe relații posibile, apoi nu creează o relație.

Aceste informații vă pot ajuta să înțelegeți de ce nu sunt detectate toate relațiile sau modul în care modificările din metadate - cum ar fi numele câmpului și tipurile de date - pot îmbunătăți rezultatele detectării automate a relațiilor. Pentru informații suplimentare, consultați Depanarea relațiilor.

Detectarea automată pentru seturile denumite

Relațiile nu sunt detectate automat între seturile denumite și câmpurile corelate dintr-un raport PivotTable. Puteți crea manual aceste relații. Dacă doriți să utilizați detectarea automată a relațiilor, eliminați fiecare set denumit și adăugați câmpurile individuale din setul denumit direct în raportul PivotTable.

Deducerea relațiilor

În anumite cazuri, relațiile dintre tabele sunt înlănțuite automat. De exemplu, în cazul în care creați o relație între primele două seturi de tabele de mai jos, se deduce existența unei relații între celelalte două tabele și se stabilește automat o relație.

Products și Category - create manual

Category și SubCategory - create manual

Products și SubCategory - relația este dedusă

Pentru înlănțuirea automată a relațiilor, acestea trebuie să meargă într-o direcție, după cum este prezentat mai sus. Dacă relațiile inițiale au fost, de exemplu, între tabelele Sales și Products și Sales și Customers, nu se deduce o relație. Aceasta deoarece relația dintre tabelele Products și Customers este o relație de tip mai mulți-la-mai mulți.

Extindeți-vă competențele Office
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×