Datové dimenze a vztahy

Intermediate Data Modeling in Power BI

Maarten Van den Broeck

Content Developer

Datové a časové dimenze

  • Datové dimenze poskytují vestavěný kalendář a usnadňují práci s daty
    • např. sladění fiskálního roku s kalendářním rokem
    • např. rozdělení podle čtvrtletí, měsíce, týdne
  • Časové dimenze pracují s časy: hodiny, minuty, sekundy
  • Časové dimenze jsou výrazně méně časté než datové dimenze

Datová dimenze ve hvězdicovém schématu

Intermediate Data Modeling in Power BI

Možnosti vytvoření datové dimenze

Metoda Výhody Nevýhody
Uložit v databázi Ideální, pokud čerpáte data ze skladu dat! Vyžaduje databázi
Snadné sdílení s více službami, jednoduché aktualizace
Uložit do souboru Nevyžaduje databázi, stačí vytvořit jednorázově Je nutné soubor vytvořit
Power BI nabízí skvělou podporu textových souborů Aktualizace není tak snadná jako u databáze
Vytvořit pomocí DAX Umožňuje větší přizpůsobení než předchozí dvě možnosti Je nutné napsat vlastní kód
Nevyžaduje externí přípravu Některé funkce mohou být obtížnější
Intermediate Data Modeling in Power BI

Vytvoření jednoduché datové dimenze pomocí DAX

Month_Year = 



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

  • CALENDAR() je vestavěná funkce pro vrácení všech dat v rozsahu
Intermediate Data Modeling in Power BI

Vytvoření jednoduché datové dimenze pomocí DAX

Month_Year = 



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

  • CALENDAR() je vestavěná funkce pro vrácení všech dat v rozsahu
  • Vytvoří pole [Date] s každým datem od 1950-01-01 do dnes $$ $$ $$
[Date]
1950-01-01
1950-01-02
...
2021-06-30
Intermediate Data Modeling in Power BI

Vytvoření jednoduché datové dimenze pomocí DAX

Month_Year = 


SELECTCOLUMNS(
CALENDAR(DATE(1950, 1, 1), TODAY()),
"Month", MONTH([Date]), "Year", YEAR([Date]) )
  • CALENDAR() je vestavěná funkce pro vrácení všech dat v rozsahu
  • Vytvoří pole [Date] s každým datem od 1950-01-01 do dnes
  • Vyberte sloupce, které chcete přidat $$ $$
Month Year
01 1950
01 1950
... ...
06 2021
Intermediate Data Modeling in Power BI

Vytvoření jednoduché datové dimenze pomocí DAX

Month_Year = 

DISTINCT(
SELECTCOLUMNS(
CALENDAR(DATE(1950, 1, 1), TODAY()),
"Month", MONTH([Date]), "Year", YEAR([Date]) )
)
  • CALENDAR() je vestavěná funkce pro vrácení všech dat v rozsahu
  • Vytvoří pole [Date] s každým datem od 1950-01-01 do dnes
  • Vyberte sloupce, které chcete přidat
  • Zachovejte pouze jedinečné řádky
Month Year
01 1950
02 1950
... ...
06 2021
Intermediate Data Modeling in Power BI

Definování vztahů

  • Vztahy umožňují propojit tabulky v Power BI
    • Přenášejí filtry napříč tabulkami
    • Umožňují výpočty napříč tabulkami
  • Způsoby správy vztahů
    • Automatická detekce podle názvů sloupců
    • Ruční přizpůsobení

datový model se vztahy

Intermediate Data Modeling in Power BI

Klíče vztahů

  • Vztahy jsou založeny na klíčích

    • Jeden nebo více sloupců, které zajišťují jedinečnost řádku
  • Dva typy klíčů:

    • Přirozený klíč: existující sloupec (např. e-mail)
    • Náhradní klíč: umělý sloupec (např. ID)
  • Power BI vyžaduje vztahy na základě jednoho sloupce

Intermediate Data Modeling in Power BI

Klíče vztahů

  • Vztahy jsou založeny na klíčích

    • Jeden nebo více sloupců, které zajišťují jedinečnost řádku
  • Dva typy klíčů:

    • Přirozený klíč: existující sloupec (např. e-mail)
    • Náhradní klíč: umělý sloupec (např. ID)
  • Power BI vyžaduje vztahy na základě jednoho sloupce

  • Složený klíč: klíč tvořený alespoň dvěma sloupci
Jméno Příjmení Rok narození Hodnota
Chris P Bacon 1996 599
Jane Bonds 1998 523
Dwayne Pipe 1988 -566

$$

Složený klíč Hodnota
Chris P-Bacon-1996 599
Jane-Bondts-1998 523
Dwayne-Pipe-1988 -566
Intermediate Data Modeling in Power BI

Kardinalita

  • Míra vztahu mezi řádky dvou daných tabulek
  • Mnoho-k-jedné/Jeden-k-mnoha: nejčastěji používané
    • Propojuje jeden řádek dimenze s jedním nebo více řádky tabulky faktů

$$

vztah jeden k mnoha

vztah mnoho k jedné

Intermediate Data Modeling in Power BI

Kardinalita

  • Méně časté:

    • Jeden-k-jednomu vztah jeden k jednomu $$

    • Mnoho-k-mnoha vztah mnoho k mnoha

Intermediate Data Modeling in Power BI

Pojďme si procvičit!

Intermediate Data Modeling in Power BI

Preparing Video For Download...