Relasjoner mellom tabeller i en datamodell

Obs!: Vi ønsker å gi deg det nyeste hjelpeinnholdet så raskt som mulig, på ditt eget språk. Denne siden er oversatt gjennom automatisering og kan inneholde grammatiske feil eller unøyaktigheter. Formålet vårt er at innholdet skal være nyttig for deg. Kan du fortelle oss om informasjonen var nyttig for deg nederst på denne siden? Her er den engelske artikkelen for enkel referanse.

Nettleseren støtter ikke video. Installer Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

Legg til mer kraft i data analysen ved å opprette relasjoner amogn forskjellige tabeller. En relasjon er en tilkobling mellom to tabeller som inneholder data: én kolonne i hver tabell er grunnlaget for relasjonen. For å lettere forstå hvorfor relasjoner er nyttige kan du for eksempel tenke deg at du skal spore data for kundeordrer i firmaet ditt. Du kan spore alle dataene i én enkelt tabell med en struktur som dette:

Kunde-ID

Navn

E-post

DiscountRate

Ordre-ID

OrderDate

Produkt

Antall

1

Ashton

Chris.Ashton@contoso.com

,05

256

07/01/2010

Compact Digital

11

1

Ashton

Chris.Ashton@contoso.com

,05

255

03/01/2010

SLR Camera

15

2

Jaworski

michal.jaworski@contoso.com

,10

254

03/01/2010

Budget Movie-Maker

27

Denne metoden kan fungere, men den medfører lagring av overflødige data, for eksempel kundens e-postadresse for hver ordre. Lagring er billig, men hvis e-postadressen endres, må du passe på at du oppdaterer hver rad for kunden. En løsning på problemet er å dele dataene i flere tabeller og definere relasjoner mellom disse tabellene. Denne metoden brukes i relasjonsdatabaser som SQL Server. En database som du importerer, kan for eksempel representere ordredata ved å bruke tre relaterte tabeller:

Kunder

[Kunde-ID]

Navn

E-post

1

Ashton

Chris.Ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

CustomerDiscounts

[Kunde-ID]

DiscountRate

1

,05

2

,10

Ordrer

[Kunde-ID]

Ordre-ID

OrderDate

Produkt

Antall

1

256

07/01/2010

Compact Digital

11

1

255

03/01/2010

SLR Camera

15

2

254

03/01/2010

Budget Movie-Maker

27

Det finnes relasjoner i en data modell, en du eksplisitt oppretter, eller en som er opprettet automatisk på vegne av Excel når du importerer flere tabeller samtidig. Du kan også bruke Power Pivot-tillegget til å opprette eller behandle modellen. Se Opprette en datamodell i Excel for mer informasjon.

Hvis du bruker Power Pivot-tillegget til å importere tabeller fra den samme databasen, kan Power Pivot gjenkjenne relasjonene mellom tabellene basert på kolonnene som står i [hakeparentes], og gjengi disse relasjonene i en datamodell som bygges i bakgrunnen. Hvis du vil ha mer informasjon, kan du se Automatisk gjenkjenning og utledning av relasjoner i denne artikkelen. Hvis du importerer tabeller fra flere kilder, kan du opprette relasjoner manuelt som beskrevet i Opprette en relasjon mellom to tabeller.

Relasjoner er basert på kolonner i hver tabell som inneholder de samme dataene. Du kan for eksempel relatere en kunde tabell med en ordre tabell hvis hver av dem inneholder en kolonne som lagrer en kunde-ID. I eksemplet er kolonnenavnene like, men dette er ikke et krav. Én kolonne kan være KundeID og en annen Kundenummer så lenge alle radene i Ordrer-tabellen inneholder en ID som også er lagret i Kunder-tabellen.

I en Relasjons database finnes det flere typer nøkler. En nøkkel er vanligvis kolonne med spesielle egenskaper. Ved å forstå formålet med hver enkelt nøkkel blir det lettere å håndtere en datamodell som inneholder flere tabeller og leverer data til en pivottabell, et pivotdiagram eller en Power View-rapport.

Selv om det er mange typer nøkler, er dette de viktigste for vårt formål her:

  • Primær nøkkel: identifiserer en rad i en tabell, for eksempel KundeID i kunder -tabellen.

  • Alternativ nøkkel (eller kandidat): en annen kolonne enn primær nøkkelen som er unik. En tabell for ansatte kan for eksempel inneholde en ansatt-ID og personnummer, og begge er unike.

  • Sekundær nøkkel: en kolonne som refererer til en unik kolonne i en annen tabell, for eksempel KundeID i ordrer -tabellen, som refererer til KundeID i Kunder-tabellen.

I en datamodell refereres primærnøkkelen eller den alternative nøkkelen til som relatert kolonne. Hvis en tabell har både en primærnøkkel og en alternativ nøkkel, kan du bruke en hvilken som helst av dem som grunnlag for en tabellrelasjon. Sekundærnøkkelen kalles kildekolonne eller bare kolonne. I vårt eksempel kan en relasjon være definert mellom KundeID i ordrer -tabellen (kolonnen) og KundeID i kunder -tabellen (oppslags Kol onnen). Hvis du importerer data fra en relasjonsdatabase, velger Excel som standard sekundærnøkkelen fra én tabell og den tilsvarende primærnøkkelen fra den andre tabellen. Du kan imidlertid bruke enhver kolonne som har unike verdier, for oppslagskolonnen.

Forholdet mellom en kunde og en ordre er en én-til-mange-relasjon. Hver kunde kan ha flere ordrer, men en ordre kan ikke ha flere kunder. En annen viktig tabell relasjon er en-til-en. I vårt eksempel her her CustomerDiscounts -tabellen, som definerer en enkelt diskontosats for hver kunde, har en én-til-én-relasjon til kunder-tabellen.

Denne tabellen viser forholdet mellom de tre tabellene (kunder, CustomerDiscountsog ordrer):

Relasjon

Type

Oppslagskolonne

Kolonne

Kunder-CustomerDiscounts

én-til-én

Customers.CustomerID

CustomerDiscounts.CustomerID

Kunder-ordrer

én-til-mange

Customers.CustomerID

Orders.CustomerID

Obs!: Mange-til-mange-relasjoner støttes ikke i en datamodell. Et eksempel på en mange-til-mange-relasjon er en direkte relasjon mellom Produkter og Kunder, der en kunde kan kjøpe mange produkter, og det samme produktet kan kjøpes av mange kunder.

Når du har opprettet en relasjon, må Excel vanligvis beregne eventuelle formler som bruker kolonner fra tabeller i den nylig opprettede relasjonen. Behandlingen kan ta en stund, avhengig av datamengden og hvor komplekse relasjonene er. Hvis du vil ha mer informasjon, kan du se Omberegne formler.

En datamodell kan ha flere relasjoner mellom to tabeller. Hvis du vil bygge nøyaktige beregninger, må Excel ha én enkelt bane fra én tabell til den neste. Derfor er bare én relasjon mellom hvert tabellpar aktiv om gangen. Selv om de andre er inaktive, kan du angi en inaktiv relasjon i formler og spørringer.

I diagramvisning er den aktive relasjonen en heltrukket linje, og inaktive er stiplede linjer. I AdventureWorksDW2012 inneholder tabellen DimDate for eksempel en kolonne, DateKey, som er relatert til tre forskjellige kolonner i tabellen FactInternetSales: ordre dato, eksempelog ShipDate. Hvis den aktive relasjonen er mellom DateKey og OrderDate, blir dette standardrelasjonen i formler hvis du ikke angir noe annet.

En relasjon kan opprettes når følgende krav er oppfylt:

Kriterier

Beskrivelse

Unik identifikator for hver tabell

Hver tabell må ha én kolonne som unikt identifiserer hver rad i tabellen. Denne kolonnen refereres ofte til som primærnøkkelen.

Unike oppslagskolonner

Dataverdiene i oppslagskolonnen må være unike. Kolonnen kan med andre ord ikke inneholde duplikater. I en datamodell tilsvarer nullverdier og tomme strenger en tom verdi, som er en distinkt dataverdi. Det betyr at du ikke kan ha flere nullverdier i oppslagskolonnen.

Kompatible datatyper

Datatypene i kildekolonnen og oppslagskolonnen må være kompatible. Hvis du vil ha mer informasjon om data typer, kan du se data typer som støttes i data modeller.

Du kan ikke opprette en tabellrelasjon i en datamodell hvis nøkkelen er en sammensatt nøkkel. Du kan heller ikke opprette én-til-én- og én-til-mange-relasjoner. Andre typer relasjoner støttes ikke.

Sammensatte nøkler og oppslagskolonner

En sammensatt nøkkel består av mer enn én kolonne. Data modeller kan ikke bruke sammensatte nøkler: en tabell må alltid ha nøyaktig én kolonne som entydig identifiserer hver rad i tabellen. Hvis du importerer tabeller som har en eksisterende relasjon basert på en sammensatt nøkkel, vil vei viseren for tabell import i Power pivot ignorere denne relasjonen fordi den ikke kan opprettes i modellen.

Hvis du vil opprette en relasjon mellom to tabeller som har flere kolonner som definerer primær- og sekundærnøkkel, må du først kombinere verdiene for å opprette én enkelt nøkkelkolonne før relasjonen opprettes. Du kan gjøre dette før du importerer dataene, eller ved å opprette en beregnet kolonne i data modellen ved hjelp av Power pivot-tillegget.

Mange-til-mange-relasjoner

En datamodell kan ikke ha mange-til-mange-relasjoner. Du kan ikke legge til foreningstabeller i modellen. Du kan imidlertid bruke DAX-funksjoner til å opprette mange-til-mange-relasjoner.

Egenkoblinger og løkker

