Applies To„Excel“, skirta „Microsoft 365“ „Excel 2024“ Excel 2021 Excel 2019 Excel 2016
Jūsų naršyklė nepalaiko vaizdo įrašo. Įdiekite „Microsoft Silverlight“, „Adobe Flash Player“ ar „Internet Explorer 9“.

Įtraukite daugiau galimybių duomenų analizei sukurdami ryšius, kurie skiriasi nuo lentelių. Ryšys yra dviejų lentelių, kuriose yra duomenų, sąsaja: vienas stulpelis kiekvienoje lentelėje yra ryšio pagrindas. Kad geriau suprastumėte, kuo gali būti naudingi ryšiai, įsivaizduokite, kad sekate kliento užsakymų duomenis. Galite sekti visus vienos lentelės duomenis, kurių struktūra yra tokia:

CustomerID

Name

EMail

DiscountRate

OrderID

OrderDate

Product

Quantity

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

Email

1

Ashton

chris.ashton@contoso.com

2

Jaworski

marijus.bagdonas@contoso.com

KlientoNuolaidos

[CustomerID]

DiscountRate

1

.05

2

.10

Orders

[CustomerID]

OrderID

OrderDate

Product

Quantity

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ų modelyje – tame, kurį aiškiai sukuriate, arba tame, kurį "Excel" automatiškai sukuria jūsų vardu, kai vienu metu importuojate kelias lenteles. Taip pat galite naudoti Power Pivot papildinį modeliui kurti arba valdyti. Daugiau informacijos žr. Duomenų modelio kūrimas programoje "Excel" .

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šiai pagrįsti kiekvienoje lentelėje esančiais stulpeliais, kuriuose yra tokie patys duomenys. Pavyzdžiui, galite susieti lentelę Klientai su lentele Užsakymai , jei kiekviename yra stulpelis, kuriame saugomas kliento ID. Pavyzdyje stulpelių pavadinimai sutampa, bet tai nėra būtina. Vieno stulpelio pavadinimas galėtų būti CustomerID, o kito – CustomerNumber, jei tik visose lentelės „Orders“ eilutėse bus nurodytas ID, kuris saugomas ir lentelėje „Customers“.

Sąryšinių duomenų bazėje yra kelių tipų raktai. Raktas paprastai yra stulpelis su specialiomis ypatybėmis. Supratus kiekvieno rakto paskirtį bus lengviau tvarkyti kelių lentelių duomenų modelį, teikiantį duomenis „PivotTable“, „PivotChart“ ar „Power View“ ataskaitai.

Nors yra daug raktų tipų, jie yra svarbiausi mūsų tikslui čia:

  • Pirminis raktas: unikaliai identifikuoja lentelės eilutę, pvz., CustomerID lentelėje Klientai .

  • Alternatyvusis raktas (arba kandidatinis raktas): stulpelis, kuris nėra unikalus pirminis raktas. Pavyzdžiui, lentelėje Darbuotojai gali būti darbuotojų ID ir socialinio draudimo numeriai, kurie yra unikalūs.

  • Išorinis raktas: stulpelis, nurodantis unikalų stulpelį kitoje lentelėje, pvz., CustomerID lentelėje Užsakymai , kuris nurodo CustomerID lentelėje Klientai.

Duomenų modelyje pirminis raktas arba alternatyvusis raktas vadinamas susijusiu stulpeliu. Jeigu lentelėje yra pirminis ir alternatyvusis raktai, kaip lentelės ryšio pagrindą galima naudoti bet kurį iš jų. Išorinis raktas vadinamas šaltinio stulpeliu arba tiesiog stulpeliu. Mūsų pavyzdyje ryšys būtų apibrėžtas tarp CustomerID lentelėje Orders (stulpelyje) ir CustomerID lentelėje Customers (peržvalgos stulpelis). Importuojant duomenis iš santykinės duomenų bazės, pagal numatytuosius nustatymus „Excel“ parenka išorinį raktą iš vienos lentelės ir atitinkamą pirminį raktą iš kitos lentelės. Tačiau peržvalgos stulpeliui galite naudoti bet kurį stulpelį, kuriame yra unikalios reikšmės.

