Lentelių ryšiai duomenų modelyje

Pastaba:  Norėtume jums kuo greičiau pateikti naujausią žinyno turinį jūsų kalba. Šis puslapis išverstas automatiškai, todėl gali būti gramatikos klaidų ar netikslumų. Mūsų tikslas – padaryti, kad šis turinys būtų jums naudingas. Gal galite šio puslapio apačioje mums pranešti, ar informacija buvo naudinga? Čia yra straipsnis anglų kalba , kuriuo galite pasinaudoti kaip patogia nuoroda.

Jūsų naršyklė nepalaiko vaizdo įrašo. Įdiekite „Microsoft Silverlight“, „Adobe Flash Player“ ar „Internet Explorer 9“.
Vaizdo įrašas: „Power View“ ir „Power Pivot“ ryšiai

Vaizdo įrašas: „Power View“ ir „Power Pivot“ ryšiai

Vaizdo įrašas: „Power View“ ir „Power Pivot“ ryšiai

Vaizdo įrašas: "Power View" ir "Power Pivot" ryšiai

Įtraukite daugiau galios į jūsų duomenų analizės kuriant ryšius amogn skirtingų lentelių. Ryšio yra tarp dviejų lentelių, kuriuose yra duomenų ryšį: kiekvienos lentelės stulpelio yra pagrindas ryšį. Norėdami pamatyti, kodėl naudingos ryšiai, Įsivaizduokite, kad duomenų klientų užsakymus sekti savo verslą. Jūs galėsite sekti visus duomenis į vieną lentelę, kuriuose yra tokia:

CustomerID

Name

EMail

DiscountRate

OrderID

OrderDate

Produktas

Kiekis

1

Ashton

chris.ashton@contoso.com

0,05

256

2010-01-07

Kompaktiškas skaitmeninis

11

1

Ashton

chris.ashton@contoso.com

0,05

255

2010-01-03

Veidrodinis fotoaparatas

15

2

Jaworski

michal.jaworski@contoso.com

0,10

254

2010-01-03

Nebrangi filmų montažinė

27

Šis būdas gali veikti, bet jį taikant saugoma daug pasikartojančių duomenų, pvz., kiekvieno užsakymo kliento el. pašto adresas. Saugoti nebrangu, bet pasikeitus el. pašto adresui būtina atnaujinti kiekvieną to kliento eilutę. Vienas iš šios problemos sprendimų yra duomenų paskirstymas keliose lentelėse ir ryšių tarp tų lentelių apibrėžimas. Šis būdas taikomas reliacinėse duomenų bazėse, pvz., SQL serveryje. Importuojamoje duomenų bazėje užsakymo duomenys gali būti pateikiami naudojant tris susijusias lenteles:

Customers

[CustomerID]

Name

El. paštas

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

CustomerDiscounts

[CustomerID]

DiscountRate

1

.05

2

.10

Orders

[CustomerID]

OrderID

OrderDate

Produktas

Kiekis

1

256

2010-01-07

Kompaktiškas skaitmeninis

11

1

255

2010-01-03

Veidrodinis fotoaparatas

15

2

254

2010-01-03

Nebrangi filmų montažinė

27

Ryšiai yra duomenų modelis – vieną, kuris aiškiai sukursite arba vienas, kad "Excel" automatiškai sukuria jūsų vardu, kai vienu metu importuojate keliose lentelėse. Taip pat galite naudoti Power Pivot papildinį kurti arba valdyti modelį. Informacijos rasite "Excel" duomenų modelio kūrimas .

Jeigu naudojate „Power Pivot“ papildinį importuodami lenteles iš tos pačios duomenų bazės, „Power Pivot“ gali nustatyti ryšius tarp lentelių pagal [skliaustais] išskirtus stulpelius ir atkurti šiuos ryšius duomenų modelyje, kuris kuriamas jums nedalyvaujant. Daugiau informacijos žr. šio straipsnio dalyje Automatinis ryšių aptikimas ir numatymas. Jeigu lentelės importuojamos iš įvairių šaltinių, galima sukurti ryšius neautomatiškai, kaip nurodyta straipsnyje Ryšių tarp dviejų lentelių kūrimas.

