Office
Log på

Relationer mellem tabeller i en datamodel

Bemærk!:  Vi vil gerne give dig den mest opdaterede hjælp, så hurtigt vi kan, på dit eget sprog. Denne side er oversat ved hjælp af automatisering og kan indeholde grammatiske fejl og unøjagtigheder. Det er vores hensigt, at dette indhold skal være nyttigt for dig. Vil du fortælle os, om oplysningerne var nyttige for dig, nederst på denne side? Her er artiklen på engelsk så du kan sammenligne.

Din browser understøtter ikke video. Installer Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.
Video: Relationer i Power View og PowerPivot

Video: Relationer i Power View og PowerPivot

Video: Relationer i Power View og PowerPivot

Video: Relationer i Power View og Powerpivot

Føje flere power til din dataanalyse ved at oprette relationer amogn forskellige tabeller. En relation er en forbindelse mellem to tabeller, der indeholder data: én kolonne i hver tabel er grundlaget for relationen. Forestil dig, at du spore data til kundeordrer i din virksomhed for at se, hvorfor relationer er nyttig. Du kan spore alle data i en enkelt tabel med en struktur således:

Kunde-id

Navn

Mail

Rabatsats

Ordre-id

Ordredato

Produkt

Antal

1

Ashton

chris.ashton@contoso.com

,05

256

2010-07-01

Compact Digital

11

1

Ashton

chris.ashton@contoso.com

,05

255

2010-03-01

SLR Camera

15

2

Jaworski

michal.jaworski@contoso.com

,10

254

2010-03-01

Budget Movie-Maker

27

Denne tilgang kan fungere, men kræver, at der lagres en masse redundante data såsom kunde-mailadressen for hver ordre. Det er billigt at lagre data, men hvis mailadressen ændres, er du nødt til at sikre dig, at du opdaterer hver eneste række for den pågældende kunde. En løsning til dette problem kunne være at opdele dataene i flere tabeller og definere relationer mellem disse tabeller. Dette er den fremgangsmåde, der bruges i relationsdatabaser, f.eks. SQL Server. F.eks. kan en database, som du importerer, måske repræsentere ordredata ved hjælp af tre relaterede tabeller:

Kunder

[Kunde-id]

Navn

Mail

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

Kunderabatter

[Kunde-id]

Rabatsats

1

,05

2

,10

Ordrer

[Kunde-id]

Ordre-id

Ordredato

Produkt

Antal

1

256

2010-07-01

Compact Digital

11

1

255

2010-03-01

SLR Camera

15

2

254

2010-03-01

Budget Movie-Maker

27

Relationer i en datamodel – en, du opretter eller en, der Excel automatisk opretter på dine vegne, når du importerer flere tabeller samtidig. Du kan også bruge tilføjelsesprogrammet Power Pivot til at oprette eller administrere modellen. Du kan finde oplysninger i oprette en datamodel i Excel .

Hvis du bruger Power Pivot-tilføjelsesprogrammet til at importere tabeller fra den samme database, kanPower Pivot registrere relationerne mellem tabellerne ud fra kolonnerne i [kantede parenteser] og gengive disse relationer i en datamodel, som den opretter i baggrunden. Du kan finde flere oplysninger under Automatisk registrering og afledning af relationer i denne artikel. Hvis du importere tabeller fra flere kilder, kan du manuelt oprette relationer som beskrevet i Oprette en relation mellem to tabeller.

Relationer er baseret på kolonner i hver tabel, der indeholder de samme data. Du kan for eksempel relatere en kundetabel med en Ordretabel, hvis hver indeholder en kolonne, der indeholder et Kunde-ID. I eksemplet kolonnenavnene er de samme, men dette er ikke et krav. En kan være kunde-id og en anden kundenummer, så længe alle rækker i tabellen ordrer indeholder et ID, der også er gemt i tabellen kunder.

I en relationel database er der flere typer taster. En nøgle er typisk kolonne med specielle egenskaber. Forstå formålet med hver nøgle kan hjælpe dig med at administrere en datamodel i flere tabeller, der leverer data til en pivottabel, pivotdiagram eller Power View-rapport.

Selvom der er mange forskellige typer af taster, er disse de vigtigste til vores formål her:

  • Primær nøgle: identificerer entydigt en række i tabel såsom kunde-id i tabellen kunder .

  • Alternativ nøgle (eller kandidatnøgle): en kolonne end den primære nøgle, der er entydige. Medarbejdertabellen kan for eksempel gemme en medarbejder-ID og et CPR-nummer, hvor begge er entydige.

  • Fremmed nøgle: en kolonne, der refererer til en entydig kolonne i en anden tabel såsom kunde-id i tabellen ordrer , som henviser til kunde-id i tabellen kunder.