Ryšys tarp kliento ir užsakymo yra ryšys "vienas su daugeliu". Klientui gali būti priskirti keli užsakymai, bet užsakymui gali būti priskirtas tik vienas klientas. Kitas svarbus lentelių ryšys yra "vienas su vienu". Čia pateiktame pavyzdyje CustomerDiscounts lentelėje, kurioje kiekvienam klientui apibrėžiamas vienas nuolaidos tarifas, yra ryšys "vienas su vienu" su lentele Klientai.

Šioje lentelėje rodomi ryšiai tarp trijų lentelių (Klientai, CustomerDiscounts ir 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ūrus ryšį, "Excel" paprastai turi perskaičiuoti visas formules, kurios naudoja stulpelius iš lentelių naujai sukurtame ryšyje. Apdorojimas gali užtrukti, atsižvelgiant į duomenų kiekį ir ryšių sudėtingumą. Daugiau informacijos žr. Formulių perskaičiavimas.

Duomenų modelyje gali būti keli ryšiai tarp dviejų lentelių. Norint sukurti tikslius skaičiavimus, "Excel" reikia vieno kelio iš vienos lentelės į kitą. Todėl vienu metu aktyvus tik vienas kiekvienos lentelių poros ryšys. Nors kiti neaktyvūs, formulėse ir užklausose galite nurodyti neaktyvų ryšį.

Diagramos rodinyje aktyvus ryšys yra vientisa linija, o neaktyvios – punktyrinės linijos. Pavyzdžiui, "AdventureWorksDW2012" lentelėje DimDate yra stulpelis DateKey, susijęs su trimis skirtingais lentelės FactInternetSales stulpeliais: OrderDate, DueDate ir ShipDate. Numatytasis ryšys formulėse yra aktyvus ryšys tarp DateKey ir OrderDate, nebent nurodoma 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

Duomenų tipai šaltinio stulpelyje ir peržvalgos stulpelyje turi būti suderinami. Daugiau informacijos apie duomenų tipus žr. Duomenų modeliuose palaikomi 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ėtinį raktą sudaro daugiau nei vienas stulpelis. Duomenų modeliuose negalima naudoti sudėtinių raktų: lentelėje visada turi būti tik vienas stulpelis, kuris unikaliai identifikuoja kiekvieną lentelės eilutę. Jei importuosite lenteles, kuriose yra ryšys, pagrįstas sudėtiniu raktu, "Power Pivot" lentelių importavimo vediklis nepaisys šio ryšio, nes jo negalima sukurti modelyje.

Norėdami sukurti ryšį tarp dviejų lentelių, kuriose yra keli stulpeliai, apibrėžiantys pirminius ir išorinius raktus, iš pradžių sujunkite reikšmes, kad sukurtumėte vieną rakto stulpelį, ir tik tada kurkite ryšį. Tai galite padaryti prieš importuodami duomenis arba sukurdami apskaičiuojamąjį stulpelį duomenų modelyje naudodami "Power Pivot" papildinį.

Ryšiai „daugelis su daugeliu“

Duomenų modelyje negali būti ryšių „daugelis su daugeliu“. Negalima tiesiog įtraukti sujungimo lentelių į modelį. Tačiau modeliuojant ryšius „daugelis su daugeliu“ galima naudoti DAX funkcijas.

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.

  • Duomenų tipai visuose susijusiuose stulpeliuose turi būti suderinami. Automatiniam aptikimui palaikomi tik sveikiojo skaičiaus 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 dalies „daugelis“ rakto stulpelio pavadinimas yra panašus į peržvalgos lentelės rakto stulpelio pavadinimą. Pavadinimai neprivalo visiškai sutapti. Pavyzdžiui, verslo parametruose dažnai naudojami stulpelių pavadinimų variantai, kuriuose yra iš esmės tokie patys duomenys: Emp ID, EmployeeID, Employee ID, EMP_ID ir t. t. Algoritmas aptinka panašius pavadinimus ir priskiria stulpeliams, kurių pavadinimai yra panašūs arba vienodi, didesnę tikimybę. Todėl norėdami padidinti ryšio sukūrimo tikimybę galite pakeisti importuojamų duomenų stulpelių pavadinimus į tokius, kurie panašūs į suteiktus esamų lentelių stulpeliams. Jeigu „Excel“ aptinka kelis galimus ryšius, ryšys nesukuriamas.

Ši informacija gali padėti suprasti, kodėl neaptinkami visi ryšiai arba kaip metaduomenų pakeitimai, pvz., lauko pavadinimas ir duomenų tipai, gali pagerinti automatinio ryšių 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“.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.