Omstrukturering av platta data till relationella tabeller
Svep för att visa menyn
Ett brett, platt kalkylblad är en enda tabell som innehåller all information om varje händelse — kunduppgifter, produktuppgifter, datum och transaktionsvärden finns alla på samma plats. Det är lättläst men kan inte användas för en relationell datamodell.
Problemet med upprepning: varje order för Acme Corp upprepar kundnamn, region och segment. Om dessa uppgifter någonsin ändras måste varje rad uppdateras individuellt — vilket leder till inkonsekvens och onödigt stor lagring.
Arbetsboken som används i videon är annorlunda än arbetsboken som används i uppgiften. Om du vill följa med steg för steg tillsammans med instruktören under lektionen, ladda ner videons arbetsbok som finns under videon innan du börjar.
Steg 1 — Identifiera och extrahera dimensionstabeller
Dimensionstabeller beskriver vem, vad och när för varje händelse. Börja med dessa eftersom deras gränser oftast är tydligast. Varje rad måste vara unik — ta bort dubbletter efter inklistring.
- Customers table: CustomerID (PK), CustomerName, Region, Segment;
- Products table: ProductID (PK), ProductName, Category;
- Dates table: Date (PK), Year, Month (number), Month name, Quarter.
Varför måste datetabellen omfatta hela året?
Tidsintelligenta beräkningar (år-till-datum, rullande medelvärden, periodjämförelser) kräver en kontinuerlig, luckfri kalender. Om tabellen endast innehåller orderdatum saknas månader utan försäljning helt och hållet, vilket gör att beräkningarna inte fungerar.
Steg 2 — Bygg faktatabellen
Faktatabellen registrerar vad som har hänt — en rad per händelse. Den lagrar mätbara värden och de främmande nycklar som kopplar varje händelse till dess dimensionstabeller. Den innehåller medvetet ingen beskrivande text.
- Sales (fact table): OrderID (PK), OrderDate → Dates (FK), CustomerID → Customers (FK), ProductID → Products (FK), UnitPrice, Quantity, Total.
- PK — Primärnyckel (en unik identifierare för varje post i en tabell);
- FK — Främmande nyckel (ett fält som länkar till en primärnyckel i en annan tabell).
Stjärnschema
De fyra tabellerna bildar ett stjärnschema: faktatabellen ligger i centrum och dimensionstabellerna strålar utåt, var och en kopplad med ett primärnyckel-/främmande nyckel-par.
Uppgift
- Färgkoda kolumner i det breda platta bladet efter destination: kunder (blå), produkter (orange), datum (grön), faktavärden (gul);
- Kopiera varje färggrupp till ett nytt blad. Konvertera området till en namngiven Excel-tabell (Infoga → Tabell);
- Markera kolumnen med primärnyckel och använd Data → Ta bort dubbletter för att säkerställa att varje rad är unik.
- För datumtabellen, utöka datumkolumnen så att den täcker varje dag från 1 jan till 31 dec, och lägg sedan till kolumnerna År, Månad, Månadens namn och Kvartal med hjälp av
=YEAR(),=MONTH(),=TEXT(B2, "MMMM")och kvartalsformeln="Q"&INT((MONTH(B2)-1)/3+1). - Klistra in datumbladet som endast värden (inga formler) i ett rent blad innan du konverterar till en tabell.
- Bygg faktatabellen från de återstående kolumnerna plus de tre främmande nycklarna (
OrderDate,CustomerID,ProductID).
1. Vilka är de främsta fördelarna med att omstrukturera ett platt blad till en faktatabell plus dimensioner? (Välj två)
2. Vilket steg är avgörande när du skapar en Customers-dimension från en platt tabell?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal