Tabulu relācijas datu modelī

Piezīme.: Mēs vēlamies sniegt jums visjaunāko palīdzības saturu jūsu valodā, cik vien ātri to varam. Šī lapa ir tulkota automatizēti, un tajā var būt gramatiskas kļūdas un neprecizitātes. Mūsu nolūks ir šo saturu padarīt jums noderīgu. Vai lapas lejasdaļā varat mums pavēstīt, vai informācija jums noderēja? Ērtai atsaucei šeit ir šis raksts angļu valodā.

Jūsu pārlūkprogramma neatbalsta video. Instalējiet Microsoft Silverlight, Adobe Flash Player vai Internet Explorer 9.

Pievienojiet papildu jaudu datu analīzei, veidojot relācijas amogn dažādās tabulās. Relācija ir savienojums starp divām tabulām, kurās ir dati: viena kolonna katrā tabulā ir relācijas bāze. Lai saprastu, kā noder relāciju izmantošana, iedomājieties, ka savā uzņēmumā sekojat līdzi klientu pasūtījumu datiem. Visu datu izsekošana vienā tabulā, kurā ir šāda struktūra:

Klienta_ID

Nosaukums

E-pasts

DiscountRate

OrderID

OrderDate

Produkts

Daudzums

1

Ashton

chris.ashton@contoso.com

0.05

256

2010-01-07

Compact Digital

11

1

Ashton

chris.ashton@contoso.com

0.05

255

2010-01-03

SLR Camera

15

2

Jaworski

michal.jaworski@contoso.com

0.10

254

2010-01-03

Budget Movie-Maker

27

Šāda metode var darboties, bet tajā ir jāsaglabā daudz lieku datu, piemēram, klientu e-pasta adreses tiek saglabātas katram pasūtījumam. Glabāšana krātuvē ir lēta, bet e-pasta adreses maiņas gadījumā jums jānodrošina, lai tiktu atjaunināta katra attiecīgā klienta rinda. Viens veids, kā šo problēmu var risināt, ir sadalīt datus vairākās tabulās un norādīt relācijas starp tabulām. Šāda metode tiek izmantota tādās relāciju datu bāzēs kā SQL Server. Jūsu importētā datu bāze var ietvert, piemēram, pasūtījuma datus, izmantojot trīs saistītas tabulas.

Customers

[CustomerID]

Vārds

E-pasts

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

CustomerDiscounts

[CustomerID]

DiscountRate

1

0.05

2

.10

Orders

[CustomerID]

OrderID

OrderDate

Produkts

Daudzums

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

Datu modelī ir relācijas, kuras esat tieši izveidojis, vai arī programma Excel automātiski izveido jūsu vārdā, vienlaikus importējot vairākas tabulas. Modeļa izveidei vai pārvaldīšanai var izmantot arī pievienojumprogrammu Power Pivot. Papildinformāciju skatiet sadaļā Datu modeļa izveide programmā Excel.

Ja izmantojat pievienojumprogrammu Power Pivot, lai importētu tabulas no vienas datu bāzes, pievienojumprogramma Power Pivot spēj noteikt tabulu relācijas, ņemot vērā [iekavās] norādītās kolonnas, un šīs relācijas atveidot fonā izveidotajā datu modelī. Papildinformāciju skatiet šī raksta sadaļā Relāciju automātiska noteikšana un izsecināšana. Ja tabulas importējat no vairākiem avotiem, relācijas varat izveidot manuāli, kā aprakstīts sadaļā Divu tabulu relācijas izveide.

Relācijas ir atkarīgas no kolonnām katrā tabulā, kas ietver vienādus datus. Piemēram, varat saistīt tabulu Customers ar pasūtījumu tabulu, ja katrā ir kolonna, kas saglabā Klienta ID. Šajā piemērā kolonnu nosaukumi ir vienādi, bet tā nav obligāta prasība. Viena kolonna var būt CustomerID, bet otra — CustomerNumber, ja vien visas rindas tabulā Orders ietver ID, kas ir saglabāts arī tabulā Customers.