I en datamodel kaldes den primære nøgle eller Alternativ nøgle den relaterede kolonne. Hvis en tabel har både en primær og alternative nøgle, kan du bruge enten et som grundlag for en tabelrelation. Den fremmede nøgle kaldes kildekolonnen eller kun kolonne. I vores eksempel ville være defineret en relation mellem kunde-id i tabellen ordrer (kolonnen) og kunde-id i tabellen kunder (opslagskolonne). Hvis du importerer data fra en relationsdatabase, som standard vælger Excel den fremmede nøgle fra én tabel og den tilsvarende primære nøgle fra anden tabellen. Dog kan du bruge en hvilken som helst kolonne, der indeholder entydige værdier for opslagskolonnen.

Forholdet mellem en kunde og en rækkefølge er en en-til-mange-relation. Hver kunde kan have flere ordrer, men en rækkefølge kan ikke have flere forskellige kunder. En anden vigtige tabelrelation er en. I vores eksempel her har tabellen CustomerDiscounts , der definerer en enkelt diskonteringssats for hver kunde, et til-en relation med tabellen kunder.

I denne tabel viser relationerne mellem de tre tabeller(kunder, CustomerDiscountsog ordrer):

Relation

Type

Opslagskolonne

Kolonne

Kunder-KundeRabatter

En-til-en

Kunder.Kunde-id

KundeRabatter.Kunde-id

Kunder-Ordrer

En-til-mange

Kunder.Kunde-id

Ordrer.KundeId

Bemærk!:  Mange-til-mange-relationer understøttes ikke i en datamodel. Et eksempel på en mange til mange-relation er en direkte relation mellem Produkter og Kunder, hvor kunden kan købe mange produkter, og det samme produkt kan købes af mange kunder.

Når en relation er blevet oprettet, skal Excel typisk genberegne alle formler, der bruger kolonner fra tabeller i nyligt oprettet relationen. Behandling kan gå et stykke tid, afhængigt af mængden data og kompleksiteten af relationer. Du kan finde flere oplysninger, Genberegne formler.

En datamodel kan have flere relationer mellem to tabeller. For at opbygge nøjagtige beregninger, Excel, skal du bruge en enkelt sti fra én tabel til næste. Kun én relation mellem hvert par af tabellerne er derfor aktive ad gangen. Selvom de andre er inaktiv, kan du angive en inaktiv relation i formler og forespørgsler.

Den aktive relation er en streg og inaktive beskeder er stiplede linjer i diagramvisning. For eksempel tabellen DimDate i AdventureWorksDW2012, indeholder en kolonne, DateKey, der er relateret til tre forskellige kolonner i tabellen FactInternetSales: Ordredato, eksempelog Forsendelsesdato. Hvis der er den aktive relation mellem DateKey og Ordredato, det er relationen i formler, medmindre du angiver andet.

En relation kan oprettes, når følgende krav er opfyldt:

Kriterier

Beskrivelse

Entydigt id for hver tabel

I hver tabel skal der være en kolonne, der entydigt identificerer hver række i den pågældende tabel. Denne kolonne kaldes ofte den primære nøgle.

Entydige opslagskolonner

Dataværdierne i opslagskolonnen skal være entydige. Kolonnen må med andre ord ikke indeholde dubletter. I en datamodel svarer null-strenge og tomme strenge til en tom, hvilket er en entydig dataværdi. Det betyder, at opslagskolonnen ikke kan indeholde flere null-værdier.

Kompatible datatyper

Datatyper i kildekolonnen og opslagskolonne skal være kompatible. Du kan finde flere oplysninger om datatyper, datatyper, der understøttes i datamodeller.

I en datamodel kan du ikke oprette en tabelrelation, hvis nøglen er en sammensat nøgle. Du er også begrænset til at kunne oprette en-til-en-relationer og en-til-mange-relationer. Andre relationstyper understøttes ikke.

Sammensatte nøgler og opslagskolonner

En sammensat nøgle består af mere end én kolonne. Datamodeller kan ikke bruge sammensatte nøgler: en tabel skal altid have præcis én kolonne, der entydigt identificerer hver række i tabellen. Hvis du importerer tabeller, der har en eksisterende relation baseret på en sammensatte nøgle, ignorerer guiden Tabelimport i Power Pivot pågældende relation, fordi den ikke kan oprettes i modellen.

For at oprette en relation mellem to tabeller, der har flere kolonner, der definerer de primære og fremmede nøgler skal du først kombinere værdier for at oprette en enkelt nøglekolonne før du opretter relationen. Du kan gøre dette, før du importerer data, eller ved at oprette en beregnet kolonne i den datamodel, ved hjælp af Power Pivot-tilføjelsesprogrammet.

Mange til mange-relationer

En datamodel kan ikke have mange til mange-relationer. Du kan ikke blot tilføje knudepunkt tabeller i modellen. Dog kan du bruge DAX-funktioner til model mange-til-mange-relationer.

