Omstrukturering af flade data til relationelle tabeller
Stryg for at vise menuen
Et bredt, fladt ark er en enkelt tabel, der indeholder alle oplysninger om hver begivenhed — kundedetaljer, produktdetaljer, datoer og transaktionsværdier findes alle ét sted. Det er let at læse, men kan ikke understøtte en relationel datamodel.
Problemet med gentagelse: hver ordre for Acme Corp gentager kundenavn, region og segment. Hvis disse oplysninger ændres, skal hver række opdateres individuelt — hvilket fører til inkonsistens og unødvendigt stor lagerplads.
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.
Trin 1 — Identificer og udtræk dimensionstabeller
Dimensionstabeller beskriver hvem, hvad og hvornår for hver begivenhed. Start med dem, da deres afgrænsninger normalt er de tydeligste. Hver række skal være unik — fjern dubletter efter indsættelse.
- Customers table: CustomerID (PK), CustomerName, Region, Segment;
- Products table: ProductID (PK), ProductName, Category;
- Dates table: Date (PK), Year, Month (number), Month name, Quarter.
Hvorfor skal datotabellen dække hele året?
Tidsintelligensberegninger (år-til-dato, glidende gennemsnit, periode-sammenligninger) kræver en kontinuerlig, sammenhængende kalender uden huller. Hvis tabellen kun indeholder ordredatoer, mangler måneder uden salg helt, og beregningerne fejler.
Trin 2 — Opret faktatabellen
Faktatabellen registrerer, hvad der er sket — én række pr. begivenhed. Den gemmer målbare værdier og de fremmednøgler, der forbinder hver begivenhed til dens dimensionstabeller. Den indeholder bevidst ingen beskrivende tekst.
- Sales (fact table): OrderID (PK), OrderDate → Dates (FK), CustomerID → Customers (FK), ProductID → Products (FK), UnitPrice, Quantity, Total.
- PK — Primærnøgle (en entydig identifikator for hver post i en tabel);
- FK — Fremmednøgle (et felt, der linker til en primærnøgle i en anden tabel).
Stjerneskema
De fire tabeller danner et stjerneskema: faktatabellen er placeret i midten, og dimensionstabellerne stråler ud fra den, hver forbundet med et primærnøgle-/fremmednøgle-par.
Opgave
- Farvekod kolonnerne i det brede, flade ark efter destination: kunder (blå), produkter (orange), datoer (grøn), faktaværdier (gul);
- Kopiér hver farvegruppe til et nyt ark. Konvertér området til en navngivet Excel-tabel (Insert → Table);
- Vælg kolonnen med primærnøglen og brug Data → Remove Duplicates for at sikre, at hver række er unik.
- For datotabellen udvides datokolonnen, så den dækker hver dag fra 1. januar til 31. december, og tilføj derefter kolonnerne Year, Month, Month Name og Quarter ved hjælp af
=YEAR(),=MONTH(),=TEXT(B2, "MMMM")og kvartalsformlen="Q"&INT((MONTH(B2)-1)/3+1). - Indsæt datobladet som kun værdier (uden formler) i et tomt ark, før det konverteres til en tabel.
- Byg faktatabellen ud fra de resterende kolonner samt de tre fremmednøgler (
OrderDate,CustomerID,ProductID).
1. Hvad er de vigtigste fordele ved at refaktorere et fladt ark til en faktatabel plus dimensioner? (Vælg to)
2. Når du opretter en Customers-dimension ud fra en flad tabel, hvilket trin er essentielt?
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