Práce s dimenzemi

Dokončeno

Při vytváření hvězdicového schématu budete mít tabulky dimenzí a faktů. Tabulky faktů obsahují informace o událostech, jako jsou prodejní objednávky, data expedice, prodejci a dodavatelé. Tabulky dimenzí ukládají podrobnosti o obchodních entitách, jako jsou například produkty nebo čas, a jsou propojené s tabulkami faktů prostřednictvím relací.

Jednou z možností, která vám může pomoct najít podrobnosti v tabulkách dimenzí, je použití hierarchií. Tyto hierarchie se vytváří prostřednictvím přirozených segmentů ve vašich datech. Můžete mít například hierarchii kalendářních dat, ve které můžete data segmentovat do roků, měsíců, týdnů a dnů. Hierarchie jsou užitečné, protože umožňují přecházet ke konkrétním podrobnostem vašich dat místo toho, abyste se dívali jen na data na vysoké úrovni.

Hierarchie

Při vytváření vizuálů Power BI automaticky zadává hodnoty typu kalendářních dat jako hierarchii (pokud nebyla tabulka označena jako tabulka kalendářních dat).

Snímek obrazovky s příkladem hierarchie

V předcházejícím sloupci Date (Datum) se datum zobrazuje postupně s většími podrobnostmi jako roky, čtvrtletí, měsíce a dny. Hierarchie můžete také vytvářet ručně.

Představte si například situaci, kdy chcete vytvořit skládaný pruhový graf pro celkové prodeje podle kategorií a podkategorií. Tento úkol můžete provést tak, že vytvoříte hierarchii v tabulce Product pro kategorie a podkategorie. Když budete chtít vytvořit hierarchii, přejděte do podokna Pole v Power BI a potom klikněte pravým tlačítkem na sloupec, pro který chcete hierarchii vytvořit. Vyberte Nová hierarchie, jak je znázorněno na následujícím obrázku.

Snímek obrazovky s novou hierarchií v tabulce Product

Pak přetáhněte sloupec podkategorie do této nové hierarchie, kterou jste vytvořili. Tento sloupec se přidá jako podúroveň hierarchie.

Snímek obrazovky hierarchie názvů kategorií s vnořenými názvy kategorií a názvem podkategorie

Nyní můžete vizuál vytvořit výběrem skládaného pruhového grafu v podokně Vizualizace. Přidejte Category Name Hierarchy (Hierarchie názvů kategorií) do pole Osa a TotalSales do pole Hodnoty.

Snímek obrazovky hierarchie názvů kategorií v poli Osa a totalSales v poli Hodnoty

Podle toho, co chcete zobrazit, můžete přecházet k podrobnostem vizuálu a zobrazit kategorii i podkategorii. Hierarchie umožňují zobrazit zvyšující se úrovně dat v jednom zobrazení.

Snímek obrazovky se dvěma zobrazeními v jednom vizuálu

Teď, když jste se seznámili s hierarchiemi, můžete postoupit o krok dál a prozkoumat hierarchie nadřazenosti a podřízenosti a jejich roli ve více relacích mezi tabulkami faktů a tabulkami dimenzí.

Hierarchie nadřazenosti a podřízenosti

V následujícím příkladu máte v databázi tabulku zaměstnanců s názvem Employee, která poskytuje důležité informace o zaměstnancích, jejich manažerech a jejich identifikačních číslech. Když se na tuto tabulku podíváte, všimnete si, že Roy F je ve sloupci Manager uveden několikrát. Jak ukazuje obrázek, může mít víc zaměstnanců stejného manažera, což označuje hierarchii mezi manažery a zaměstnanci.

Snímek obrazovky s tabulkou zaměstnanců se sloupci ID zaměstnance, Zaměstnance, ID vedoucího a Manažera

Sloupec Manager určuje hierarchii a je tedy „nadřazený“, zatímco „podřízení“ jsou zaměstnanci. V tomto příkladu chcete mít možnost zobrazit všechny úrovně této hierarchie. Power BI ve výchozím nastavení nezobrazuje všechny úrovně hierarchie, takže je na vás, abyste zajistili, že uvidíte všechny úrovně této hierarchie nebo ji zploštíte, abyste viděli větší členitost dat.

Zploštění hierarchie nadřazenosti a podřízenosti

Proces zobrazení více podřízených úrovní na základě nadřazené nejvyšší úrovně se označuje jako zploštění hierarchie. V tomto procesu vytváříte více sloupců v tabulce, které zobrazují hierarchickou cestu od nadřazené úrovně k podřízené úrovni u stejného záznamu. Použijete funkci PATH(), jednoduchou funkci jazyka DAX, která vrací textovou verzi manažerské cesty pro každého zaměstnance, a funkci PATHITEM() k rozdělení této cesty na jednotlivé úrovně manažerské hierarchie.

