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.
Video: Relasjoner i Power View og PowerPivot

Video: Relasjoner i Power View og PowerPivot

Video: Relasjoner i Power View og PowerPivot

Video: Relasjoner i Powerview og PowerPivot

Legge til mer power dataanalysen ved å opprette relasjoner amogn ulike tabeller. En relasjon er en tilkobling mellom to tabeller som inneholder data: én kolonne i hver tabell er grunnlaget for relasjonen. Tenk deg at du spore data for kundeordrer i bedriften din for å se Hvorfor relasjoner er nyttig. Du kan spore alle dataene i én enkelt tabell har en struktur slik ut:

CustomerID

Name

EMail

DiscountRate

OrderID

OrderDate

Product

Quantity

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:

Customers

[CustomerID]

Name

Email

1

Ashton

Chris.Ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

CustomerDiscounts

[CustomerID]

DiscountRate

1

,05

2

,10

Orders

[CustomerID]

OrderID

OrderDate

Product

Quantity

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 datamodell, en som du oppretter eksplisitt, eller en som Excel automatisk oppretter på dine vegne, når du importerer flere tabeller samtidig. Du kan også bruke Power Pivot-tillegget til å opprette eller administrere modellen. Hvis du vil ha mer informasjon, kan du se opprette en datamodell i Excel .

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 gjelde en kundetabell med en ordretabell hvis hver inneholder en kolonne som lagrer en Kunde-ID. I eksemplet kolonnenavnene er de samme, men dette er ikke et krav. En kan være kunde-ID og et annet CustomerNumber, så lenge alle radene i Ordrer-tabellen inneholder en ID som også er lagret i Kunder-tabellen.

Det finnes flere typer taster i en relasjonsdatabase. En nøkkel er vanligvis kolonnen med spesielle egenskaper. Forstå hensikten med hver nøkkel kan hjelpe deg med å administrere en datamodell i flere tabeller som inneholder data i en pivottabell, pivotdiagram eller Power View-rapport.

Selv om det finnes mange typer taster, er dette de viktigste vårt formål her:

  • Primærnøkkel: identifiserer en rad i en tabell, for eksempel KundeID i Kunder -tabellen.

  • Alternative (eller candidate nøkkel): en kolonne enn primærnøkkelen som er unike. Hvis du for eksempel kanskje en ansattabell lagre en ansatt-ID og et personnummer, begge er unike.

  • Sekundærnø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 er primærnøkkelen eller alternativ nøkkel referert til som den relaterte kolonnen. Hvis en tabell har både en primær- og alternativ nøkkel, kan du bruke enten gangen som grunnlag for en tabellrelasjon. Sekundærnøkkelen er referert til som kildekolonne eller bare kolonne. I eksemplet vårt, vil en relasjon defineres mellom KundeID i ordrer -tabellen (kolonne) og KundeID i Kunder -tabellen (oppslagskolonnen). Hvis du importerer data fra en relasjonsdatabase, som standard velger Excel sekundærnøkkelen fra én tabell og tilsvarende primærnøkkelen fra den andre tabellen. Du kan imidlertid bruke en kolonne som inneholder 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 tabellrelasjon er én. Tabellen CustomerDiscounts , som definerer en enkelt rentesats for hver kunde, har en én-relasjon med kunder-tabellen i vårt eksempel her.

Denne tabellen viser relasjonene 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 en hvilken som helst relasjonen har blitt opprettet, må vanligvis Excel omberegne alle formler som bruker kolonner fra tabeller i den nylig opprettede relasjonen. Behandling kan ta litt tid avhengig av hvor mye data og kompleksiteten til relasjoner. Hvis du vil ha mer informasjon, kan du se Beregne formler på nytt.

En datamodell kan ha flere relasjoner mellom to tabeller. Når du skal angi nøyaktige beregninger, Excel, trenger du en enkelt bane fra én tabell til neste. Bare én relasjon mellom hvert par tabeller er derfor aktiv om gangen. Selv om de andre er inaktive, kan du angi en inaktiv relasjon i formler og spørringer.

Den aktive relasjonen er en heltrukket linje i diagramvisning, og de som er inaktive er stiplede linjer. Tabellen DimDate inneholder for eksempel en kolonne, DateKey, som er relatert til tre ulike kolonner i tabellen FactInternetSalesi AdventureWorksDW2012,: Ordredato, forfallsdatoog ShipDate. Hvis det er den aktive relasjonen mellom DateKey og Ordredato, er det standardrelasjonen i formler med mindre du angir noe annet.

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

Vilkår

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

Datatyper i kildekolonnen og oppslagskolonne må være kompatibel. Hvis du vil ha mer informasjon om datatyper, kan du se datatyper som støttes i datamodeller.

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 flere kolonner. Datamodeller kan ikke bruke sammensatte nøkler: en tabell må alltid ha nøyaktig én kolonne som identifiserer hver rad i tabellen. Hvis du importerer tabeller som har en eksisterende relasjon basert på en sammensatt nøkkel, ignorere importveiviseren-tabell i Power Pivot denne relasjonen fordi den ikke kan opprettes i modellen.

Hvis du vil opprette en relasjon mellom to tabeller som har flere kolonner, definere de primære og sekundære nøklene, må du først kombinere verdier for å opprette en enkelt nøkkelkolonne før du kan opprette relasjonen. Du kan gjøre dette før du importerer dataene, eller ved å opprette en beregnet kolonne i datamodellen ved hjelp av Power Pivot-tillegget.

Mange-til-mange-relasjoner

En datamodell, kan ikke ha mange-til-mange-relasjoner. Du kan ikke ganske enkelt legge til foreningstabellen tabellene i modellen. Du kan imidlertid bruke DAX-funksjoner til modellen 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å kolonnen på siden mange ligner på navnet på nøkkelkolonne i oppslagstabellen. Navnene må ikke være nøyaktig lik. Hvis du for eksempel en business-innstillingen du ofte har variasjoner på navnene på kolonnene som inneholder i hovedsak de samme dataene: Emp-ID, AnsattID, ansatt-ID, EMP_IDog så videre. Algoritmen oppdager lignende navn og tilordner en høyere sannsynlighet til kolonnene som har lignende eller nøyaktig samsvarende navn. Hvis du vil øke sannsynligheten for å opprette en relasjon, kan du derfor prøve gi nytt navn til kolonner i dataene du importerer til noe som ligner på kolonner i en eksisterende tabell. Hvis Excel finner flere mulige relasjoner, oppretter det 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.

×