Applies ToExcel pentru Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016
Browserul nu acceptă redarea video. Instalați Microsoft Silverlight, Adobe Flash Player sau Internet Explorer 9.

Adăugați mai multă putere analizei de date prin crearea de relații care amognează tabele diferite. O relație este o conexiune între două tabele care conțin date: o coloană din fiecare tabel este baza pentru relație. Pentru a vedea de ce sunt utile relațiile, imaginați-vă că urmăriți datele pentru comenzile clienților din firma dvs. Puteți urmări toate datele dintr-un singur tabel având o structură ca aceasta:

IDClient

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

Există relații î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 programul de completare Power Pivot pentru a crea sau a 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țiile se bazează pe coloanele din fiecare tabel ce conține aceleași date. De exemplu, puteți corela un tabel Clienți cu un tabel Comenzi dacă fiecare conține o coloană care stochează un ID client. În exemplu, numele coloanelor sunt aceleași, dar aceasta nu este o cerință. Una poate fi CustomerID, iar cealaltă poate fi CustomerNumber, atâta timp cât toate rândurile din tabelul Orders conțin un ID ce este stocat și în tabelul Customers.

Î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 într-un raport PivotTable, PivotChart sau Power View.

Deși există multe tipuri de chei, 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 .

  • Cheie alternativă (sau cheie candidat): o coloană diferită de cheia primară care este unică. De exemplu, un tabel Employees poate stoca un ID de angajat și un cod numeric personal, ambele fiind unice.

  • Cheie străină: o coloană care se referă la o coloană unică din alt tabel, cum ar fi CustomerID din tabelul Orders , care se referă la CustomerID din tabelul Customers (Clienți).

Într-un model de date, cheia primară sau cheia alternativă este denumită coloană corelată. Dacă un tabel conține atât o cheie primară, cât și o cheie alternativă, le puteți utiliza pe oricare drept bază a relației dintr-un tabel. Cheia externă este denumită coloană sursă sau pur și simplu coloană. În exemplul nostru, o relație ar fi definită între CustomerID din tabelul Orders (coloana) și CustomerID din tabelul Customers (coloana de căutare). Dacă importați date dintr-o bază de date relațională, în mod implicit aplicația Excel alege cheia externă dintr-un tabel și cheia primară corespunzătoare din celălalt tabel. Totuși, puteți utiliza orice coloană care conține valori unice pentru coloana de căutare.

Relația dintre un client și o comandă 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. O altă relație importantă între tabele este unu-la-unu. În exemplul nostru de aici, tabelul CustomerDiscounts , care definește o singură rată de reducere pentru fiecare client, are o relație unu-la-unu cu tabelul Clienți.

Acest tabel afișează relațiile dintre cele trei tabele (Customers, CustomerDiscounts și Orders):

Relație

Tip

Coloană de căutare

Coloană

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ă crearea oricărei relații, Excel trebuie să recalculeze de obicei toate formulele care utilizează coloane din tabele în relația nou creată. Procesarea poate dura un timp în funcție de volumul de date și de complexitatea relațiilor. 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 precise, Excel are nevoie de o singură cale de la un tabel la următorul. Prin urmare, numai 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.

În Vizualizarea diagramă, relația activă este o linie continuă, iar cele inactive sunt linii întrerupte. De exemplu, în AdventureWorksDW2012, tabelul DimDate conține o coloană, DateKey, care este corelată cu trei coloane diferite din tabelul FactInternetSales: OrderDate, DueDate și ShipDate. Dacă relația activă este între DateKey și OrderDate, aceea este relația implicită în formule dacă nu specificați altceva.

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, șirurile cu valoare Null și cele goale sunt echivalente cu un șir necompletat, care reprezintă o valoare de date distinctă. Aceasta înseamnă că nu puteți avea mai multe valori null în coloana de căutare.

Tipurile de date compatibile

Tipurile de date din coloana sursă și din coloana de căutare trebuie să fie compatibile. Pentru mai multe informații despre tipurile de date, consultați Tipurile 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 cheie compusă este alcătuită din mai multe coloane. Modelele de date nu pot utiliza chei compuse: un tabel trebuie să aibă întotdeauna exact o coloană care identifică în mod unic fiecare rând din tabel. Dacă importați tabele care au o relație existentă bazată pe o cheie compusă, Expertul import tabel din Power Pivot va ignora acea relație, deoarece nu poate fi creată în model.

Pentru a crea o relație între două tabele care au mai multe coloane ce definesc chei primare și externe, combinați mai întâi valorile pentru a crea o singură coloană cheie înainte de a crea relația. Puteți face acest lucru înainte de a importa datele sau creând o coloană calculată în modelul de date utilizând programul de completare Power Pivot.

Relațiile de tip mai mulți-la-mai mulți

Un model de date nu poate conține relații de tip mai mulți-la-mai mulți. Nu puteți adăuga pur și simplu tabele cu joncțiuni în model. Totuși, puteți utiliza funcțiile DAX pentru a modela relații de tip mai mulți-la-mai mulți.

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 mai mulți este similar cu numele coloanei cheie din tabelul de căutare. Numele nu trebuie să fie identice. De exemplu, într-o setare de firmă, aveți adesea variații în numele coloanelor care conțin în esență aceleași date: ID Emp, ID Angajat, ID angajat, EMP_ID și așa mai departe. Algoritmul detectează nume similare și atribuie o probabilitate mai mare acelor coloane care au nume asemănătoare sau care se potrivesc exact. Prin urmare, pentru a crește probabilitatea de a crea o relație, puteți încerca să redenumiți coloanele din datele pe care le importați în ceva asemănător cu coloanele din tabelele existente. Dacă Excel găsește mai multe relații posibile, atunci 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.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.