Ryšių, atsižvelgiant į kiekvienos lentelės stulpelių, kuriuose yra tie patys duomenys. Pvz., jums gali būti susiję, jei kiekvieną lentelę užsakymai lentelė Klientai yra stulpelis, kuriame saugoma Kliento ID. Pateiktame pavyzdyje stulpelių pavadinimai yra tokie patys, bet tai nėra būtinas. Vienas gali būti CustomerID ir kitą CustomerNumber, tol, kol visos eilutės lentelėje Užsakymai yra ID, kuris saugomas lentelėje Klientai.

Reliacinės duomenų bazės, yra kelių tipų klavišus. Raktas paprastai yra stulpelis su specialios ypatybės. Suprasti kiekvieną klavišą paskirtį gali padėti tvarkyti kelių lentelių duomenų modelis, kuri teikia duomenis į "PivotTable", "PivotChart" arba "Power View" ataskaitą.

Nors daugelio tipų kodų, tai yra svarbiausių mūsų tikslais čia:

  • Pirminį raktą: unikaliai identifikuoja eilutę lentelėje, pvz., CustomerID lentelėje Klientai .

  • Alternatyvių kodą (arba candidate kodą): stulpelį, išskyrus pirminį raktą, kuris yra unikalus. Pvz., darbuotojo ID ir socialinio draudimo numerį, kuriame yra unikalios, gali saugoti darbuotojų lentelės.

  • Išorinis raktas: stulpelis, nurodantis kitoje lentelėje, pvz., CustomerID lentelėje " Orders ", nurodantis CustomerID lentelėje Klientai unikalų stulpelį.

Duomenų modelio, pirminio rakto arba alternatyvus raktas vadinamas susijęs stulpelis. Jei lentelėje yra tiek pirminių ir alternatyvių kodą, galite naudoti kaip pagrindą vieną iš lentelės ryšys. Išorinis raktas vadinamas šaltinio stulpelyje arba tiesiog stulpelį. Mūsų pavyzdyje ryšio būtų apibrėžti, CustomerID lentelėje užsakymai (stulpelyje) ir CustomerID lentelėje Klientai (peržvalgos stulpelis). Jei duomenų importavimas iš sąryšinės duomenų bazės, pagal numatytuosius nustatymus "Excel" pasirenka išorinis raktas iš vienos lentelės ir atitinkamų pirminis raktas iš kitos lentelės. Tačiau galite naudoti bet kurį stulpelį, kuriame yra unikalios reikšmės peržvalgos stulpelio.

Ryšį tarp kliento ir tvarka yra vienas su daugeliu ryšį. Kiekvienas klientas gali turėti kelis užsakymus, tačiau tvarka negali būti kelių Klientai. Kitas svarbus lentelių ryšių yra vienas su vienu. Mūsų pavyzdyje, CustomerDiscounts lentelės, kuri apibrėžia vieno diskonto norma kiekvieno kliento, turi ryšį su lentelę Klientai.

Šioje lentelėje nurodyti ryšiai tarp trijų lentelių(Klientai, CustomerDiscountsir užsakymai):

Ryšys

Tipas

Peržvalgos stulpelis

Stulpelis

Customers-CustomerDiscounts

vienas su vienu

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers – Orders

vienas su daugeliu

Customers.CustomerID

Orders.CustomerID

Pastaba:  Duomenų modelis nepalaiko ryšių „daugelis su daugeliu“. Ryšio „daugelis su daugeliu“ pavyzdys yra tiesioginis ryšys tarp produktų ir klientų, kai klientai gali pirkti daug produktų, o vieną produktą gali pirkti daug klientų.

Sukūrę santykiai, "Excel" paprastai perskaičiuoti formules, naudojančios stulpelius iš lentelių naujai sukurtą ryšį. Apdorojimas gali šiek tiek užtrukti, atsižvelgiant į duomenų kiekį ir sudėtingumą ryšius. Daugiau informacijos ieškokite Formulių perskaičiavimas.

Duomenų modelio gali būti keli ryšiai tarp dviejų lentelių. Norėdami kurti tikslūs skaičiavimai, reikalingų "Excel" vieną kelią iš vienos lentelės į kitą. Todėl tik vieną ryšį tarp kiekvienos lentelės poros veikia vienu metu. Nors kiti yra neaktyvi, galite nurodyti, neaktyvus ryšio formules ir užklausose.

