Relationer mellan tabeller i en datamodell

Obs!:  Vi vill kunna erbjuda dig bästa möjliga supportinnehåll så fort som möjligt och på ditt språk. Den här sidan har översatts med hjälp av automatiserad översättning och kan innehålla grammatiska fel eller andra felaktigheter. Vår avsikt är att den här informationen ska vara användbar för dig. Vill du berätta för oss om informationen är till hjälp längst ned på sidan? Här är artikeln på engelska som referens.

Din webbläsare har inte stöd för video. Installera Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.
Video: Relationer i Power View och PowerPivot

Video: Relationer i Power View och PowerPivot

Video: Relationer i Power View och PowerPivot

Video: Relationer i Powerview och PowerPivot

Lägga till fler power att analysera dina data genom att skapa relationer amogn olika tabeller. En relation är en koppling mellan två tabeller som innehåller data: en kolumn i varje tabell är grunden för relationen. Om du vill se varför relationer är användbara anta att du spåra data för kundorder i ditt företag. Du kan spåra alla data i en tabell med en struktur så här:

Kund-ID

Namn

E-postadress

Rabattsats

Order-ID

Orderdatum

Produkt

Antal

1

Ashton

chris.ashton@contoso.com

.05

256

2010-01-07

Compact Digital

11

1

Ashton

chris.ashton@contoso.com

.05

255

2010-01-03

SLR Camera

15

2

Jaworski

michal.jaworski@contoso.com

.10

254

2010-01-03

Budget Movie-Maker

27

Den här metoden kan fungera, men då uppstår en mängd redundanta data, till exempel kundens e-postadress för varje order. Lagring är billigt, men om e-postadressen ändras måste du uppdatera varje rad för den kunden. En lösning på det här problemet är att dela upp data i flera tabeller och ange relationer mellan tabellerna. Det här är den metod som används i relationsdatabaser som SQL Server. En databas som du importerar kan exempelvis representera orderdata med hjälp av följande tre relaterade tabeller:

Kunder

[CustomerID]

Namn

E-postadress

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

Kundrabatter

[CustomerID]

Rabattsats

1

.05

2

.10

Order

[CustomerID]

Order-ID

Orderdatum

Produkt

Antal

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

Relationer som finns i en datamodell, en som du uttryckligen har skapat eller något som Excel automatiskt skapas åt dig när du importerar flera tabeller samtidigt. Du kan också använda tillägget Power Pivot du skapa och hantera modellen. Mer information finns i Skapa en datamodell i Excel .

Om du använder Power Pivot-tilläggsprogrammet för att importera tabeller från samma databas kan Power Pivot identifiera relationerna mellan tabellerna baserat på vilka kolumner som står inom [hakparentes] och kan sedan återge dessa relationer i en datamodell som genereras i bakgrunden. Mer information finns i Automatisk identifiering och slutledning av relationer i den här artikeln. Om du importerar tabeller från flera källor kan du skapa relationer manuellt genom att följa anvisningarna i Skapa en relation mellan två tabeller.

Relationer baseras på kolumner i varje tabell som innehåller samma data. Du kan till exempel relatera tabellen kunder med en ordertabell om varje innehåller en kolumn som innehåller ett Kund-ID. I exemplet är kolumnnamnen är samma, men detta är inte nödvändigt. En kan vara CustomerID och ett annat kundnummer så länge som alla rader i tabellen Order innehåller ett ID som lagras också i tabellen kunder.

Det finns flera typer av tangenter i en relationsdatabas. En nyckel är vanligtvis kolumn med särskilda egenskaper. Förstå syftet med varje nyckel hjälper dig att hantera en datamodell i flera tabeller som innehåller data i en pivottabell, pivotdiagram eller Power View-rapport.

Om det finns flera typer av tangenter, det här är viktigast för våra ändamål:

  • Primärnyckel: identifierar unikt en rad i en tabell, till exempel CustomerID i tabellen kunder .

  • Alternativ nyckel (eller kandidat nyckel): en kolumn än primärnyckeln är unika. En tabell över anställda kan till exempel lagra en Anställningsnr och personnummer, som är unika.

  • Sekundärnyckel: en kolumn som refererar till en unik kolumn i en annan tabell, till exempel CustomerID i tabellen order som refererar till CustomerID i tabellen kunder.

