Táblázatok közötti kapcsolatok az adatmodellben

Megjegyzés: Szeretnénk, ha minél gyorsabban hozzáférhetne a saját nyelvén íródott súgótartalmakhoz. Ez az oldal gépi fordítással lett lefordítva, ezért nyelvtani hibákat és pontatlanságokat tartalmazhat. A célunk az, hogy ezek a tartalmak felhasználóink hasznára váljanak. Kérjük, hogy a lap alján írja meg, hogy hasznos volt-e az Ön számára az itt található információ. Az eredeti angol nyelvű cikket itt találja.

Ez a böngésző nem támogatja a videók lejátszását. Telepítse a Microsoft Silverlightot, az Adobe Flash Playert vagy az Internet Explorer 9-es verzióját.

További energiaellátást adhat az adatelemzéshez úgy, hogy különböző táblákban lévő kapcsolatokat hoz létre amogn. A kapcsolat két, adatot tartalmazó tábla közötti kapcsolat: az egyes táblák egyik oszlopa a kapcsolat alapja. A kapcsolatok hasznosságának megértéséhez képzelje el, hogy vállalkozásában az ügyfelek megrendeléseire vonatkozó adatokat kell nyomon követnie. A következőképpen követheti nyomon az összes adatot egy olyan táblázatban, amelynek szerkezete így van:

Ügyfél-azonosító

Name (Név)

Levelezés

Kedvezmény

Rendelésazonosító

RendelésDátuma

Termék

Mennyiség

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

Ez a megközelítés működőképes lehet, de nagyon sok felesleges adat tárolásával jár, például minden rendelésnél szerepel a vevő e-mail címe. Az adattárolás olcsó, de ügyelnie kell arra, hogy az adott vevőre vonatkozóan az összes sort frissítse, ha megváltozik a vevő e-mail címe. A probléma egyik megoldása, ha az adatokat több táblázatra osztja fel, és a táblázatok között kapcsolatokat ad meg. Ezt a megközelítést alkalmazzák a relációs adatbázisok, mint például az SQL Server. Az importált adatbázis például a rendelési adatokat akár három kapcsolódó táblában képezheti le:

Ügyfelek

[Ügyfél-azonosító]

Név

Levelezés

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

Ügyfélkedvezmények

[Ügyfél-azonosító]

Kedvezmény

1

,05

2

,10

Rendelések

[Ügyfél-azonosító]

Rendelésazonosító

RendelésDátuma

Termék

Mennyiség

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

Több tábla importálásakor az adatModellben, amelyet kifejezetten létrehoz, vagy amelyet az Excel automatikusan hoz létre az Ön nevében, A Power Pivot modult is használhatja a modell létrehozására vagy kezelésére. További információ az Adatmodell létrehozása az Excel programban című témakörben olvasható.

Ha a Power Pivot modult használja táblák importálására ugyanabból az adatbázisból, akkor a Power Pivot a [szögletes zárójelek] között álló oszlopok alapján képes észlelni a táblák közötti kapcsolatokat, majd a háttérben összeállított adatmodellben reprodukálni ezeket a kapcsolatokat. További információt a cikk későbbi, Kapcsolatok automatikus észlelése és származtatása című szakaszában olvashat. Ha több forrásból importál táblákat, a kapcsolatokat létrehozhatja kézzel a következő témakörben leírtak szerint: Kapcsolat létrehozása két táblázat között.

A kapcsolatok olyan oszlopokon alapulnak, amelyek mindegyik táblában ugyanazokat az adatokat tartalmazzák. A vevők tábla például egy rendelések táblával kapcsolódhat, ha az adott ügyfél-azonosítóttároló oszlop található. A példában az oszlopnevek azonosak, de ez nem követelmény. Egyikük lehetne CustomerID (Ügyfél-azonosító), míg a másik CustomerNumber (Ügyfélszám), mindaddig, amíg az Orders (Rendelések) tábla olyan azonosítót tartalmaz, amely a Customers (Ügyfelek) táblában is tárolva van.

A relációs adatbázisokban többféle típusú kulcs létezik. A billentyűk jellemzően speciális tulajdonságokat tartalmazó oszlopok. Az egyes kulcsok szerepének megértése segíthet egy olyan, több táblázatot tartalmazó adatmodell kezelésében, amely adatokat szolgáltat kimutatásokhoz, kimutatásdiagramokhoz vagy Power View nézetet tartalmazó jelentésekhez.

