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 oppustet lagerplads.
Projektmappen, der bruges i videoen, er forskellig fra projektmappen, der bruges i opgaven. Hvis du vil følge med trin for trin sammen med instruktøren 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 tabel: CustomerID (PK), CustomerName, Region, Segment;
- Products tabel: ProductID (PK), ProductName, Category;
- Dates tabel: 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 (faktatabel): 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 udad, 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 (Indsæt → Tabel);
- Vælg kolonnen med primærnøgle og brug Data → Fjern dubletter 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 kolonnerne År, Måned, Månedsnavn og Kvartal 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 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