Vlastní popisky hodnot v Power BI vizuálech

Úvodní obrázek

Tento příspěvek obsahuje příklady vytvoření vlastních popisků hodnot v Power BI vizuálech. Vlastní popisek u Power BI vizuálů není nic jiného než další měřítko, jehož výsledek se bude zobrazovat v popiscích místo měřítka použitého v hodnotách vizuálu. Díky tomu můžeme ve vybraných Power BI vizuálech zobrazovat u popisků jakékoliv hodnoty, které mají v aktuálním kontextu přidanou hodnotu, včetně různých symbolů, emotikonů, UNICODE znaků, naformátovaných hodnot měřítek atd. Všechny tyto hodnoty můžeme libovolně kombinovat a spojovat do řetězců a zobrazovat různé výsledky podle aktuálního kontextu vyhodnocení.

Poznámka: Ve vlastních popiscích můžeme použít také hodnoty ze sloupců z tabulek. Použití sloupce v popiscích vizuálů je podmíněno výběrem první nebo poslední hodnoty ze sloupce v aktuálním kontextu vyhodnocení. Použití sloupce ve vlastních popiscích může dávat za určitých okolností smysl. Vytvoření vlastních popisků pomocí měřítka je ale daleko přirozenější a pružnější, s možností tvořit popisky, které budou vyhodnoceny dynamicky na základě aktuálního kontextu vytvořeného v reportu.

Všechny příklady v tomto příspěvku jsou vytvořeny ve cvičném Power BI souboru Adventure Works DW 2020.pbix, který je volně dostupný ke stažení na internetu. Soubor s řešením je přiložený ke stažení níže pod tímto příspěvkem.

K tomuto tématu je k dispozici také video:

V použitém Power BI souboru je navíc vytvořené měřítko [Prodeje], které má následující definici.

Měřítko:

Prodeje = SUM(Sales[Sales Amount])

Měřítko [Prodeje] bude vracet sumu za prodeje produktů v aktuálním kontextu vyhodnocení. Pokud nové měřítko vložíme do vizuálu Spojnicový graf, spolu s měsíci ze sloupce 'Date'[Měsíc rok] na ose x a vybraným rokem 2018 v průřezu, výchozí vizuál, se kterým budeme v příkladech pracovat, může vypadat následovně.

Vlastní popisky hodnot v Power BI vizuálech

Na samotném vizuálu není v tuto chvíli nic speciálního. Jednotlivé body v grafu znázorňují velikost prodejů v aktuálním měsíci. V popiscích hodnot pak vidíme hodnotu měřítka [Prodeje] zaokrouhlenou na miliony.

V prvním příkladu si můžeme ukázat, jak přiřadit do vlastních popisků v tomto grafu nezaokrouhlenou hodnotu měřítka [Prodeje]. Změnit způsob zobrazení hodnoty měřítka použitého ve vizuálu můžeme samozřejmě i pomocí nastavení ve formátovacím panelu, nicméně tento jednoduchý příklad může posloužit jako ukázka, jak přiřadit jiné měřítko do vlastních popisků.

V dalších příkladech si pak vytvoříme komplexnější měřítka určená pro zobrazení v popiscích. Tato měřítka budou zobrazovat v popiscích různé UNICODE znaky a emotikony pro různé měsíce podle toho, jak byl aktuální měsíc úspěšný z pohledu prodejů v porovnání s ostatními měsíci.

Vlastní popisek hodnot v Power BI vizuálu

Začít můžeme tím, že si vytvoříme nové měřítko, které bude vracet hodnotu měřítka prodeje naformátovanou pomocí funkce FORMAT().

 Měřítko:

Prodeje (Format) = FORMAT([Prodeje], "Standard", "cs-CZ")

Nové měřítko [Prodeje (Format)] bude vracet hodnotu měřítka [Prodeje] v aktuálním kontextu převedenou na textový řetězec s tisíci oddělenými mezerami a s desetinnými místy oddělenými čárkou. Takto vytvořené měřítko můžeme nyní přiřadit do popisků v našem dříve vytvořeném spojnicovém grafu.

Prvním krokem bude označit si vizuál, do kterého chceme přiřadit popisek. Následně ve formátovacím panelu rozbalíme nabídku u kategorie "Popisky dat".

Vlastní popisky hodnot v Power BI vizuálech 2

V kategorii nastavení popisků dat najdeme ve spodní části další samostatný oddíl "Hodnoty" kde již můžeme aktivovat pomocí přepínacího tlačítka vlastí popisky a přiřadit měřítko [Prodeje (Format)] do popisků vizuálu následujícím způsobem.