Relāciju datu bāzē ir vairāki taustiņu tipi. Atslēga parasti ir kolonna ar īpašiem rekvizītiem. Izprotot katras atslēgas uzdevumu, varat labāk pārvaldīt vairāku tabulu datu modeli, kas nodrošina datus rakurstabulas, rakursdiagrammas vai Power View atskaites izveidei.

Lai gan ir daudz dažādu taustiņu, tie ir svarīgākie mūsu mērķiem šeit:

  • Primārā atslēga: unikāli identificē tabulas rindu, piemēram, CustomerID tabulā Customers .

  • Alternatīvā atslēga (vai kandidāta atslēga): kolonna, kas nav unikāla primārā atslēga. Tabulā Employees var glabāt, piemēram, darbinieka ID un sociālās apdrošināšanas numuru — tie abi ir unikāli.

  • Ārējā atslēga: kolonna, kas norāda uz unikālu kolonnu citā tabulā, piemēram, CustomerID tabulā Orders, kura norāda uz CustomerID tabulā Customers.

Datu modelī primārā atslēga vai alternatīvā atslēga tiek saukta par saistīto kolonnu. Ja tabulā ir gan primārā, gan alternatīva atslēga, tabulu relācijas pamatā varat izmantot jebkuru no tām. Ārējā atslēga tiek saukta par avota kolonnu vai vienkārši kolonnu. Mūsu piemērā relācijas tiks definētas starp CustomerID tabulā Orders (kolonna) un CustomerID tabulā Customers (uzmeklēšanas kolonna). Ja importējat datus no relāciju datu bāzes, programma Excel pēc noklusējuma izvēlas ārējo atslēgu no vienas tabulas un atbilstošo primāro atslēgu no otras tabulas. Tomēr kā uzmeklēšanas kolonnu varat izmantot jebkuru kolonnu, kura ir unikālas vērtības.

Relācija starp klientu un pasūtījumu ir relācija viens pret daudziem. Katram klientam var būt vairāki pasūtījumi, bet vienam pasūtījumam nevar būt vairāki klienti. Citas svarīgas tabulu relācijas ir viens pret vienu. Mūsu piemērā šeit ir tabula CustomerDiscounts , kas katrai klientam definē atsevišķu diskonta likmi, bet ir relācija viens pret vienu ar tabulu Customers.

Šajā tabulā ir parādītas relācijas starp trim tabulām (klientiem, CustomerDiscountsun pasūtījumiem).

Relācija

Tips

Uzmeklēšanas kolonna

Kolonna

Customers-CustomerDiscounts

Viens pret vienu

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

Viens pret daudziem

Customers.CustomerID

Pasūtījumi.Klienta_ID

Piezīme.: Datu modelī netiek atbalstītas relācijas Daudzi pret daudziem. Relācijas Daudzi pret daudziem piemērs ir tieša relācija starp tabulām Products un Customers, kurā viens klients var iegādāties daudzus produktus un viena veida produktu var iegādāties daudzi klienti.

Pēc jebkādu relāciju izveidošanas programmai Excel parasti ir jāpārrēķina formulas, kas izmanto kolonnas no jaunizveidotajām relācijām. Apstrāde var aizņemt kādu laiku, ņemot vērā datu daudzumu un relāciju sarežģītību. Papildinformāciju skatiet rakstā formulu pārrēķināšana.

Datu modelī starp divām tabulām var būt vairākas relācijas. Lai izveidotu precīzus aprēķinus, programmā Excel ir nepieciešams viens ceļš no vienas tabulas uz nākamo. Tāpēc starp katru tabulu pāri vienlaicīgi ir aktīva tikai viena relācija. Lai gan pārējie ir neaktīvi, varat norādīt neaktīvu relāciju formulās un vaicājumos.

Diagrammas skatā aktīvās relācijas ir nepārtraukta līnija, un neaktīvās līnijas ir Raustītās rindiņas. Piemēram, programmā AdventureWorksDW2012 tabulā parametra dimdate ir iekļauta kolonna datumaatslēga, kas ir saistīta ar trim dažādām kolonnām tabulā FactInternetSales: OrderDate, piemērsun ShipDate. Ja aktīvā relācija ir starp kolonnām DateKey un OrderDate, tad tā formulās ir noklusējuma relācija, ja vien nenorādāt citādi.

