Office
Logi sisse

Tabelivahelised seosed andmemudelis

Märkus.:  Soovime pakkuda teie keeles kõige ajakohasemat spikrisisu niipea kui võimalik. See leht on tõlgitud automaatselt ja sellel võib leiduda grammatikavigu või ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Palun märkige selle lehe allservas, kas sellest teabest oli teile kasu või mitte. Soovi korral saab ingliskeelset artiklit lugeda siit .

Teie brauser ei toeta videot. Installige Microsoft Silverlight, Adobe Flash Player või Internet Explorer 9.
Video: seosed lisandmoodulites Power View ja Power Pivot

Video: seosed lisandmoodulites Power View ja Power Pivot

Video: seosed lisandmoodulites Power View ja Power Pivot

Video: Seosed Power View ja Power Pivot

Lisada rohkem power andmete analüüsi amogn erinevate tabelite seoste loomine. Seose on kaks tabelit, mis sisaldavad andmeid omavahel: üks veerg iga tabeli aluseks seost. Miks on kasulik seoste kuvamiseks oletage, et jälitada klienditellimusi andmed teie ettevõtte. Võiks jälgida kõik andmed üheks tabeliks ülesehitusega umbes järgmine:

CustomerID (Kliendi ID)

Name (Nimi)

EMail (E-post)

DiscountRate (Allahindlus)

OrderID (Tellimuse ID)

OrderDate (Tellimuse kuupäev)

Toode

Quantity (Kogus)

1

Ashton

chris.ashton@contoso.com

0,05

256

2010-01-07

Kompaktne digitaalne

11

1

Ashton

chris.ashton@contoso.com

0,05

255

2010-01-03

SLR-kaamera

15

2

Jaworski

michal.jaworski@contoso.com

0,10

254

2010-01-03

Väikse eelarvega filmitegija

27

Selline lähenemine võib toimida, kuid sellega kaasneb rohkelt liigsete andmete talletamist, nagu kliendi meiliaadress iga tellimuse juures. Talletamine on odav, kuid meiliaadressi muutudes peate värskendama selle kliendi kõiki ridu. Üks võimalik lahendus on tükeldada andmed mitmeks tabeliks ja määratleda nende tabelite vahel seosed. See on lähenemisviis, mida kasutavad sellised relatsiooniandmebaasid nagu SQL Server. Näiteks võib imporditav andmebaas esitada tellimuseandmeid, kasutades kolme seotud tabelit:

Customers (Kliendid)

[CustomerID] (Kliendi ID)

Name (Nimi)

Email (E-post)

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

CustomerDiscounts (Kliendiallahindlused)

[CustomerID] (Kliendi ID)

DiscountRate (Allahindlus)

1

0,05

2

0,10

Orders (Tellimused)

[CustomerID] (Kliendi ID)

OrderID (Tellimuse ID)

OrderDate (Tellimuse kuupäev)

Toode

Quantity (Kogus)

1

256

2010-01-07

Kompaktne digitaalne

11

1

255

2010-01-03

SLR-kaamera

15

2

254

2010-01-03

Väikse eelarvega filmitegija

27

Andmemudeli seoste olemasolu – üks, et loote selgesõnaliselt või üks, mille Excel automaatselt loob teie nimel, kui impordite korraga mitme tabeli. Samuti saate Power Pivot lisandmooduli loomiseks või haldamiseks mudel. Üksikasjad leiate Exceli andmemudeli loomine .

Kui kasutate Power Pivoti lisandmoodulit tabelite importimiseks samast andmebaasist, võib Power Pivot tuvastada tabelitevahelised seosed [nurksulgudes] asuvate veergude põhjal ja need taastekitada taustal koostatavas andmemudelis. Lisateavet leiate selle artikli jaotisest Seoste automaattuvastus ja tuletamine. Mitmest allikast importides saate seoseid käsitsi luua; seda on kirjeldatud artiklis Kahe tabeli vahel seose loomine.

Seoste põhinevad samad andmed sisaldavad iga tabeli veerud. Näiteks võib seotud tellimuste tabel, kui iga tabel sisaldab veerg, mis talletab on Tellijaid. Näites veergude nimed on samad, kuid on see pole kohustuslik. Üks võiks olla tellijaid ja muu CustomerNumber, kui kõik read tabelis Tellimused sisaldavad ID, mis on talletatud ka klientide tabelis.

Relatsiooniandmebaasist, on mitut tüüpi võtmed. Võti on tavaliselt veeru teisiti atribuudid. Iga otstarbe mõistmine aitab teil mitme tabeli andmeid PivotTable-liigendtabelis, Pivotchartis või Power View aruande andmemudeli haldamine.

Kuigi on mitut tüüpi klahvid, need on kõige olulisem meie eesmärgil siit:

  • Primaarvõti: tuvastab kordumatult tabeli, nt CustomerIDklientide tabelis rea.

  • Alternatiivse klahvi (või testversiooni võti): peale primaarvõtme, mis on kordumatu veeru. Näiteks või tabel töötajad võivad talletada töötaja ID-d ja on isikukood, mis on kordumatu.

  • Välisvõti: veerg, mis viitab kordumatule veerule teises tabelis, nt CustomerIDtellimuste tabelis, mis viitab CustomerID-le klientide tabelis.

Andmemudelis, primaarvõtme või alternatiivse võti nimetatakse seotud veerg. Kui tabel on nii põhi- ja alternatiivse klahvi, saate kasutada ühe alusena Tabeliseose. Võõrvõti edaspidi lähteveeru või lihtsalt veerg. Selles näites määratletakse CustomerIDtellimuste tabelis (veerus) ja tabel Kliendid (otsinguveeru) tellijaid vahel seose. Kui andmete importimine relatsiooniandmebaasist Exceli valib vaikimisi Võõrvõti ühest tabelist ja vastav primaarvõtme teise tabeli. Siiski saate kasutada mis tahes veerule, milles on Kordumatud väärtused otsinguveeru.

Kliendi ja tellimuse seos on üks-mitmele seose. Iga klient võib olla mitu tellimust, kuid tellimuse ei tohi olla mitu klientidele. Mõne muu oluline Tabeliseose on üks-ühele. Selles näites siin on customerdiscounts (kliendiallahindlused) tabeli, mis määratleb ühe diskontomäär iga kliendi, klientide tabel üks-ühele seos.

Selles tabelis on kuvatud(kliendid, customerdiscounts (kliendiallahindlused)ja tellimused) kolme tabeli vahelisi seoseid.

Seos

Tüüp

Otsinguveerg

Veerg

Customers-CustomerDiscounts

üks-ühele

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

üks mitmele

Customers.CustomerID

Orders.CustomerID

Märkus.:  Andmemudelis pole mitu-mitmele seosed toetatud. Mitu-mitmele seose näide on vahetu seos toodete ja klientide vahel, kus klient saab osta mitu toodet ja sama toodet saab osta mitu klienti.

Pärast iga seose loomist, peab Exceli tavaliselt ümberarvutamine tabeli veergude kasutamine vastloodud seose valemeid. Töötlemine võib võtta aega, olenevalt suurt hulka andmeid ja keerukusest seoseid. Lisateavet leiate teemast Valemite ümberarvutamine.

Andmemudeli võib olla mitu seost kahe tabeli vahel. Koostamiseks täpseid arvutusi, Exceli tuleb teed ühest tabelist teise. Seetõttu ainult üks seos kahe tabeli vahel on aktiivne korraga. Kuigi teised on aktiivne, saate määrata passiivsed seose valemites ja päringud.

Diagrammivaates aktiivse seose on pidevjoone ja passiivsed need on kriipsjooned. Näiteks AdventureWorksDW2012, tabelis DimDate sisaldab veergu, Kuupäevvõti, mis on seotud kolme eri veergu tabeli FactInternetSales: TellimuseKuupäev, tähtaeg identifikaatoristja Tarnekuupäev. Kui aktiivse seose on Kuupäevvõti – OrderDate, mis on vaikesäte seose valemites saate.

Seose saab luua, kui järgmised nõuded on täidetud.

Kriteerium

Kirjeldus

Iga tabeli kordumatu ID

Igal tabelil peab olema üks veerg, mis identifitseerib kõik selle tabeli read kordumatul viisil. Seda veergu nimetatakse tihti primaarvõtmeks.

Kordumatud otsinguveerud

Otsinguveeru andmeväärtused peavad olema kordumatud. Teisisõnu ei tohi veerg sisaldada kordusi. Andmemudelis võrduvad nullväärtused ja tühjad stringid tühiväärtusega, mis on eraldi andmeväärtus. See tähendab, et otsinguveerus ei või mitut nulli olla.

Ühilduvad andmetüübid

Andmeallika veeru ja otsinguveeru andmetüübid peavad ühilduma. Andmetüüpide kohta leiate lisateavet teemast andmemudelite toetatud andmetüübid.

Andmemudelis ei saa tabeliseost luua, kui võti on koondvõti. Samuti on lubatud ainult üks ühele ja üks mitmele seosed. Muid seosetüüpe ei toetata.

Koondvõtmed ja Otsinguveerud

Kombineeritud klahvi koosneb rohkem kui üks veerg. Andmemudelid ei saa kasutada koondvõtmed: tabelis peab alati olema täpselt üks veerg, mis tuvastab kordumatult tabeli iga rea. Kui impordite tabelid, millel on olemasoleva seose alusel kombineeritud klahvi, ignoreerivad lisandmoodulis Power Pivot tabeli impordiviisardi kustutamist seose kuna see ei saa luua mudel.

Kahe tabeli, mis on mitu veergu, põhi- ja võõrvõtmete klahvid määratlemine vahelise seose loomiseks ühendada esmalt väärtusi enne seose loomine ühe võtmeveeru loomine. Saate seda teha enne andmete importimiseks või alusel arvutatud veeru loomine Power Pivoti andmemudelis lisandmoodul.

Mitu-mitmele seosed