Egenkoblinger er ikke tillatt i en datamodell. En egenkobling er en rekursiv relasjon mellom en tabell og seg selv. Egenkoblinger brukes ofte til å definere hierarkier for overordnede/underordnede. Du kan for eksempel koble en tabell med ansatte til seg selv for å lage et hierarki som viser ledelseskjeden i et firma.

Excel tillater ikke at det opprettes løkker mellom relasjoner i en arbeidsbok. Settet med relasjoner nedenfor er dermed ikke tillatt.

Tabell 1, kolonne a   til   tabell 2, kolonne f

Tabell 2, kolonne f   til   tabell 3, kolonne n

Tabell 3, kolonne n   til   tabell 1, kolonne a

Hvis du prøver å opprette en relasjon som resulterer i en løkke, genereres en feil.

En av fordelene ved å importere data ved hjelp av Power Pivot-tillegget, er at Power Pivot noen ganger kan gjenkjenne relasjoner og opprette nye relasjoner i datamodellen det oppretter i Excel.

Når du importerer flere tabeller, gjenkjenner Power Pivot automatisk eventuelle eksisterende relasjoner mellom tabellene. Når du oppretter en pivottabell, analyserer Power Pivot også dataene i tabellene. Det gjenkjenner mulige relasjoner som ikke har blitt definert, og foreslår passende kolonner som skal inkluderes i disse relasjonene.

Gjenkjennelsesalgoritmen bruker statistiske data for verdiene og metadataene i kolonner til å opprette utledninger for å finne sannsynligheten for relasjoner.

  • Datatyper i alle relaterte kolonner må være kompatible. For automatisk gjenkjenning støttes bare data av typen heltall og tekst. Hvis du vil ha mer informasjon om datatyper, kan du se Datatyper som støttes idatamodeller.

  • For at relasjonen skal kunne gjenkjennes, må antall unike nøkler i oppslagskolonnen være større enn verdiene i tabellen på mange-siden. Nøkkelkolonnen på mange-siden i relasjonen må med andre ord ikke inneholde verdier som ikke finnes i nøkkelkolonnen i oppslagstabellen. La oss for eksempel si at du har en tabell som inneholder produkter med IDer (oppslagstabellen), og en salgstabell som inneholder salgene for hvert produkt (mange-siden i relasjonen). Hvis salgspostene inneholder IDen for et produkt som ikke har en tilsvarende ID i produkttabellen, kan ikke relasjonen opprettes automatisk, men du kan kanskje opprette den manuelt. For at Excel skal gjenkjenne relasjonen, må du først oppdatere produktoppslagstabellen med IDene for de manglende produktene.

  • Kontroller at navnet på nøkkelkolonnen på mange-siden ligner på navnet på nøkkelkolonnen i oppslagstabellen. Navnene trenger ikke å være helt like. I en bedrifts innstilling har du for eksempel ofte variasjoner av navnene på kolonner som inneholder de samme dataene: EMP-ID, AnsattID, ansatt-ID, EMP_IDog så videre. Algoritmen gjenkjenner like navn og tilordner en høyere sannsynlighet til kolonnene som har nesten like eller nøyaktig like navn. Hvis du vil øke sannsynligheten for at en relasjon opprettes, kan du prøve å endre navn på kolonnene i dataene du importerer, til navn som ligner kolonnenavnene i de eksisterende tabellene. Hvis Excel finner flere mulige relasjoner, oppretter den ikke en relasjon.

Denne informasjonen kan være til hjelp for å forstå hvorfor ikke alle relasjoner gjenkjennes, eller hvordan endringer i metadata, for eksempel feltnavn og datatyper, kan forbedre resultatene for automatisk gjenkjenning av relasjoner. Hvis du vil ha mer informasjon, kan du se Feilsøke relasjoner.

Automatisk gjenkjenning for navngitte sett

Relasjoner gjenkjennes ikke automatisk mellom navngitte sett og relaterte felt i en pivottabell. Du kan opprette disse relasjonene manuelt. Hvis du vil bruke automatisk gjenkjenning av relasjoner, fjerner du hvert navngitte sett og legger til de individuelle feltene fra det navngitte settet direkte i pivottabellen.

Utledning av relasjoner

I noen tilfeller kjedes relasjoner mellom tabeller automatisk sammen. Hvis du for eksempel oppretter en relasjon mellom de to første settene med tabeller nedenfor, antas det at det skal være en relasjon mellom de to andre tabellene, og en relasjon opprettes dermed automatisk.

Produkter og kategori – opprettes manuelt

Kategori og underkategori – opprettes manuelt

Produkter og underkategori – relasjon utledes

Hvis relasjonene skal kjedes automatisk, må relasjonene gå i én retning, som vist ovenfor. Hvis startrelasjonene er mellom, for eksempel Salg og Produkter og Salg og Kunder, kan ikke relasjonen utledes. Årsaken er at relasjonen mellom Produkter og Kunder er en mange-til-mange-relasjon.

Bli bedre på Office
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×