GOC644 · Cvičení 1
Cvičení 1 — Tvorba datového modelu z AdventureWorks DW
Importujte data z SQL Server, vytvořte relace a hierarchie
Cíle cvičení
- Naučit se připojit k SQL Server z Power BI Desktop
- Importovat tabulky z AdventureWorks DW 2019
- Vyčistit a transformovat data pomocí Power Query
- Vytvořit a ověřit relace mezi tabulkami
- Označit Date Table a vytvořit hierarchii dat
1
Připojení k SQL Server a výběr tabulek
1
Otevřete Power BI Desktop
Spusťte aplikaci Power BI Desktop. Pokud jste ji naposledy nepoužívali, přivítá vás úvodní obrazovka.
2
Klikněte na "Načíst data" a vyberte SQL Server
V domovské kartě vyberte Načíst data > Další... nebo Databáze > SQL Server.
💡 Zobrazit nápovědu
Pokud vidíte tlačítko "Načíst data" přímo, klikněte na něj a vyberte možnost SQL Server z kategorie Databáze.
3
Zadejte údaje o serveru
- Server: Zadejte název vašeho SQL Server (instruktor vám jej sdělí, obvykle něco jako
.\SQLEXPRESSnebo název počítače) - Database: AdventureWorksDW2019
- Zvolte Import (ne DirectQuery)
💡 Zobrazit nápovědu
Pokud si nejste jistí názvem serveru, zeptejte se instruktora nebo zkuste
localhost nebo (local). Můžete také použít Windows autentifikaci, kterou Power BI automaticky nabídne.4
Vyberte tabulky k importu
V navigátoru dat zaškrtněte následující tabulky:
- FactInternetSales
- DimDate
- DimProduct
- DimProductCategory
- DimProductSubcategory
- DimCustomer
- DimGeography
Tip: Náhled si ověříte před potvrzením. Zaškrtnutí tabulky zobrazí její obsah vpravo.
5
Potvrďte výběr a načtěte data
Klikněte na Načíst. Power BI začne importovat data — tento proces může trvat několik sekund.
2
Transformace v Power Query
Pokud se Power Query automaticky neotevře, klikněte v Power BI na Transformovat data v pásu karet Home.
1
Vyberte tabulku FactInternetSales
V levém panelu Power Query klikněte na FactInternetSales.
💡 Zobrazit nápovědu
Měli byste vidět seznam sloupců. Pokud vidíte více sloupců než je v zadání, připravte se je vyfiltrovat v dalším kroku.
2
Zachovejte pouze potřebné sloupce v FactInternetSales
Klikněte na Domů > Zvolte sloupce a ponechte pouze:
- OrderDateKey
- DueDateKey (aktivní relace — shoduje se s referenčním modelem přednášek)
- ProductKey
- CustomerKey
- SalesTerritoryKey
- SalesAmount
- OrderQuantity
- UnitPrice
- DiscountAmount
- TotalProductCost (bude potřeba pro Cvičení 2)
💡 Zobrazit nápovědu
V okně "Vybrat sloupce" zaškrtněte sloupce, které chcete zachovat, a zrušte zbývající. Poté klikněte OK. Alternativně: klikněte pravým tlačítkem na sloupce, které chcete odstranit, a vyberte "Odebrat".
3
Upravte DimDate tabulku
V levém panelu klikněte na DimDate. Ponechte sloupce:
- DateKey
- FullDateAlternateKey
- CalendarYear
- CalendarQuarter
- MonthNumberOfYear
- EnglishMonthName
- EnglishDayNameOfWeek
💡 Zobrazit nápovědu
Opět použijte "Zvolte sloupce" nebo pravé tlačítko myši pro odstranění nepotřebných sloupců.
4
Vyčistěte zbývající tabulky (DimProduct, DimProductCategory atd.)
Pro každou zbývající tabulku ponechte:
- DimProduct: ProductKey, EnglishProductName, ListPrice, ProductSubcategoryKey
- DimProductCategory: ProductCategoryKey, EnglishProductCategoryName
- DimProductSubcategory: ProductSubcategoryKey, EnglishProductSubcategoryName, ProductCategoryKey
- DimCustomer: CustomerKey, FirstName, LastName, GeographyKey
- DimGeography: GeographyKey, EnglishCountryRegionName, CountryRegionCode
5
Zavřete Power Query a načtěte data
Klikněte na Zavřít a upladit v pravém horním rohu. Power BI načte data do modelu.
3
Ověření a vytvoření relací v Modelu
1
Otevřete zobrazení Model
V levém panelu Power BI klikněte na ikonu Model nebo v pásu karet klikněte na Zobrazení > Model.
2
Zkontrolujte a ověřte automaticky vytvořené relace
Power BI by měl automaticky vytvořit relace na základě klíčů. Měli byste vidět:
| Tabulka 1 | Sloupec 1 | Tabulka 2 | Sloupec 2 | Aktivní |
|---|---|---|---|---|
| FactInternetSales | DueDateKey | DimDate | DateKey | ✓ Ano (aktivní) |
| FactInternetSales | OrderDateKey | DimDate | DateKey | Ne (neaktivní) |
| FactInternetSales | ProductKey | DimProduct | ProductKey | ✓ Ano |
| FactInternetSales | CustomerKey | DimCustomer | CustomerKey | ✓ Ano |
| DimProduct | ProductSubcategoryKey | DimProductSubcategory | ProductSubcategoryKey | ✓ Ano |
| DimProductSubcategory | ProductCategoryKey | DimProductCategory | ProductCategoryKey | ✓ Ano |
| DimCustomer | GeographyKey | DimGeography | GeographyKey | ✓ Ano |
💡 Zobrazit nápovědu
Pokud některá relace chybí, ručně ji vytvořte přetažením sloupce z jedné tabulky na sloupec v druhé tabulce. Relace by měly být "many-to-one" (jedna k mnoha) — FactInternetSales (many) → DimXxx (one).
3
Zajistěte, aby relace byla správně orientována
Jednocestné šipky vedou od dimenzí (strana One) k faktům (strana Many) — tedy od DimXxx k FactInternetSales. Šipka ukazuje směr propagace filtru: DimDate → FactInternetSales. Pokud vidíte opačný směr, klikněte na relaci a upravte ji.
4
Označení Date Table a vytvoření hierarchie
1
Označte DimDate jako Date Table
V zobrazení Model klikněte pravým tlačítkem na tabulku DimDate a vyberte Označit jako tabulku data.
💡 Zobrazit nápovědu
Alternativně: vyberte DimDate, v pásu karet klikněte na Nástroje tabulky > Označit jako tabulku data. Poté vyberte sloupec FullDateAlternateKey jako sloupec data — musí být typu Date nebo DateTime, nikoliv celé číslo (DateKey je integer a nelze jej použít).
2
Vytvořte hierarchii "Datum" v DimDate
V zobrazení Model nebo Data vyberte tabulku DimDate. V podokně vpravo (pro danou tabulku) klikněte na CalendarYear, podržte Ctrl a klikněte na EnglishMonthName a FullDateAlternateKey.
💡 Zobrazit nápovědu
Pokud se okno hierarchie nezobrazuje automaticky, v pásu karet (v zobrazení Model) najděte možnost Nová hierarchie. Vyberte sloupce v pořadí: CalendarYear (top), EnglishMonthName (middle), FullDateAlternateKey (bottom).
3
Pojmenujte hierarchii "Datum"
Po vytvoření hierarchie se zobrazí s názvem "Hierarchie". Klikněte na ni a přejmenujte na "Datum".
4
Vytvořte calculated columns v DimProduct a poté hierarchii (volitelné)
DimProduct neobsahuje sloupce Category ani Subcategory přímo — jsou v oddělených tabulkách. Nejprve přidejte calculated columns pomocí RELATED():
V zobrazení Data vyberte tabulku DimProduct, klikněte na Nový sloupec a zadejte:
ProductSubcategoryName = RELATED(DimProductSubcategory[EnglishProductSubcategoryName]) ProductCategoryName = RELATED(DimProductCategory[EnglishProductCategoryName])
Poté vytvořte hierarchii z těchto sloupců: ProductCategoryName → ProductSubcategoryName → EnglishProductName. Pojmenujte ji "Produkt".
Toto bude užitečné pro vytváření drill-down vizualizací v budoucích cvičeních. RELATED() funguje, protože model obsahuje relace DimProduct → DimProductSubcategory → DimProductCategory.
5
Finalizace a uložení
1
Otevřete zobrazení Report
V levém panelu klikněte na ikonu Report (vypadá jako sloupec). Měli byste vidět prázdnou stránku s podporou vizualizací.
2
Přidejte kartu pro ověření dat
Z podokna Vizualizace vlevo přetáhněte Card vizualizaci na stránku. Z pole "FactInternetSales" přetáhněte "SalesAmount" do karty. Měla by se zobrazit suma prodejů.
💡 Zobrazit nápovědu
Pokud nevidíte podokno Pole, klikněte na něj v pravém panelu. Karta by měla zobrazit něco jako "12 345 678" — to je součet všech prodejů v datech.
3
Uložte soubor
Klikněte na Soubor > Uložit a uložte soubor jako GOC644_cviceni.pbix do vhodné složky (např. Dokumenty nebo Pracovní plocha).
4
Ověřte strukturu modelu
Vraťte se do zobrazení Model a zkontrolujte, zda všechny relace a hierarchie vypadají správně. Měli byste vidět:
- FactInternetSales v centru se šipkami vedoucími k všem dimenziím
- Řetězec DimProduct → DimProductSubcategory → DimProductCategory
- Hierachie "Datum" v DimDate
6
Kontrolní seznam (Checklist)
Úspěšně jste dokončili Cvičení 1, pokud:
- ✓ Všechny tabulky jsou importovány a vidíte je v podokně Pole
- ✓ Všechny relace jsou správně nastaveny (6 relací)
- ✓ DimDate je označena jako Date Table
- ✓ Hierarchie "Datum" existuje v DimDate
- ✓ Soubor je uložen jako GOC644_cviceni.pbix
- ✓ Karta zobrazuje součet SalesAmount (něco kolem milionů)
Poznámka pro instruktora: Demonstrujte, jak se model tvořil krok za krokem, a nechte účastníky sledovat. V Cvičení 2 se budou na tomto modelu budovat DAX míry a sloupce.