Sok olyan típus létezik, amely a legfontosabb a célnak:

  • Elsődleges kulcs: egyedileg azonosítja a tábla egy sorát, például a vevők táblában a Vevőkód parancsot.

  • Alternatív kulcs (vagy jelentkező billentyű): az elsődleges kulcstól eltérő oszlop. Például egy Employees (Alkalmazottak) tábla tárolhat egy alkalmazotti azonosítót és egy társadalombiztosítási számot, amelyek egyaránt egyedi azonosítók.

  • Idegen kulcs: egy másik tábla egyedi oszlopára hivatkozó oszlop, például a rendelések tábla Vevőkód parancsa, amely a Vevők táblában a Vevőkód elemre utal.

Az adatmodellekben az elsődleges vagy a másodlagos kulcs az úgynevezett kapcsolódó oszlop. Amennyiben egy táblázat elsődleges és másodlagos kulcsot is tartalmaz, bármelyik használható táblázatkapcsolat alapjául. A külső kulcs nevezhető forrásoszlopnak vagy egyszerűen csak oszlopnak. Példánkban egy kapcsolat a rendelések táblában (az oszlopban) és a vevők táblában (a keres oszlopban) található Vevőkód között lesz meghatározva. Amennyiben relációs adatbázisból importál adatokat, az Excel alapértelmezés szerint az egyik táblából kiválasztja a külső kulcsot, a másik táblából pedig a hozzá tartozó elsődleges kulcsot. Bármely olyan oszlop használható azonban keresési oszlopként, amely egyedi értékeket tartalmaz.

Az ügyfél és a rendelés közötti kapcsolat egy a többhöz kapcsolat. Mindegyik ügyfélnek több rendelése is lehet, de egy rendeléshez nem tartozhat több ügyfél. Egy másik fontos tábla kapcsolata egy-az-egyhez. Ebben a példában a CustomerDiscounts táblázat, amely az egyes ügyfelekhez egyetlen kedvezményes árfolyamot határoz meg, egy-az-egyhez kapcsolattal rendelkezik a Vevők táblával.

Az alábbi táblázatban láthatók a három tábla (vevők, CustomerDiscountsés megrendelések) közötti kapcsolatok:

Kapcsolatok

Típus

Keresőoszlop

Oszlop

Customers-CustomerDiscounts

„egy az egyhez”

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

„egy a többhöz”

Customers.CustomerID

Orders.CustomerID

Megjegyzés: A „több a többhöz” kapcsolatok adatmodellekben nem támogatottak. A „több a többhöz” típusú kapcsolatra példa a Products (Termékek) és a Customers (Ügyfelek) tábla közötti közvetlen kapcsolat, vagyis amikor egy ügyfél több terméket vásárolhat, míg ugyanazt a terméket több ügyfél is megvásárolhatja.

Miután létrejött a kapcsolat, az Excelnek általában újra kell számítania az újonnan létrehozott kapcsolat tábláiból származó oszlopokat használó képleteket. Az adatmennyiségtől és a kapcsolatok bonyolultságától függően az adatok feldolgozása eltarthat egy ideig. További információt a képletek újraszámítása című témakörben talál.

Egy adatmodellben több kapcsolat is lehetséges két táblázat között. Pontos számítások létrehozásához az Excelnek egyetlen elérési utat kell bemutatnia az egyik táblából a másikba. Ezért egy-egy táblapár között egy időben csak az egyik kapcsolat aktív. Habár a többiek inaktívak, a képletekben és lekérdezésekben is megadhat egy inaktív kapcsolatot.

Diagram nézetben az aktív kapcsolat folytonos vonal, és az inaktívak szaggatott vonalak. A AdventureWorksDW2012-ban például a táblázat DimDate tartalmaz egy oszlopot, a dátumkulcs, amely a táblázat három különböző oszlopához kapcsolódik, a FactInternetSales: rendelve, a kifejezésbenés a SzállításiDátum. Ha a DateKey és az OrderDate oszlop közötti kapcsolat aktív, akkor a képletekben ez lesz az alapértelmezett kapcsolat, amíg nem ad meg mást.

Akkor hozható létre kapcsolat, ha teljesülnek az alábbi követelmények:

Feltétel

Leírás

Egyedi azonosító mindegyik táblázathoz

Minden táblázatnak rendelkeznie kell egy oszloppal, amely egyedileg azonosítja a táblázat egyes sorait. Ezt az oszlopot gyakran elsődleges kulcsnak hívják.

Egyedi keresési oszlopok

A keresési oszlopban szereplő adatértékeknek egyedieknek kell lenniük. Más megfogalmazásban: az oszlop nem tartalmazhat ismétlődő értékeket. Az adatmodellekben a null értékek és az üres karakterláncok egyenértékűek az üres értékkel, amely egy önálló adatérték. Ez azt jelenti, hogy a keresési oszlop nem tartalmazhat több null értéket.

Kompatibilis adattípusok

A forrásoszlop és a keresési oszlop adattípusainak kompatibilisnek kell lenniük egymással. Az adattípusokról az adatModellek által támogatottadattípusok című témakörben olvashat bővebben.

Egy adatmodellben nem hozható létre táblázatkapcsolat, ha a kulcs összetett kulcs. Emellett kizárólag „egy az egyhez” és „egy a többhöz” kapcsolat hozható létre. A többi kapcsolattípus nem támogatott.

Az összetett kulcsok és a keresési oszlopok

Az összetett kulcs egynél több oszlopból álló kulcs. Az adatModellek nem használhatják a kompozit kulcsokat: egy táblázatnak mindig pontosan egy oszloppal kell rendelkeznie, amely egyedileg azonosítja a táblázat minden egyes sorát. Ha olyan táblákat importál, amelyek egy kompozit kulcson alapuló meglévő kapcsolattal rendelkeznek, akkor a Power pivot tábla importálása varázslója figyelmen kívül hagyja ezt a kapcsolatot, mert az nem hozható létre a modellben.

Ha két tábla között kézzel kíván kapcsolatot létrehozni, és több oszlop határozza meg az elsődleges és a külső kulcsokat, a kapcsolat létrehozása előtt az értékek egyesítésével egyetlen kulcsoszlopot kell létrehoznia. Ezt megteheti, mielőtt importálja az adatot, vagy ha egy számított oszlopot hoz létre az adatModellben a Power pivot bővítmény használatával.

„Több a többhöz” kapcsolatok

Az adatmodellekben nem szerepelhetnek „több a többhöz” kapcsolatok. Amodellben nem vehet fel kapcsolótáblákat . DAX-függvényekkel azonban lehetséges a „több a többhöz” kapcsolatok modellezése.

Önillesztések és hurkok

Az önillesztés nem engedélyezett az adatmodellekben. Az önillesztés egy rekurzív kapcsolat egy tábla és saját maga között. Az önillesztések gyakran a szülő-gyermek hierarchiák meghatározásához kerülnek felhasználásra. Például az alkalmazottakat tartalmazó tábla önillesztésével olyan hierarchia hozható létre, amely mutatja a vállalkozás vezetési struktúráját.

Az Excel nem engedélyezi a kapcsolati hurkok létrehozását a munkafüzetekben. Más szóval a következő kapcsolatkészlet tiltott.

1. tábla, „a” oszlop   –   2. tábla, „f” oszlop

2. tábla, „f” oszlop   –   3. tábla, „n” oszlop

3. tábla, „n” oszlop   –   1. tábla, „a” oszlop

Ha olyan kapcsolatot próbál létrehozni, amely hurkot eredményezne, a program hibát jelez.

Az adatoknak a Power Pivot modullal történő importálása egyebek között azzal az előnnyel jár, hogy a Power Pivot néha képes észlelni a kapcsolatokat, és új kapcsolatokat hozhat létre az Excelben létrehozott adatmodellben.

Amikor több táblát importál, a   automatikusan észleli a táblák közötti meglévő kapcsolatokat. Ha kimutatást hoz létre, a Power Pivot elemzi a táblákban lévő adatot. Észleli azokat a lehetséges kapcsolatokat, amelyek nincsenek meghatározva, valamint javaslatot tesz az ezekben a kapcsolatokban használható, megfelelő oszlopokra.

