Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Refaktorering av flat data til relasjonelle tabeller | Excel Datamodellering
Excel-datamodellering

Refaktorering av flat data til relasjonelle tabeller

Sveip for å vise menyen

Et bredt, flatt ark er en enkelt tabell som inneholder all informasjon om hver hendelse — kundedetaljer, produktdetaljer, datoer og transaksjonsverdier finnes alle på ett sted. Det er lett å lese, men kan ikke brukes til en relasjonsdatamodell.

Problemet med gjentakelse: hver bestilling for Acme Corp gjentar kundenavn, region og segment. Hvis disse detaljene noen gang endres, må hver rad oppdateres individuelt — noe som fører til inkonsistens og oppblåst lagring.

Note
Merk

Arbeidsboken som brukes i videoen er forskjellig fra arbeidsboken som brukes i oppgaven. Hvis du vil følge instruktøren steg for steg under leksjonen, last ned videoboken som er tilgjengelig under videoen før du starter.

Steg 1 — Identifisere og trekke ut dimensjonstabeller

Dimensjonstabeller beskriver hvem, hva og når for hver hendelse. Start med disse fordi grensene deres vanligvis er tydeligst. Hver rad må være unik — fjern duplikater etter innliming.

  • Customers table: CustomerID (PK), CustomerName, Region, Segment;
  • Products table: ProductID (PK), ProductName, Category;
  • Dates table: Date (PK), Year, Month (number), Month name, Quarter.
Note
Merk

Hvorfor må datotabellen dekke hele året?

Tidsintelligensberegninger (år-til-dato, glidende gjennomsnitt, periode-sammenligninger) krever en kontinuerlig, sammenhengende kalender uten hull. Hvis tabellen kun inneholder ordredatoer, mangler måneder uten salg fullstendig, og beregningene vil feile.

Steg 2 — Bygg faktatabellen

Faktatabellen registrerer hva som har skjedd — én rad per hendelse. Den lagrer målbare verdier og fremmednøkler som kobler hver hendelse tilbake til sine dimensjonstabeller. Den inneholder bevisst ingen beskrivende tekst.

  • Sales (fact table): OrderID (PK), OrderDate → Dates (FK), CustomerID → Customers (FK), ProductID → Products (FK), UnitPrice, Quantity, Total.
Note
Merk
  • PK — Primærnøkkel (en unik identifikator for hver rad i en tabell);
  • FK — Fremmednøkkel (et felt som kobler til en primærnøkkel i en annen tabell).

Stjerneskjema

De fire tabellene danner et stjerneskjema: faktatabellen ligger i sentrum og dimensjonstabellene stråler ut fra midten, hver koblet sammen med et primærnøkkel-/fremmednøkkel-par.

Oppgave

  1. Fargekod kolonnene i det brede, flate arket etter destinasjon: kunder (blå), produkter (oransje), datoer (grønn), faktaverdier (gul);
  2. Kopier hver fargegruppe til et nytt ark. Konverter området til en navngitt Excel-tabell (Sett inn → Tabell);
  3. Velg primærnøkkelkolonnen og bruk Data → Fjern duplikater for å sikre at hver rad er unik.
  4. For datotabellen, utvid datokolonnen til å dekke hver dag fra 1. januar til 31. desember, og legg deretter til kolonnene År, Måned, Månedsnavn og Kvartal ved å bruke =YEAR(), =MONTH(), =TEXT(B2, "MMMM") og kvartalsformelen ="Q"&INT((MONTH(B2)-1)/3+1).
  5. Lim inn datoarket som kun verdier (uten formler) i et rent ark før du konverterer til en tabell.
  6. Bygg faktatabellen fra de gjenværende kolonnene pluss de tre fremmednøklene (OrderDate, CustomerID, ProductID).

1. Hva er de viktigste fordelene med å omstrukturere et flatt ark til en faktatabell pluss dimensjoner? (Velg to)

2. Hvilket steg er essensielt når du lager en Customers-dimensjon fra en flat tabell?

question mark

Hva er de viktigste fordelene med å omstrukturere et flatt ark til en faktatabell pluss dimensjoner? (Velg to)

Velg alle riktige svar

question mark

Hvilket steg er essensielt når du lager en Customers-dimensjon fra en flat tabell?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 6

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 6
some-alt