SQL Hierarchie Díl 5 – Jak na hierarchie v Power BI

Mánie kolem hierarchií zde na webu bude pomalu končit. Za sebou mame 5 dílů a o hierarchiích víme snad úplně vše. Zopakovali jsme jak vytvořit kvalitní hierarchii v SQL tabulce, jak se do hierarchií dotazovat a jak je reportovat v SSRS. Zbývá ještě probrat hierarchie v Power BI. Tam totiž neexistuje tak kvalitní nativní podpora hierarchí jako v SSRS a musí se data upravit v jazyce DAX, ale není to žádná těžká věc, tak dem na věc.

Jak reportovat hierarchie v Power BI + úprava dat v DAX

Budu pracovat s tabulkou “zamestnanci”, kteoru jsem si vytvořil v rámci 1. dílu o hierarchiích – Jak správně vytvořit parent-child strukturu v tabulce. Tabulka obsahuje zaměstnance a jejich nadřízené.

1) Vytvoříme si v Power BI desktop report a nahrajeme si jako zdroj tabulku zamestnanci

Hierarchie v Power BI - zdrojová tabulka

2) Vytvoříme si v reportu tabulku a zkontrolujem průběžný výsledek – záznamy máme pod sebou, což nechceme – chceme vytvořit stromovou strukturu

Hierarchie v Power BI - průběžný výsledek

3) Přejdeme nad zdrojovou tabulku a vytvoříme si členy hierarchie

  • Nejprve si vytvoříme cestu, sloupec nazvu path_id_zamestnanec. Dax vzorec pro tento sloupec bude vypadat takto: Path_id_zamestnanec = PATH ( zamestnanci[id_zamestnanec]; zamestnanci[id_nadrizeny] )
  • Tuto cestu použijeme pro vytvoření dalších 3 sloupců (máme 3 úrovně hierarchie – ředitel, manažer, zaměstnanec). Pro úroveň 1 bude vzorec vypadat takto: Uroven_1 = LOOKUPVALUE(zamestnanci[jmenoprijmeni];zamestnanci[id_zamestnanec];VALUE(PATHITEM ( zamestnanci[Path_id_zamestnanec]; 1 )))
  • Po úspěšném provedení bychom se měli dostat do následujícího stavu:

Hierarchie v Power BI - vytvoření členů hierarchie

4) Na úrovni reportu vytvoříme nové pole s hierarchií – Zaměstnanci a sestavíme ho jako na obrázku níže: uroven_1 -> uroven_2 -> uroven_3

Hierarchie v Power BI - Vytvoření nového pole

4) V reportu přejdeme na tabulku a jako řádky vybereme pole s hierarchií z předchozího bodu. Na úrovni filtrů (uroven_1, uroven_2, uroven_3) nastavíme zobrazování neprázdných hodnot a je hotovo:

Power BI hierarchie - finální report

Rate this post

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody, bankovnictví nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Category: Power BI Tags: , ,

About Ing. Jan Zedníček - BI Developer, Finance controller

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody, bankovnictví nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

3 thoughts on “SQL Hierarchie Díl 5 – Jak na hierarchie v Power BI

  1. Slávek

    Dobrý den,
    pěkné řešení pro Power BI. Ale předpokládá to hierarchii s shodnou hloubkou úrovní.
    Jak se dá řešit hierarchie, kde nejsou shodné koncové úrovně?
    Pak při další úrovni vzniká prázdné pole, kde se tato úroveň nenachází. A zapnutím filtru na všech úrovních způsobí zmizení některých uzlů.

    Reply
    1. Ing. Jan Zedníček - BI Developer, Finance controller Post author

      Zdravím, je to tak…bohužel power bi zatím neumí rekurzivní zpracování hierarchie tak jako to umí třeba SSRS. Stále existují scénáře, kde si dokáže SSRS poradit lépe – třeba tento nebo třeba řízení visibility objektů. Řekl bych ale, že se brzy nějaké funkcionality dočkáme, do té doby je potřeba tvořit hierarchie na stejné hloubce tak, že některé ulzy zkátka zopakujete nkrát. Snad mi nějaký jiný workaround neušel, o žádném jiném nevím

      Reply
      1. Anonymous

        Dík za info. To mě taky napadlo. Vypadá to bohužel dost divoce.
        Mám 5 úrovní, dva uzly z 30 končí hned v druhé úrovni. Takže pro tyto dva ve všech dalších mám stejné názvy. Pro uživatele může být velmi matoucí.
        Ale pořád to vypadá lépe, než aby tam všude bylo v dalších 3 úrovních jen hodnota (prázdné).
        Tak se smíříme a budeme čekat, kdy MS dodá i lepší řešení pro Slicery a Matice ve spojení s Hierarchií.

        Reply

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.