Vlastní popisky hodnot v Power BI vizuálech 3

Nyní jsou jednotlivé body grafu vykresleny stále podle měřítka [Prodeje], které je v tomto grafu použité v hodnotách. Popisky jednotlivých hodnot jsou ale hodnoty, které vrací měřítko [Prodeje (Format)].

Vlastní popisky hodnot v Power BI vizuálech 4

Na tomto jednoduchém příkladu jsme si ukázali jak přiřadit měřítko do popisků hodnot ve vizuálu. Tento příklad nemá z analytického pohledu příliš velkou přidanou hodnotu, nicméně z technického pohledu je důležité poznamenat rozdíl mezi měřítkem [Prodeje] a měřítkem [Prodeje (Format)].

Měřítko [Prodeje] vrací číslo a takovéto měřítko můžeme použít v hodnotách vizuálu. Naproti tomu měřítko [Prodeje (Format)] vrací textový řetězec, protože funkce FORMAT() převede hodnotu měřítka [Prodeje] na text. Takovéto měřítko již nemůžeme použít v hodnotách grafu, protože algoritmus pro vykreslení jednotlivých bodů grafu pracuje s číselnými hodnotami, díky čemuž dokáže vykreslit jednotlivé body grafu. 

Možnost přiřadit si měřítko vracející textový řetězec do popisků v grafech může být v mnoha situacích velmi užitečné. Díky této funkcionalitě můžeme v popiscích hodnot zobrazovat další dodatečné informace bez ohledu na funkčnost grafu, který pro vykreslení jednotlivých bodů stále používá originální měřítko vracející číselné hodnoty.

To si můžeme ukázat na dalším příkladu, kde budeme porovnávat prodeje v aktuálním měsíci s prodeji v předchozím měsíci a na základě tohoto porovnání budeme používat různé UNICODE znaky v popiscích hodnot.

Porovnání aktuálního měsíce s měsícem předchozím

Cílem dalšího příkladu bude vytvořit si měřítko určené pro použití v popisku, které bude vracet šipku nahoru u měsíce, který je z pohledu prodejů lepší než měsíc předchozí, a šipku dolů u měsíce, který je z pohledu prodejů horší než měsíc předchozí. Za samotnou šipku ještě přidáme naformátovanou hodnotu měřítka [Prodeje]. Vložit šipku do měřítka, ať už nahoru nebo dolů, můžeme pomocí funkce UNICHAR(), do které můžeme zadat jakýkoliv UNICODE symbol pomocí jeho kódu. Šipka nahoru má kód 9650, šipka dolů má kód 9660. Takto popsané měřítko může vypadat například následovně.

Měřítko:

Popisek (Šipky) =
VAR ProdejeFormat = FORMAT([Prodeje], "Standard", "cs-CZ")
VAR AktualniProdeje = [Prodeje]
VAR ProdejePredchoziMesic =
    CALCULATE
    (
        [Prodeje],
        REMOVEFILTERS('Date'),
        OFFSET
        (
            -1,
            ALLSELECTED('Date'[Měsíc rok], 'Date'[Měsíc rok číslo]),
            ORDERBY('Date'[Měsíc rok číslo], ASC)
        )
    )
VAR Vypocet =
    IF
    (
        AktualniProdeje <= ProdejePredchoziMesic,
        UNICHAR(9660), -- šipka dolu
        UNICHAR(9650)  -- šipka nahoru
    )
    & " " &
    ProdejeFormat
RETURN
    Vypocet

Pokud nové měřítko vložíme do popisků hodnot v našem spojnicovém grafu, výsledek bude vypadat následovně.

Vlastní popisky hodnot v Power BI vizuálech 5

Jak je možné vidět na obrázku výše, v popiscích hodnot můžeme nyní vidět šipku nahoru u měsíců, jejichž prodeje jsou v porovnání s předchozím měsícem vyšší. Pokud jsou v aktuálním měsíci prodeje nižší než prodeje v měsíci předchozím, před hodnotou prodejů je šipka směřující dolů.

V dalším příkladu si ukážeme, jak označit pomocí speciálního symbolu nejlepší měsíc ze všech měsíců zobrazených ve vizuálu.

Nejlepší měsíc ze všech zobrazených měsíců