Diagramos rodinyje aktyvaus ryšio yra nenutrūkstama linija ir neaktyvus tie, kurie yra Brūkšninės linijos. Pvz., AdventureWorksDW2012, DimDate lentelėje yra stulpelis, DateKey, susijusio su tris skirtingus stulpelius lentelėje FactInternetSales: OrderDate, funkcijos naudojimo reiškinyje"ir" Siuntimo_data. Jei aktyvaus ryšio tarp DateKey ir OrderDate, tai numatytasis ryšio formulėse, Jei nenurodysite kitaip.

Ryšį galima kurti, tada, kai įgyvendinami toliau nurodyti reikalavimai.

Kriterijai

Aprašas

Kiekvienos lentelės unikalus identifikatorius

Kiekvienoje lentelėje turi būti vienas stulpelis, kuriame unikaliai identifikuojama kiekviena lentelės eilutė. Šis stulpelis dažnai vadinamas pirminiu raktu.

Unikalūs peržvalgos stulpeliai

Duomenų reikšmės peržvalgos stulpelyje turi būti unikalios. Kitaip tariant, stulpelyje negali būti dublikatų. Duomenų modelyje nuliai ir tuščios eilutės yra atitikmenys tuščių reikšmių, kurios yra konkrečios duomenų reikšmės. Tai reiškia, kad peržvalgos stulpelyje negali būti kelių nulių.

Suderinami duomenų tipai

Šaltinio stulpelyje ir peržvalgos stulpelio duomenų tipai turi būti suderinami. Daugiau informacijos apie duomenų tipus rasite Palaikomi duomenų modelių duomenų tipai.

Duomenų modelyje negalima kurti lentelių ryšių, jeigu raktas yra sudėtinis. Galima kurti tik ryšius „vienas su vienu“ ir „vienas su daugeliu“. Kiti ryšių tipai nepalaikomi.

Sudėtiniai raktai ir peržvalgos stulpeliai

Sudėtinio rakto sudaro daugiau nei vieną stulpelį. Duomenų modelių negalima naudoti raktų: lentelės visada turi būti tik vieną stulpelį, kuriame unikaliai identifikuoja kiekvieną lentelės eilutę. Jei importuoti lenteles, kuriose yra į esamą ryšį, pagrįstą sudėtinio rakto, todėl jo negalima sukurti modelio lentelės importavimo vediklio "Power Pivot" nepaisys tą ryšį.

Norėdami sukurti ryšį tarp dviejų lentelių, kuriuose yra kelių stulpelių, nustatydami pirminių ir išorinių raktų, sujungti reikšmes į vieną rakto stulpelio kūrimas prieš kuriant ryšį. Tai galite atlikti prieš importuoti duomenis arba sukurti apskaičiuojamąjį stulpelį į duomenų modelį, naudojant "PowerPivot" papildinį.

Daugelis su daugeliu

Duomenų modelio negali būti daugelis su daugeliu. Tiesiog negalite įtraukti sankirtos lentelių modelyje. Tačiau galite naudoti DAX funkcijos modelio daugelis su daugeliu ryšių.

Vidiniai sujungimai ir ciklai

Vidiniai sujungimai duomenų modelyje neleidžiami. Vidinis sujungimas yra rekursinis ryšys tarp lentelės ir jos pačios. Vidiniai sujungimai dažnai naudojami pirminėms ir antrinėms hierarchijoms apibrėžti. Pavyzdžiui, galima sujungti lentelę Darbuotojai su ja pačia, kad būtų sukurta hierarchija, parodanti verslo valdymo grandinę.

„Excel“ darbaknygėje negalima kurti ciklų tarp ryšių. Kitaip tariant, toliau nurodyto ryšių rinkinio naudoti negalima.

1 lentelė, stulpelis   su   2 lentele, stulpelis f

2 lentelė, stulpelis f   su   3 lentele, stulpelis n

3 lentelė, stulpelis n   su   1 lentele, stulpelis a

Jeigu bandysite sukurti ryšį, pagal kurį bus sukuriamas ciklas, bus pateikiama klaida.

Vienas iš duomenų importavimo naudojant „Power Pivot“ papildinį pranašumų yra tas, kad „Power Pivot“ kartais gali aptikti ryšius ir sukurti naujų ryšių duomenų modelyje, kurį kuria „Excel“.

Importuojant kelias lenteles „Power Pivot“ automatiškai aptinka visus esamus ryšius tarp lentelių. Kai kuriama „PivotTable“, „Power Pivot“ analizuoja lentelėse esančius duomenis. Papildinys aptinka galimus ryšius, kurie nebuvo apibrėžti, ir pasiūlo atitinkamus stulpelius, į kuriuos bus įtraukti tie ryšiai.

Aptikimo algoritmas naudoja statistinius reikšmių duomenis ir stulpelių metaduomenis, kad būtų galima numatyti ryšių galimybes.

  • Visuose susijusiuose stulpeliuose esančių duomenų tipai turi būti suderinami. Naudojant automatinį aptikimą palaikomi tik sveikųjų skaičių ir teksto duomenų tipai. Daugiau informacijos apie duomenų tipus žr. Duomenų modeliuose palaikomi duomenų tipai.

  • Siekiant sėkmingai aptikti ryšį, peržvalgos stulpelyje esančių unikalių raktų skaičius turi būti didesnis negu lentelės reikšmės dalyje „daugelis“. Kitaip tariant, rakto stulpelyje, priklausančiame ryšio daliai „daugelis“, negali būti jokių reikšmių, kurių nėra peržvalgos lentelės rakto stulpelyje. Tarkime, kad yra lentelė, kurioje išvardyti produktai ir jų ID (peržvalgos lentelė) ir pardavimo lentelė, kurioje nurodyti kiekvieno produkto pardavimo duomenys (ryšio dalis „daugelis“). Jeigu pardavimo įrašuose yra produkto ID, kuriam lentelėje Produktai nepriskirtas atitinkamas ID, ryšio negalima sukurti automatiškai, bet jį gali pavykti sukurti neautomatiškai. Jeigu norite, kad „Excel“ aptiktų ryšį, iš pradžių būtina atnaujinti produktų peržvalgos lentelę naudojant trūkstamų produktų ID.

  • Įsitikinkite, kad rakto stulpelio daugelis vardas yra panašus į pagrindinį stulpelį peržvalgos lentelės pavadinimą. Vardus neprivalo būti tokie patys. Pvz., verslo aplinkoje, dažnai turi variantų pavadinimai, stulpelių, kuriuose yra iš esmės tie patys duomenys: Emp ID, EmployeeID, darbuotojo ID, EMP_IDir pan. Algoritmas aptinka nesusieti ir priskiria didesnė tikimybė stulpelių, kuriuose yra panašių ar tiksliai atitikimo pavadinimus. Todėl, Norėdami padidinti tikimybę sukurti ryšį, galite pabandyti pervardyti stulpelius duomenų, kuriuos galite importuoti į kažką panašaus į stulpelius esamą lentelėse. Jei "Excel" randa keli galimi ryšiai, tada jį nesukuria ryšio.

Ši informacija padės suprasti, kodėl aptinkami ne visi ryšiai arba kaip metaduomenų pakeitimai, pvz., lauko pavadinimai ir duomenų tipai, padėtų tobulinti automatinio ryšio aptikimo rezultatus. Daugiau informacijos žr. Ryšių trikčių diagnostika.

Automatinis įvardytųjų rinkinių aptikimas

„PivotTable“ tarp įvardytųjų rinkinių ir susijusių laukų ryšiai automatiškai neaptinkami. Šiuos ryšius galima sukurti neautomatiškai. Jeigu norite naudoti automatinį ryšių aptikimą, pašalinkite kiekvieną įvardytąjį rinkinį ir įtraukite atskirus laukus iš įvardytojo rinkinio tiesiogiai į „PivotTable“.

Ryšių numatymas

Tam tikrais atvejais ryšiai tarp lentelių automatiškai sujungiami. Jeigu kuriamas ryšys tarp dviejų pirmųjų lentelių rinkinių (tolesnis pavyzdys), numatoma, kad ryšys egzistuoja tarp kitų dviejų lentelių, ir jis sukuriamas automatiškai.

Produktai ir kategorija – sukurtas neautomatiškai

Kategorija ir subkategorija – sukurtas neautomatiškai

Produktai ir subkategorija – ryšys numatytas

Kad ryšiai būtų automatiškai sujungti, jie turi būti nukreipti viena kryptimi, kaip parodyta anksčiau. Jeigu pradiniai ryšiai buvo tarp elementų Pardavimas ir produktai bei Pardavimas ir klientai, ryšys nėra numatomas. Taip yra todėl, kad ryšys tarp elementų Produktai ir Klientai yra ryšys „daugelis su daugeliu“.

Tobulinkite savo „Office“ įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×