Andmemudeli ei tohi olla mitu-mitmele seosed. Lihtsalt ei saa lisada junction tabelite mudel. Siiski saate DAX-i funktsioone mudeli mitu-mitmele seosed.

Iseliitmised ja tsüklid

Iseliitmised pole andmemudelis lubatud. Iseliitmine on rekursiivne seos tabeli ja iseenda vahel. Iseliitmisi kasutatakse tihti ema-/tütarhierarhiate määratlemisel. Näiteks: võiksite töötajate tabeli liita tabeli endaga, et luua ettevõtte haldusahelat kirjeldav hierarhia.

Excel ei luba töövihikus seoste vahel tsükleid luua. Teisisõnu on järgmised seosekomplektid keelatud.

Tabel 1, veerg a   ja   Tabel 2, veerg f

Tabel 2, veerg f   ja   Tabel 3, veerg n

Tabel 3, veerg n   ja   Tabel 1, veerg a

Kui proovite luua seost, mis tekitaks tsükli, tekib tõrge.

Üks eeliseid andmete importimisel Power Pivoti lisandmooduliga seisneb selles, et Power Pivot võib vahel seoseid tuvastada ja luua uued seosed Excelisse tehtavas andmemudelis.

Kui impordite mitu tabelit, tuvastab Power Pivot automaatselt tabelitevahelised olemasolevad seosed. Samuti analüüsib Power Pivot tabelites andmeid PivotTable-liigendtabeli loomisel. See tuvastab võimalikud määratlemata seosed ja soovitab sobivaid veerge nendes seostes kaasamiseks.

Tuvastusalgoritm kasutab veergude metaandmete ja väärtuste statistilisi andmeid, et teha järeldusi seoste tõenäosuse kohta.

  • Kõigi seotud veergude andmetüübid peavad omavahel ühilduma. Automaattuvastuse puhul toetatakse ainult täisarvu ja teksti andmetüüpe. Lisateavet andmetüüpide kohta leiate lehelt Andmemudelites toetatudandmetüübid.

  • Seose edukaks tuvastamiseks peab otsinguveeru kordumatute võtmete arv olema suurem kui väärtused tabeli poolel "mitmele". Teisisõnu ei tohi seose poolel "mitmele" paiknev võtmeveerg sisaldada ühtki väärtust, mis pole otsingutabeli võtmeveerus. Näiteks: oletame, et teil on tabel, kus on tooted ja nende ID-d (otsingutabel), ja müügitabel, kus on kõigi toodete müük (seose pool "mitmele"). Kui teie müügikirjed sisaldavad toote ID-d, millele ei leidu toodete tabelis vastavat ID-d, ei saa seost automaatselt luua, kuid võib-olla saab selle teha käsitsi. Võimaldamaks Excelil seoseid tuvastada peate kõigepealt värskendama toodete otsingutabelit puuduvate toodete ID-dega.

  • Veenduge, et võtmeveeru poolel mitu nimi on sarnane võtmeveeru otsing tabeli nimi. Nimed ei peavad olema täpselt sama. Näiteks äri keskkonnas, sageli olete variatsioonid põhiosas sama andmeid sisaldavate veergude nimed: Emp ID, töötaja ID, töötaja ID EMP_IDjne. Algoritmi tuvastab sarnased nimed ja määrab suurem tõenäosus nendes veergudes, mis on sarnane või täpselt kattuvad nimed. Seetõttu, võite luua seose tõenäosuse suurendamiseks ümbernimetamine andmeid impordite midagi sarnast veergude oma olemasoleva tabeli veerud. Kui Excel leiab mitu võimalikku seost, siis see pole seose loomine.

Sellest teabest on teil ehk kasu mõistmaks, miks kõiki seoseid ei tuvastata ja kuidas metaandmete (nt väljanimi ja andmetüübid) muutused võivad automaatse seosetuvastuse tulemusi parandada. Lisateavet vaadake lehelt Seoste tõrkeotsing.

Nimega komplektide automaattuvastus

Nimega komplektide ja PivotTable-liigendtabeli seotud väljade vahel ei tuvastata seoseid automaatselt. Need seosed saab luua käsitsi. Kui soovite kasutada automaatset seosetuvastust, eemaldage kõik nimega komplektid ja lisage nimega komplekti üksikväljad otse PivotTable-liigendtabelisse.

Seoste tuletamine

Mõnel juhul määratakse tabeliseosed ahelana. Näiteks: kui loote seose kahe esimese alltoodud tabelikomplekti vahel, järeldatakse, et seos on olemas ka kahe teise tabeli vahel ja see seos luuakse automaatselt.

Tooted ja Kategooria -- loodud käsitsi

Kategooria ja Alamkategooria -- loodud käsitsi

Tooted ja Alamkategooria -- seos on tuletatud

Seoste automaatseks aheltuletuseks peavad seosed minema ühes suunas, nagu ülal näidatud. Kui algseosed oleks nt Müük ja Tooted ning Müük ja Kliendid, siis seost ei tuletataks. Põhjuseks on see, et toodete ja klientide seos on mitu-mitmele tüüpi.

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×