Relāciju var izveidot, ja ir ievērotas tālāk aprakstītās prasības.

Kritēriji

Apraksts

Katras tabulas unikālais identifikators

Katrai tabulai ir nepieciešama viena kolonna, kas unikāli identificē katru šīs tabulas rindu. Šī kolonna bieži tiek saukta par primāro atslēgu.

Unikālās uzmeklēšanas kolonnas

Uzmeklēšanas kolonnas datu vērtībām ir jābūt unikālām. Tas nozīmē, ka šajā kolonnā nedrīkst būt dublikātu. Datu modelī nulles un tukšas virknes ir vienādas ar tukšumiem, kas ir noteikta datu vērtība. Tas nozīmē, ka uzmeklēšanas kolonnā nedrīkst būt vairākas nulles.

Saderīgie datu tipi

Datu tipiem avota kolonnā ir jābūt saderīgiem ar datu tipiem uzmeklēšanas kolonnā. Papildinformāciju par datu tipiem skatiet rakstā datu tipi, kas tiek atbalstīti datu modeļos.

Datu modelī tabulu relāciju nevar izveidot, ja atslēga ir kompozītatslēga. Pastāv arī ierobežojumi attiecībā uz relāciju Viens pret vienu un Viens pret daudziem izveidi. Citi relāciju tipi netiek atbalstīti.

Kompozītatslēgas un uzmeklēšanas kolonnas

Kompozītatslēga ir atslēga, kuru veido vairākas kolonnas. Datu modeļos nevar izmantot saliktās atslēgas: tabulai vienmēr ir jābūt tieši vienai kolonnai, kas unikāli identificē katru tabulas rindu. Ja importējat tabulas ar esošu relāciju, kuras pamatā ir salikta atslēga, tabulas importēšanas vednis pievienojumprogrammā Power Pivot ignorēs šo relāciju, jo to nevar izveidot modelī.

Lai izveidotu relāciju starp divām tabulām, kur primārās un ārējās atslēgas nosaka vairākas kolonnas, vispirms kombinējiet šīs vērtības, lai pirms relācijas izveidošanas radītu vienu atslēgas kolonnu. To var izdarīt pirms datu importēšanas vai datu modelī izveidot aprēķināto kolonnu, izmantojot pievienojumprogrammu Power Pivot.

Relācijas Daudzi pret daudziem

Datu modelī nevar būt relācijas Daudzi pret daudziem. Modelī nevar vienkārši pievienot savienojuma tabulas. Tomēr varat izmantot DAX funkcijas, lai modelētu relācijas Daudzi pret daudziem.

Patstāvīgi savienojumi un cilpas

Patstāvīgi savienojumi datu modelī nav atļauti. Patstāvīgs savienojums ir rekursīva relācija vienas tabulas ietvaros. Patstāvīgi savienojumi bieži tiek izmantoti vecākobjekta-bērnobjekta hierarhiju definēšanai. Varat pievienot, piemēram, tabulu Employees šai pašai tabulai, lai izveidotu hierarhiju, kas attēlo biznesa procesu vadības ķēdi.

Programma Excel neļauj izveidot cilpas starp relācijām darbgrāmatā. Tas nozīmē, ka nākamā relāciju kopa ir aizliegta.

1. tabula, kolonna a   ar   2. tabulu, kolonnu f

2. tabula, kolonna f   ar   3. tabulu, kolonnu n

3. tabula, kolonna n   ar   1. tabulu, kolonnu a

Ja mēģināt izveidot relāciju, kas radītu cilpu, rodas kļūda.

Viena no datu importēšanas priekšrocībām, izmantojot pievienojumprogrammu Power Pivot ir tā, ka dažreiz pievienojumprogrammā Power Pivot var tikt noteiktas relācijas un izveidotas jaunas relācijas programmā Excel izveidotajā datu modelī.

Kad importējat vairākas tabulas, pievienojumprogramma Power Pivot automātiski nosaka visas šo tabulu relācijas. Tāpat, kad izveidojat rakurstabulu, pievienojumprogramma Power Pivot analizē tabulās esošos datus. Tā nosaka iespējamās relācijas, kas nav norādītas, un ierosina šajās relācijās iekļaut atbilstošās kolonnas.