Az észlelési algoritmus az oszlopok értékeire és metaadataira vonatkozó statisztikai adatok használatával állapít meg feltételezéseket a kapcsolatok valószínűségére vonatkozóan.

  • Az összes kapcsolódó oszlopban található adatoknak kompatibilisnek kell lenniük egymással. Az automatikus észlelésnél csak az egész szám és a szöveges adattípusok támogatottak. Az adattípusok részletes ismertetését lásd: Az adatmodellekben támogatott adattípusok.

  • Egy kapcsolat sikeres észleléséhez az szükséges, hogy a keresési oszlopban található egyedi kulcsok száma nagyobb legyen a „több” oldalon álló táblázat értékeinek számánál. Más szóval, a kapcsolat „több” oldalán álló kulcsoszlopnak nem szabad olyan értéket tartalmaznia, amely nem szerepel a keresési tábla kulcsoszlopában. Tegyük fel például, hogy van egy, a termékeket azonosítójukkal együtt tartalmazó tábla (a keresési tábla), valamint egy értékesítési tábla, amely felsorolja az értékesítési forgalmat minden egyes termékhez (a kapcsolat „több” oldala). Ha az értékesítési rekordok egy olyan termék azonosítóját is tartalmazzák, amelynek megfelelő azonosító nem található a termékek táblájában, akkor a kapcsolat nem hozható létre automatikusan, de kézzel esetleg létrehozhatja. Ahhoz, hogy az Excel észlelje a kapcsolatot, először frissítenie kell a termékek keresési tábláját, hogy az tartalmazza a hiányzó termékek azonosítóját.

  • Ügyeljen arra, hogy a sok oldalon a fő oszlop neve hasonlítson a keresési tábla kulcs oszlopának nevére. A neveket nem kell pontosan megegyezniük. Az üzleti beállításban például gyakran ugyanazokat az adatokat tartalmazó oszlopok neveiben, például az EMP-azonosító, az Alkalmazottkód, az alkalmazottak azonosítója, a EMP_IDstb. Az algoritmus a hasonló neveket észleli, és nagyobb valószínűséggel osztja azokat az oszlopokat, amelyek hasonló vagy pontosan egyező neveket jelenítenek meg. Ezért a kapcsolat létrehozásának valószínűségét növelni lehet, ha a meglévő táblák oszlopaihoz hasonlóan próbál meg átnevezni az importált adatoszlopokat. Ha az Excel több lehetséges kapcsolatot talál, akkor nem hoz létre kapcsolatot.

Ez a tájékoztatás segíthet annak megértésében, hogy miért nem észlel a program minden kapcsolatot, illetve hogy a metaadatok – például a mezőnév és az adattípusok – megváltoztatása hogyan javíthatja a kapcsolatok automatikus észlelésének hatékonyságát. További ismertetést a következő témakörben talál: Kapcsolatok hibaelhárítása.

Elnevezett készletek automatikus észlelése

A program nem észleli automatikusan az elnevezett készletek és egy kimutatásban szereplő kapcsolódó mezők közötti kapcsolatokat. Ezek a kapcsolatok manuálisan állíthatók fel. Ha az automatikus kapcsolatészlelést szeretné használni, távolítsa el az elnevezett készleteket, és vegye fel az elnevezett készlet egyes mezőit közvetlenül a kimutatásba.

Kapcsolatok származtatása

Bizonyos esetekben a táblák közötti kapcsolatok automatikusan láncolódnak. Ez azt jelenti, hogy ha például létrehoz egy kapcsolatot az alábbi első két táblakészlet között, a másik két tábla között a program feltételezi a kapcsolat meglétét, és automatikusan létrejön egy kapcsolat.

Products (Termékek) és Category (Kategória) – manuálisan létrehozva

Category (Kategória) és SubCategory (Alkategória) – manuálisan létrehozva

Products (Termékek) és SubCategory (Alkategória) – következtetett kapcsolat

A kapcsolatok automatikus láncolásához a kapcsolatoknak a fentieknek megfelelően egy irányba kell haladniuk. Amennyiben a kiinduló kapcsolatok például a Sales (Értékesítés) és a Products (Termékek), illetve a Sales (Értékesítés) és a Customers (Ügyfelek) táblák között voltak, a rendszer nem származtat kapcsolatot. Ennek az az oka, hogy a Products (Termékek) és a Customers (Ügyfelek) táblák között „több a többhöz” típusú kapcsolat van.

Office-jártasság bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×