Identifikovat nejlepší měsíc z pohledu sumy za prodeje produktů můžeme v jazyku DAX více různými způsoby. V tomto příkladu si vytvoříme jednoduše pořadí všech měsíců podle měřítka [Prodeje] a pokud bude pořadí aktuálního měsíce rovno číslu 1, jedná se o nejlepší měsíc ze všech zobrazených měsíců ve vizuálu. V takovémto případě přiřadíme tomuto měsíci vybranou emotikonu. Emotikony můžeme vkládat do DAX kódu jednoduše do uvozovek jako kterýkoliv jiný textový řetězec. Pokud nebude aktuální měsíc nejlepší, přiřadíme k danému měsíci buď šipku nahoru nebo šipku dolů podle předchozího algoritmu.

Měřítko:

Popisek =
VAR ProdejeFormat = FORMAT([Prodeje], "Standard", "cs-CZ")
VAR AktualniProdeje = [Prodeje]
VAR ProdejePredchoziMesic =
    CALCULATE
    (
        [Prodeje],
        REMOVEFILTERS('Date'),
        OFFSET
        (
            -1,
            ALLSELECTED('Date'[Měsíc rok], 'Date'[Měsíc rok číslo]),
            ORDERBY('Date'[Měsíc rok číslo], ASC)
        )
    )
VAR Poradi =
    RANKX
    (
        ALLSELECTED('Date'[Měsíc rok], 'Date'[Měsíc rok číslo]),
        [Prodeje]
    )
VAR JeAktualniMesicNejlepsi = Poradi = 1
VAR Vypocet =
    IF
    (
        JeAktualniMesicNejlepsi,
        "🏆",
        IF
        (
            AktualniProdeje <= ProdejePredchoziMesic,
            UNICHAR(9660), -- šipka dolu
            UNICHAR(9650)  -- šipka nahoru
        )
    )
    & " " &
    ProdejeFormat
RETURN
    Vypocet

Nové měřítko si opět můžeme vložit do popisků hodnot ve spojnicovém grafu a zobrazit si výsledek.

Vlastní popisky hodnot v Power BI vizuálech 6

Jak je možné vidět na obrázku výše, nový popisek nyní obsahuje u měsíce s nejvyššími prodeji emotikonu poháru. Pro všechny ostatní měsíce je zobrazena před hodnotou prodejů šipka nahoru nebo dolů podle dříve popsané logiky.

U vlastních popisků můžeme nastavit také barvu na základě podmíněného formátu.

Barva popisku na základě podmíněného formátu v měřítku

Nastavení podmíněného formátu na základě výpočtu v měřítku u prvků vizuálů je popsané v samostatném příspěvku. V tomto příspěvku proto uvedu pouze pro úplnost samotné měřítko použité pro nastavení barvy popisků. Toto měřítku bude vracet zelenou barvu pro měsíce, ve kterých jsou prodeje vyšší než v předchozím měsíci, a červenou barvu pro měsíce s horšími prodeji než v předchozím měsíci.

Měřítko:

Barva popisku =
VAR AktualniProdeje = [Prodeje]
VAR ProdejePredchoziMesic =
    CALCULATE
    (
        [Prodeje],
        REMOVEFILTERS('Date'),
        OFFSET
        (
            -1,
            ALLSELECTED('Date'[Měsíc rok], 'Date'[Měsíc rok číslo]),
            ORDERBY('Date'[Měsíc rok číslo], ASC)
        )
    )
VAR Vypocet =
    IF
    (
        AktualniProdeje <= ProdejePredchoziMesic,
        "Red",
        "Green"
    )
RETURN
    Vypocet

Princip výpočtu je podobný jako u výpočtu, ve kterém přiřazujeme v popiscích šipku nahoru nebo dolů. Výsledkem měřítka určeného pro nastavení barvy je ale nyní název barvy namísto UNICODE znaku.  Pokud nové měřítko použijeme pro nastavení barvy popisku na základě hodnoty pole, výsledek bude vypadat následovně.

Vlastní popisky hodnot v Power BI vizuálech 7

Pokud v průřezu vybereme jiný rok, například rok 2019, celý graf se přepočítá, včetně popisků a jejich barev.

Vlastní popisky hodnot v Power BI vizuálech 8

Měsíce rostoucí mají zelenou barvu a šipku nahoru, měsíce klesající mají šipku dolů a červenou barvu. Nejlepší měsíc z pohledu prodejů pak má přiřazenou emotikonu poháru.

Shrnutí

Příklad uvedený v tomto příspěvku je pouze ilustrativní s cílem znázornit různé možnosti, které máme při práci s vlastními popisky hodnot u vizuálů. V popiscích hodnot můžeme zobrazovat téměř cokoliv co dává v aktuálním vizuálu smysl.

Další příklady můžete najít na stránce Power BI nebo DAX příklady. Video návody můžete najít na Youtubovém kanále pod tímto odkazem.

Stáhnout soubor s řešením.
č. 84

Komentáře