Datumdimensioner och relationer

Datamodellering på mellannivå i Power BI

Maarten Van den Broeck

Content Developer

Datum- och tidsdimensioner

  • Datumdimensioner innehåller en inbyggd kalender och minskar behovet av komplexa datumoperationer
    • t.ex. matcha räkenskapsår med kalenderår
    • t.ex. dela upp efter kvartal, månad, vecka
  • Tidsdimensioner hanterar tider på dygnet: timme, minut, sekund
  • Tidsdimensioner är betydligt mindre vanliga än datumdimensioner

En datumdimension i ett stjärnschema

Datamodellering på mellannivå i Power BI

Alternativ för att skapa en datumdimension

Metod Fördelar Nackdelar
Lagra i en databas Passar bra om du hämtar data från ett datalager! Kräver en databas
Enkelt att dela med flera tjänster, och uppdatering är enkel
Lagra i en fil Ingen databas krävs, skapas en gång Du måste skapa filen
Power BI har bra stöd för textfiler Uppdatering är inte lika enkelt som med databaslagring
Skapa med DAX Mer anpassningsmöjligheter än de två föregående alternativen Kräver egenskriven kod
Kräver inget externt förarbete Viss funktionalitet kan vara svårare att uppnå här
Datamodellering på mellannivå i Power BI

Skapa en enkel datumdimension med DAX

Month_Year = 



CALENDAR(DATE(1950, 1, 1), TODAY()),

  • CALENDAR() är en inbyggd funktion som returnerar alla datum i ett intervall
Datamodellering på mellannivå i Power BI

Skapa en enkel datumdimension med DAX

Month_Year = 



CALENDAR(DATE(1950, 1, 1), TODAY()),

  • CALENDAR() är en inbyggd funktion som returnerar alla datum i ett intervall
  • Skapar fältet [Date] med varje datum mellan 1950-01-01 och idag $$ $$ $$
[Date]
1950-01-01
1950-01-02
...
2021-06-30
Datamodellering på mellannivå i Power BI

Skapa en enkel datumdimension med DAX

Month_Year = 


SELECTCOLUMNS(
CALENDAR(DATE(1950, 1, 1), TODAY()),
"Month", MONTH([Date]), "Year", YEAR([Date]) )
  • CALENDAR() är en inbyggd funktion som returnerar alla datum i ett intervall
  • Skapar fältet [Date] med varje datum mellan 1950-01-01 och idag
  • Välj de kolumner du vill lägga till $$ $$
Month Year
01 1950
01 1950
... ...
06 2021
Datamodellering på mellannivå i Power BI

Skapa en enkel datumdimension med DAX

Month_Year = 

DISTINCT(
SELECTCOLUMNS(
CALENDAR(DATE(1950, 1, 1), TODAY()),
"Month", MONTH([Date]), "Year", YEAR([Date]) )
)
  • CALENDAR() är en inbyggd funktion som returnerar alla datum i ett intervall
  • Skapar fältet [Date] med varje datum mellan 1950-01-01 och idag
  • Välj de kolumner du vill lägga till
  • Behåll endast unika rader
Month Year
01 1950
02 1950
... ...
06 2021
Datamodellering på mellannivå i Power BI

Definiera relationer

  • Relationer gör det möjligt att länka tabeller i Power BI
    • Sprider filter mellan tabeller
    • Möjliggör beräkningar över tabeller
  • Sätt att hantera relationer
    • Automatisk identifiering baserat på kolumnnamn
    • Manuell anpassning

en datamodell med relationer

Datamodellering på mellannivå i Power BI

Relationsnycklar

  • Relationer bygger på nycklar

    • En eller flera kolumner som garanterar att en rad är unik
  • Två typer av nycklar:

    • Naturlig nyckel: befintlig kolumn (t.ex. e-post)
    • Surrogatnyckel: artificiell kolumn (t.ex. ID)
  • Power BI kräver relationer med en kolumn

Datamodellering på mellannivå i Power BI

Relationsnycklar

  • Relationer bygger på nycklar

    • En eller flera kolumner som garanterar att en rad är unik
  • Två typer av nycklar:

    • Naturlig nyckel: befintlig kolumn (t.ex. e-post)
    • Surrogatnyckel: artificiell kolumn (t.ex. ID)
  • Power BI kräver relationer med en kolumn

  • Sammansatt nyckel: en nyckel bestående av minst två kolumner
Förnamn Efternamn Födelseår Värde
Chris P Bacon 1996 599
Jane Bonds 1998 523
Dwayne Pipe 1988 -566

$$

Sammansatt nyckel Värde
Chris P-Bacon-1996 599
Jane-Bondts-1998 523
Dwayne-Pipe-1988 -566
Datamodellering på mellannivå i Power BI

Kardinalitet

  • Ett mått på sambandet mellan rader i två tabeller
  • Många-till-en/En-till-många: vanligast förekommande
    • Kopplar en rad i dimensionstabellen till en eller flera rader i faktatabellen

$$

en-till-många-relation

många-till-en-relation

Datamodellering på mellannivå i Power BI

Kardinalitet

  • Mindre vanliga:

    • En-till-en en-till-en-relation $$

    • Många-till-många många-till-många-relation

Datamodellering på mellannivå i Power BI

Nu kör vi en övning!

Datamodellering på mellannivå i Power BI

Preparing Video For Download...