Design af fakta- og dimensionstabeller
Stryg for at vise menuen
De fleste Excel-projektmapper gemmer alt i ét bredt ark: kundenavne, produktkategorier, regioner og transaktionssummer ligger alle på samme række og gentages tusindvis af gange. Dette fungerer til små opgaver. Det bryder sammen, når data vokser, når et navn ændres, eller når du vil kombinere det med andre kilder.
En relationel model løser dette ved at opdele data i fokuserede tabeller, som hver beskriver ét emne. Hovedkonceptet bag denne opdeling er forskellen mellem faktatabeller og dimensionstabeller.
Projektmappen, der bruges i videoen, er forskellig fra projektmappen, der bruges i opgaven. Hvis du vil følge instruktøren trin for trin under lektionen, skal du downloade videoprojektmappen, som findes under videoen, før du starter.
Faktatabeller
En faktatabel registrerer begivenheder eller transaktioner — ting, der er sket.
Kendetegn:
- Mange rækker: én pr. begivenhed (én ordre, én betaling, ét besøg);
- Målinger: numeriske værdier, du ønsker at aggregere — Quantity, Total, Cost, Hours;
- Fremmednøgler: ID-kolonner, der peger på dimensionstabeller — CustomerID, ProductID, OrderDate;
- Få beskrivende tekster: navne, etiketter og kategorier hører til i dimensioner.
Eksempler på faktatabeller:
- Salgsordrelinjer;
- Fakturabetalinger;
- Websitebesøg;
- Supporthenvendelser.
Dimensionstabeller
En dimensionstabel beskriver de enheder, der indgår i fakta, såsom hvem, hvad, hvor og hvornår.
Kendetegn:
- Én række pr. unik enhed: én pr. kunde, én pr. produkt, én pr. dato;
- Beskrivende attributter: navne, kategorier, regioner, segmenter — for det meste tekst;
- Primærnøgle: en unik ID-kolonne, som faktatabellen refererer til.
Eksempler på dimensionstabeller:
- Customers (CustomerID, CustomerName, Region, Segment);
- Products (ProductID, ProductName, Category, UnitPrice);
- Dates (Date, Year, Month, Quarter);
- Employees (EmployeeID, Name, Department, Role).
En beslutningsramme med tre spørgsmål
For enhver kolonne i en flad tabel, stil disse spørgsmål i rækkefølge:
Q1: Måler denne kolonne noget, du vil lægge sammen eller tælle?—Quantity, Total, Cost → faktatabel-måling;
Q2: Er denne kolonne et ID, der linker til en beskrivelse et andet sted?—CustomerID, ProductID, OrderDate → faktatabel-fremmednøgle;
Q3: Er dette en beskrivende etiket om en person, et produkt eller en tidsperiode?—CustomerName, Region, Category → dimensionstabel-attribut.
Hvis en kolonne falder ind under Q3, stil ét spørgsmål mere: hvilket emne beskriver den? Alle kolonner, der beskriver kunder, hører til i Customers. Alle kolonner, der beskriver produkter, hører til i Products. Kolonner, der beskriver datoer, hører til i Dates.
1. I Orders_Flat-arket, hvilken af følgende grupper af kolonner hører tydeligst sammen i en Products-dimension?
2. Hvilken sætning beskriver bedst kornet for Sales-fakttabellen i dette kapitel?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat