Relațiile dintre tabele într-un model de date - Excel

Adăugați mai multă putere analizei de date prin crearea de relații între diferite tabele. O relație este o legătură între două tabele care conțin date: o coloană în fiecare tabel este baza relației. Pentru a vedea de ce relațiile sunt utile, imaginați-vă că urmăriți datele pentru comenzile clienților din afacerea dvs. Puteți urmări toate datele într-un singur tabel având o structură ca aceasta:
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 schimbă, trebuie să vă asigurați că actualizați fiecare rând pentru clientul respectiv. O soluție la această problemă este împărțirea datelor în mai multe tabele și definirea relațiilor între aceste tabele. 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 date de comandă utilizând trei tabele conexe:
Relațiile există într-un model de date - unul pe care îl creați în mod explicit sau unul pe care Excel îl creează automat în numele dvs. atunci când importați simultan mai multe tabele. De asemenea, puteți utiliza suplimentul Power Pivot 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 din [paranteze] și poate reproduce aceste relații într-un model de date pe care îl construiește în spatele acestuia scenele. Pentru mai multe informații, consultați Detectarea automată și deducerea relațiilor în acest articol. Dacă importați tabele din mai multe surse, puteți crea manual relații așa cum este descris în Creați o relație între două tabele.
Relațiile se bazează pe coloane din fiecare tabel care conțin aceleași date. De exemplu, ai putea relaționa cu un client masa cu o Comenzi tabel dacă fiecare conține o coloană care stochează un ID de client. În exemplu, numele coloanelor sunt aceleași, dar aceasta nu este o cerință. Unul ar putea fi CustomerID și altul CustomerNumber, atâta timp cât toate rândurile din tabelul Comenzi conțin un ID care este, de asemenea, stocat în tabelul Clienți.
Într-o bază de date relațională, există mai multe tipuri de chei. O cheie este de obicei o coloană cu proprietăți speciale. Înțelegerea scopului fiecărei chei vă poate ajuta să gestionați un Model de date cu mai multe tabele care furnizează date unui raport PivotTable, PivotChart sau Power View.
Deși există multe tipuri de chei, acestea sunt cele mai importante pentru scopul nostru aici:
Cheia principala: identifică în mod unic un rând dintr-un tabel, cum ar fi CustomerID în clienți masa.
Tastă alternativă (sau cheie candidat): o altă coloană decât cheia primară care este unică. De exemplu, un tabel Angajați poate stoca un ID de angajat și un număr de securitate socială, ambele fiind unice.
Cheie externă: o coloană care se referă la o coloană unică dintr-un alt tabel, cum ar fi CustomerID în Ordinele tabel, care se referă la CustomerID în tabelul Clienți.
Într-un model de date, cheia primară sau cheia alternativă este denumită coloană aferentă. Dacă un tabel are atât o cheie principală, cât și o cheie alternativă, puteți utiliza una ca bază a unei relații de tabel. Cheia externă este denumită coloană sursă sau doar coloană. În exemplul nostru, o relație ar fi definită între CustomerID în Ordinele tabel (coloana) și CustomerID în clienți tabel (coloana de căutare). Dacă importați date dintr-o bază de date relațională, în mod implicit Excel alege cheia străină dintr-un tabel și cheia primară corespunzătoare din celălalt tabel. Cu toate acestea, puteți utiliza orice coloană care are valori unice pentru coloana de căutare.
Relația dintre un client și o comandă este o relație de la unu la mulți. Fiecare client poate avea mai multe comenzi, dar o comandă nu poate avea mai mulți clienți. O altă relație importantă de masă este one-to-one. În exemplul nostru de aici, CustomerDiscounts tabelul, care definește o singură rată de reducere pentru fiecare client, are o relație de la unu la unu cu tabelul Clienți.
Acest tabel prezintă relațiile dintre cele trei tabele (Clienți, Reduceri clienți, și Comenzi):
Notă: Relațiile multe-la-multe nu sunt acceptate într-un model de date. Un exemplu de relație de la mulți la mulți este o relație directă între produse și clienți, în care un client poate cumpăra 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ă recalculeze în mod obișnuit orice formulă care utilizează coloane din tabele din relația nou creată. Procesarea poate dura ceva timp, în funcție de cantitatea de date și de complexitatea relațiilor. Pentru mai multe detalii, consultați Recalculați formulele.
Un model de date poate avea relații multiple între două tabele. Pentru a construi calcule precise, Excel are nevoie de o singură cale de la o tabelă la alta. Prin urmare, o singură relație între fiecare pereche de tabele este activă la un moment dat. Deși celelalte sunt inactive, puteți specifica o relație inactivă în formule și interogări.