Lai izsecinātu relāciju iespējamību, noteikšanas algoritms izmanto statistiskos datus par kolonnu vērtībām un metadatiem.

  • Visu saistīto kolonnu datu tipiem ir jābūt saderīgiem. Automātiskas noteikšanas nolūkos ir atbalstīti tikai veselu skaitļu un teksta datu tipi. Papildinformāciju par datu tipiem skatiet sadaļā Datu modeļos atbalstītie datu tipi.

  • Lai relācijas tiktu veiksmīgi noteiktas, unikālo atslēgu skaitam uzmeklēšanas kolonnā ir jābūt lielākam par vērtību skaitu daudzo puses tabulā. Tas nozīmē, ka atslēgas kolonna relācijas daudzo pusē nedrīkst ietvert nekādas vērtības, kas neatrodas uzmeklēšanas tabulas atslēgas kolonnā. Pieņemsim, ka jums ir tabula, kurā uzskaitīti produkti un to ID (uzmeklēšanas tabula), un pārdošanas tabula, kurā uzskaitīti pārdošanas rādītāji katram produktam (relācijas daudzo puse). Ja pārdošanas ierakstos ir minēts produkta ID tādam produktam, kam nav atbilstoša ID tabulā Products, relāciju nevar izveidot automātiski, bet, iespējams, to varat izveidot manuāli. Lai programma Excel noteiktu šo saistību, vispirms jāatjaunina uzmeklēšanas tabula Product, izmantojot trūkstošo produktu ID.

  • Nodrošiniet, lai atslēgas kolonnas nosaukums daudzo pusē būtu līdzīgs atslēgas kolonnas nosaukumam uzmeklēšanas tabulā. Šiem nosaukumiem nav jābūt precīzi vienādiem. Piemēram, darījumu vidē bieži ir variācijas par to kolonnu nosaukumiem, kas satur būtībā tādus pašus datus: EMP ID, EmployeeID, darbinieka ID, EMP_IDutt. Algoritms nosaka līdzīgos nosaukumus un piešķir augstāku iespējamību tām kolonnām, kam ir līdzīgi vai precīzi atbilstoši nosaukumi. Šī iemesla dēļ, lai palielinātu relācijas izveidošanas iespējamību, varat mēģināt pārdēvēt importējamo datu kolonnas, lai tās sauktos līdzīgi kolonnām jau esošajās tabulās. Ja programma Excel atrod vairākas iespējamas relācijas, tā neizveido relāciju.

Šī informācija jums var palīdzēt saprast, kāpēc ne visas relācijas tiek noteiktas un kā metadatu izmaiņas — piemēram, lauka nosaukuma un datu tipu izmaiņas — var uzlabot relāciju automātiskās noteikšanas rezultātus. Papildinformāciju skatiet sadaļā Relāciju problēmu novēršana.

Automātiska noteikšana kopām ar nosaukumiem

Relācijas starp kopām ar nosaukumiem un saistītajiem rakurstabulas laukiem netiek noteiktas automātiski. Šīs relācijas varat izveidot manuāli. Ja vēlaties izmantot automātisko relāciju noteikšanu, noņemiet katru kopu ar nosaukumu un atsevišķos laukus no šīs kopas ar nosaukumu tieši pievienojiet nepieciešamajai rakurstabulai.

Relāciju izsecināšana

Reizēm relācijas starp tabulām tiek saķēdētas automātiski. Ja izveidojat, piemēram, relāciju starp pirmajām divām nākamo tabulu kopām, tiek izsecināts, ka pastāv relācija starp abām pārējām tabulām, un tāda relācija tiek izveidota automātiski.

Products un Category — izveidota manuāli

Category un SubCategory — izveidota manuāli

Products un SubCategory — relācija tiek izsecināta

Lai relācijas tiktu automātiski saķēdētas, relācijām ir jābūt vienvirziena, kā redzams iepriekš. Ja sākotnējās relācijas ir, piemēram, starp tabulām Sales un Products un starp Sales un Customers, relācija netiek izsecināta. Tas ir tāpēc, ka relācija starp tabulām Products un Customers ir relācija Viens pret daudziem.

Paplašiniet savas Office prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×