I en datamodell kallas primärnyckel eller alternativ nyckel relaterad kolumn. Om en tabell innehåller både primära och alternativa nyckeln kan använda du både sådana som grund för en Tabellrelation. Sekundärnyckeln kallas källkolumn eller bara kolumnen. I vårt exempel skulle du definieras en relation mellan CustomerID i tabellen order (kolumn) och CustomerID i tabellen kunder (uppslagskolumn). Om du importerar data från en relationsdatabas som standard väljer Excel sekundärnyckeln från en tabell och motsvarande primärnyckeln från den andra tabellen. Du kan emellertid använda valfri kolumn som innehåller unika värden för min uppslagskolumn.

Relation mellan en kund och en order är en 1: n-relation. Varje kund kan ha flera order, men en order kan inte ha flera kunder. En annan viktig Tabellrelation är 1: 1. I exemplet här har tabellen CustomerDiscounts som definierar en enskild diskonteringsränta för varje kund, en 1: 1-relation med tabellen kunder.

Den här tabellen visar relationerna mellan de tre tabellerna(kunder, CustomerDiscountsoch order):

Relation

Typ

Uppslagskolumn

Kolumn

Kunder-Kundrabatter

en-till-en

Kunder.Kund-ID

Kundrabatter.Kund-ID

Kunder-Order

en-till-många

Kunder.Kund-ID

Order.Kund-ID

Obs!:  En datamodell kan inte ha många-till-många-relationer. Ett exempel på en många-till-många-relation är en direkt relation mellan Products och Customers, där en kund kan köpa flera produkter och samma produkt kan köpas av flera kunder.

När en relation har skapats visas måste Excel vanligtvis beräkna om alla formler som använder kolumner från tabeller i nyligen skapade relationen. Bearbetning kan ta ett tag, beroende på hur mycket data och komplexiteten i relationer. Mer information finns i Beräkna om formler.

En datamodell kan ha flera relationer mellan två tabeller. Om du vill skapa korrekta beräkningar behöver Excel en väg från en tabell till nästa. Därför är bara en relation mellan varje par av tabeller aktiv i taget. Du kan ange en inaktiv relation i formler och frågor om de andra är inaktiv.

I Diagramvyn, active förhållandet en heldraget och inaktiv de är punktslinjer. Till exempel i AdventureWorksDW2012, tabellen Nedtonatdatum innehåller en kolumn, Datumnyckel, som är kopplad till tre olika kolumner i tabellen FactInternetSales: OrderDate, huroch leveransdatum. Om den aktiva relationen mellan Datumnyckel och Orderdatum är som standard relationen i formler om du inte anger något annat.

En relation kan skapas när följande krav uppfylls:

Villkor

Beskrivning

Unik identifierare för varje tabell

Varje tabell måste ha en enstaka kolumn som unikt identifierar varje rad i tabellen. Den här kolumnen kallas ofta för primärnyckeln.

Unika uppslagskolumner

Datavärdena i uppslagskolumnen måste vara unika. Med andra ord kan kolumnen inte innehålla dubbletter. I en datamodell motsvaras null-värden och tomma strängar av blankvärden, som är ett särskilt datavärde. Det betyder att det inte får finnas flera null-värden i uppslagskolumnen.

Kompatibla datatyper

Datatyper i källkolumnen och uppslagskolumn måste vara kompatibla. Mer information om datatyper finns i datatyper som stöds i datamodeller.

Du kan inte skapa en tabellrelation i en datamodell om nyckeln är en sammansatt nyckel. Du är också begränsad till att skapa en-till-en-relation och en-till-många-relationer. Andra relationstyper stöds inte.

Sammansatta nycklar och uppslagskolumner

Ett sammansatt nyckel består av fler än en kolumn. Datamodeller kan inte använda sammansatta nycklar: en tabell måste alltid ha exakt en kolumn som unikt identifierar varje rad i tabellen. Om du importerar tabeller som har en befintlig relation utifrån en sammansatt nyckel Ignorera guiden Importera tabell för i Power Pivot relationen eftersom den inte kan skapas i modellen.

Om du vill skapa en relation mellan två tabeller som innehåller flera kolumner som definierar på primär- och sekundärnycklar för att kombinera värden om du vill skapa en enda nyckelkolumn innan du skapar relationen. Du kan göra detta innan du importerar data, eller genom att skapa en beräknad kolumn i datamodellen med Power Pivot-tilläggsprogrammet.

N: N-relationer

En datamodell kan inte ha n: n-relationer. Du kan bara lägga till kopplingstabellen tabeller i modellen. Du kan använda DAX-funktioner till modellen n: n-relationer.

Självkopplingar och loopar

Självkopplingar tillåts inte i en datamodell. En självkoppling är en rekursiv relation mellan en tabell och sig själv. Självkopplingar används ofta för att definiera hierarkier mellan överordnade och underordnade. Du kan till exempel koppla tabellen Anställda till sig själv och skapa en hierarki som visar beslutskedjan i ett företag.

I Excel går det inte att skapa loopar mellan relationer i en arbetsbok. Med andra ord tillåts inte följande uppsättning med relationer.

Tabell 1, kolumn a   till   Tabell 2, kolumn f

Tabell 2, kolumn f   till   Tabell 3, kolumn n

Tabell 3, kolumn n   till   Tabell 1, kolumn a

Om du försöker skapa en relation som medför att en loop skapas, uppstår ett fel.

En av fördelarna med att importera data med hjälp av Power Pivot-tilläggsprogrammet är att Power Pivot ibland identifierar relationer och skapar nya relationer i datamodellen som skapas i Excel.

När du importerar flera tabeller identifierar Power Pivot befintliga relationer mellan tabellerna automatiskt. När du skapar en pivottabell analyserar Power Pivot också de data som finns i tabellerna. Programmet identifierar möjliga relationer som inte har skapats, och föreslår lämpliga kolumner som bör användas i dessa relationer.

I identifieringsalgoritmen används statistiska data om värden och metadata i kolumner för antaganden om sannolikheten för relationer.

  • Datatyperna i alla relaterade kolumner måste vara kompatibla. Vid automatisk identifiering stöds bara datatyper med heltal och text. Mer information om datatyper finns i Datatyper som stöds idatamodeller.

  • För att relationen ska upptäckas måste antalet unika nycklar i uppslagskolumnen vara större än värdena i tabellen på "många"-sidan. Det betyder att nyckelkolumnen på "många"-sidan av relationen inte får innehålla några värden som inte finns i uppslagstabellens nyckelkolumn. Anta till exempel att du har en tabell som visar produkter med deras ID:n (uppslagstabellen) och en försäljningstabell som visar försäljningen för varje produkt ("många"-sidan av relationen). Om försäljningsposterna innehåller ID:t för en produkt som inte har något motsvarande ID i tabellen Products så kan relationen inte skapas automatiskt, men du kan kanske skapa den manuellt. För att relationen ska upptäckas av Excel måste du först uppdatera uppslagstabellen Product med ID:na för de produkter som saknas.

  • Kontrollera namnet på nyckelkolumn på n-sidan liknar namnet på nyckelkolumn i uppslagstabellen. Namn behöver inte vara exakt samma. Till exempel i en företagsmiljö du ofta har varianter på namnen på kolumner som innehåller i stort sett samma data: Emp-ID, Anställningsnr, Anställningsnr, anst_idoch så vidare. Algoritmen identifieras liknande namn och tilldelas en högre sannolikhet till de kolumner som har liknande eller exakt matchande namn. Om du vill öka sannolikheten för att skapa en relation, kan du försöka byta namn på kolumner i de data som du importerar till något som liknar kolumner i din befintliga listor. Om Excel stöter på flera möjliga relationer, det inte skapa en relation.

Den här informationen kan hjälpa dig att förstå varför inte alla relationer identifieras, eller hur ändringar i metadata, till exempel fältnamn och datatyper, kan leda till bättre resultat vid automatisk identifiering av relationer. Mer information finns i Felsöka relationer.

Automatisk identifiering för namngivna uppsättningar

Relationer identifieras inte automatiskt mellan namngivna uppsättningar och relaterade fält i en pivottabell. Du kan skapa dessa relationer manuellt. Om du vill använda automatisk identifiering av relationer tar du bort alla namngivna uppsättningar och lägger till de enskilda fälten från den namngivna uppsättningen direkt i pivottabellen.

Slutledning av relationer

I vissa fall länkas relationer mellan tabeller automatiskt. Om du till exempel skapar en relation mellan de två första uppsättningarna med tabeller nedan, antas en relation förekomma mellan de andra två tabellerna, och en relation upprättas automatiskt.

Produkter och Kategori -- skapas manuellt

Kategori och Underkategori -- skapas manuellt

Produkter och Underkategori -- relation antas förekomma

För att relationer ska kunna länkas automatiskt, måste relationerna gå i en riktning, på det sätt som visas ovan. Om de inledande relationerna finns mellan till exempel Försäljning och Produkter, och Försäljning och Kunder, antas ingen relation förekomma. Detta beror på att relationen mellan Products och Customers är en många-till-många-relation.

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×