Self-joins og løkker

Self-joins er ikke tilladt i en datamodel. En self-join er en rekursiv relation mellem en tabel og sig selv. Self-joins bruges ofte til at definere overordnet/underordnet-hierarkier. Du kunne f.eks. forbinde en Medarbejder-tabel til sig selv ved at lave et hierarki, der viser ledelseskæden i en virksomhed.

I Excel er det ikke muligt at oprette relationer i en projektmappe. Med andre ord er følgende sæt relationer ikke tilladt.

Tabel 1, kolonne a   til   Tabel 2, kolonne f

Tabel 2, kolonne f   til   Tabel 3, kolonne n

Tabel 3, kolonne n   til   Tabel 1, kolonne a

Hvis du forsøger at oprette en relation, der ville resultere i, at der blev oprettet en løkke, modtager du en fejlmeddelelse.

En af fordelene ved at importere data ved brug af Power Pivot-tilføjelsesprogrammet er, at Power Pivot nogle gange kan registrere relationer og oprette relationer i den datamodel, programmet opretter i Excel.

Når du importerer flere tabeller, registrerer Power Pivot automatisk eksisterende relationer mellem tabellerne. Når du opretter en pivottabel, analyserer Power Pivot dataene i tabellerne. Det registrerer mulige relationer, der ikke er defineret, og foreslår relevante kolonner, der kan medtages i disse relationer.

Registreringsalgoritmen bruger statiske data om værdierne og metadataene i kolonner til at oprette følgeslutninger om sandsynligheden for relationer.

  • Datatyper i alle relaterede koloner skal være kompatible. Ved automatisk registrering er det kun datatyperne heltal og tekst, der understøttes. Du kan finde flere oplysninger om datatyper under Datakilder, der understøttes i datamodeller.

  • Hvis relationen skal kunne registreres, skal antallet af entydige nøgler i opslagskolonnen være større end værdierne i tabellen på mange-siden. Med andre ord må nøglekolonnen på mange-siden i relationen ikke indeholde værdier, der ikke findes i nøglekolonnen i opslagstabellen. Du kan f.eks. have en tabel, der viser produkter med deres id'er (opslagstabellen) og en salgstabel, der viser salget for hvert produkt (mange-siden i relationen). Hvis salgsposterne indeholder id'et for et produkt, som ikke har et tilsvarende id i tabellen Products, kan relationen ikke oprettes automatisk, men du kan muligvis oprette den manuelt. Hvis Excel skal kunne registrere relationen, skal du først opdatere opslagstabellen Product med id'erne for de manglende produkter.

  • Kontrollér, at navnet på den nøglekolonne på mange-siden ligner navnet på den nøglekolonne i opslagstabellen. Navnene behøver ikke at være præcis det samme. For eksempel i en business-indstilling, du ofte har variationer på navnene på de kolonner, der indeholder grundlæggende de samme data: Emp-ID, medarbejder-id, medarbejder-ID, id, og så videre. Algoritmen registrerer lignende navne og tildeler en højere sandsynlighed til de kolonner, der har lignende eller nøjagtigt tilsvarende navne. Derfor for at øge sandsynligheden for at oprette en relation, kan du prøve omdøbe kolonnerne i de data, du importerer til noget, der svarer til kolonner i din eksisterende tabeller. Hvis Excel finder flere mulige relationer, det ikke oprette en relation.

Følgende oplysninger kan gøre det nemmere at forstå, hvorfor ikke alle relationer registreres, og hvordan ændringer i metadata, f.eks. feltnavn og datatyper, kan forbedre resultaterne ved automatisk registrering af relationer. Du kan finde flere oplysninger under Fejlfinding i forbindelse med relationer.

Automatisk registrering for navngivne sæt

Relationer registreres ikke automatisk mellem navngivne sæt og relaterede felter i en pivottabel. Du kan oprette disse relationer manuelt. Hvis du vil bruge automatisk relationsregistrering, skal du fjerne hvert navngivne sæt og tilføje de individuelle felter fra det navngivne sæt og direkte til pivottabellen.

Afledning af relationer

I visse tilfælde sker en automatisk sammenkædning af relationer mellem tabeller. Det betyder f.eks., at hvis du opretter en relation mellem de første to sæt tabeller nedenfor, udledes det, at der findes en relation mellem de to andre tabeller, og der oprettes automatisk en relation.

Produkter og kategori - oprettet manuelt

Kategori og Underkategori - oprettet manuelt

Produkter og Underkategori - relationer udledes

Hvis relationer skal kunne sammenkædes automatisk, skal relationerne gå i én retning, sådan som det er vist herover. Hvis f.eks. de første relationer var mellem Salg og Produkter og Salg og Kunder, udledes der ikke en relation. Dette skyldes, at relationen mellem Produkter og Kunder er en mange-til-mange-relation.

Udvid dine Office-færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×