Důležité

Jazyk DAX jsme ještě neprobírali, budeme ho však probírat v jiném modulu. Tato funkce je tu zahrnuta, protože tato část vysvětluje hierarchie. Pokud je pro vás použití jazyka DAX v této podobě matoucí, podívejte se na modul o jazyce DAX a potom se vraťte do této části.

V tabulce přejděte na kartu Modelování a vyberte Nový sloupec. Do výsledného řádku vzorců zadejte následující funkci, která vytvoří textovou cestu mezi zaměstnancem a manažerem. Tato akce vytvoří počítaný sloupec v jazyce DAX.

Path = PATH(Employee[Employee ID], Employee[Manager ID])

Snímek obrazovky s mírou DAX pro zploštělování hierarchie nadřazeného podřízeného objektu

V novém sloupci se zobrazí dokončená cesta mezi zaměstnancem a manažerem, jak je znázorněno na následujícím screenshotu.

Snímek obrazovky s tabulkou funkce PATH v Power BI

Pokud se podíváte na Rogera M, cesta vyjádřená pomocí identifikačních čísel je 1010 | 1011 | 1013, což znamená, že o úroveň výš nad Rogerem M (ID 1013) je jeho manažerka, Pam H (ID 1011) a o úroveň výš nad Pam H je její manažer Roy F (ID 1010). V tomto řádku je Roger M v nejnižší části hierarchie, na podřízené úrovni, a Roy F v nejvyšší části hierarchie na nadřazené úrovni. Tato cesta se vytvoří pro každého zaměstnance. Pokud chcete tuto hierarchii zploštit, můžete jednotlivé úrovně oddělit pomocí funkce PATHITEM.

Pokud chcete zobrazit všechny tři úrovně hierarchie samostatně, můžete vytvořit čtyři sloupce stejným způsobem, jak jste to udělali dříve, a to tak, že zadáte následující rovnice. K načtení hodnoty, která se nachází v odpovídající úrovni vaší hierarchie, použijete funkci PATHITEM.

  • Level 1 = PATHITEM(Employee[Path],1)
  • Level 2 = PATHITEM(Employee[Path],2)
  • Level 3 = PATHITEM(Employee[Path],3)

Snímek obrazovky s použitím funkce PATHITEM

Až to budete mít hotové, všimněte si, že teď máte v tabulce všechny úrovně hierarchie. Roy F je v nejvyšší části hierarchie a když budete přecházet na úrovně 2 a 3, všimněte si, že manažeři a zaměstnanci jsou vzájemně propojeni.

Snímek obrazovky se zploštělováním hierarchie nadřazený-podřízený

Teď můžete vytvořit hierarchii v podokně Pole tak, jak jste to už udělali dříve. Klikněte pravým tlačítkem na Úroveň 1, protože se jedná o první úroveň hierarchie, a pak vyberte Nová hierarchie. Potom přetáhněte úrovně 2 a 3 do této hierarchie.

Snímek obrazovky s novou hierarchií pro úrovně zaměstnanců

Nyní jste úspěšně zploštili hierarchii, abyste mohli zobrazit jednotlivé úrovně.

Doposud jste uvažovali dimenze, které mají jenom jednu relaci s tabulkou faktů. Nastávají však situace, kdy má tabulka dimenzí více relací s tabulkou faktů.

Dimenze role

Dimenze role mají více platných relací s tabulkami faktů, což znamená, že stejnou dimenzi lze používat k filtrování více sloupců nebo tabulek dat. Díky tomu můžete data filtrovat různě v závislosti na tom, jaké informace potřebujete získat. Toto téma je komplexní, takže ho v této části jen představujeme. Práce s dimenzemi role vyžaduje komplexní funkce jazyka DAX, které budeme probírat v pozdějších částech.

Snímek obrazovky s dimenzemi rolí v modelu

Předchozí vizuál zobrazuje tabulky Calendar, Sales a Order. Calendar je tabulka dimenzí, zatímco Sales a Order jsou tabulky faktů. Tabulka dimenzí má dvě relace: jednu s tabulkou Sales a druhou s tabulkou Order. Toto je příklad dimenze role, protože tabulka Calendar se dá používat k seskupování dat v tabulce Sales i v tabulce Order. Pokud byste chtěli vytvořit vizuál, ve kterém tabulka Calendar odkazuje na tabulky Order a Sales, bude tabulka Calendar fungovat jako dimenze role.