Power BI - podmíněný formát pomocí DAX výpočtu v měřítku

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku

Tento příspěvek obsahuje příklad s nastavením podmíněného formátu na základě výpočtu v měřítku. Na konkrétním příkladu si ukážeme, jak má vypadat měřítko určené pro nastavení podmíněného formátu, a jak pomocí nastavení podmníněného formátu na základě výpočtu v měřítku můžeme vylepšit vizuály v Power BI. K tomuto tématu je k dispozici také video.

V příkladu zobrazeném v tomto příspěvku si nejdříve vytvoříme jednoduchý sloupcový graf, který bude zobrazovat velikost prodejů v jednotlivých čtvrtletích a letech, s linií zobrazující průměrné kvartální prodeje.

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 2

Výše zobrazený graf lze vytvořit jednoduše pomocí pár kliků v Power BI. Cílem tohoto příkladu ale bude vytvořit si sloupcový graf, který bude zobrazovat jinou barvu každého sloupce podle toho, zda jsou prodeje v aktuálním čtvrtletí nad nebo pod průměrem. Linie průměru ale nebude vypočítána přes všechny roky, jako je tomu u grafu na obrázku výše, ale v rámci každého roku samostatně. Takto popsaný grafu může vypadat například následovně.

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 3

Ve sloupcovém grafu na obrázku výše je linie průměrů vypočítána pro každý rok samostatně. Červená barva sloupce znamená, že prodeje v daném čtvrtletí byly menší než je čtvrtletní průměr v roce. Modrá barva pak znamená, že prodeje v daném čtvrtletí byly větší než je čtvrtletní průměr v aktuálním roce. Nastavení jednotlivých barev se bude dynamicky měnit podle aktuálního kontextu vyhodnocení. Pokud do reportu přidáme například vizuál průřez, ve kterém vybereme pouze specializované obchody s jízdními koly, což je jedna z kategorií obchodů analyzované fiktivní firmy, celý graf se přepočítá, změní se linie průměru a změní se také barvy jednotlivých sloupců, a to v souladu s podmínkou definovanou v DAX výpočtu, která je vytvořena za účelem nastavení formátů.

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 4

V následující části si postupně ukážeme, jak vytvořit linii průměrných čtvrtletních prodejů v roce, vysvětlíme si, jak má vypadat měřítko určené pro nastavení podmíněného formátu a ukažeme si jak nastavit v Power BI podmíněný formát na základě výpočtu definovaného v měřítku. 

Dynamické nastavení barev v Power BI vizuálech pomocí DAX výpočtu

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 dostupný ke stažení níže pod tímto příspěvkem.

V prvním kroku si vytvoříme dvě měřítka, která budou použita pro definici podmínky, na základě které bude určena barva každého sloupce. První měřítko bude jednoduše počítat sumu za prodané produkty v aktuálním kontextu vyhodnocení.

Měřítko:

Prodeje = SUM(Sales[Sales Amount])

Pokud si nové měřítko vložíme do pole "Osa y sloupce" u vizuálu "Spojnicový a skládaný sloupcový graf", spolu s roky a kvartály z kalendářní tabulky na ose X, výchozí vizualizace může vypadat následovně.

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 5

Druhé měřítko bude počítat průměrné čtvrtletní prodeje v aktuálním roce. Toto měřítko je měřítko které bude tvořit linii průměrných čtvrtletních prodejů v našem grafu a které bude sloužit také jako hranice pro výběr barvy sloupců.

Měřítko:

Průměr v roce =
VAR CtvrtletiAProdeje =
    ADDCOLUMNS
    (
        ALLSELECTED('Date'[Čtvrtletí]),
        "@Prodeje",
        [Prodeje]
    )
VAR PrumerneProdejeVroce =
    AVERAGEX
    (
        CtvrtletiAProdeje,
        [@Prodeje]
    )
VAR Vysledek =
    IF
    (
        HASONEVALUE('Date'[Rok]) && NOT ISBLANK([Prodeje]),
        PrumerneProdejeVroce
    )
RETURN
    Vysledek

V měřítku [Průměr v roce] si v první proměnné CtrvtletiAProdeje vytvoříme virtuální tabulku, která obsahuje dva sloupce, sloupec s čtvrtletími a sloupec se sumou prodejů v daném čtvrtletí a ve vybraném roce. Filtr nastavený na konkrétní rok není přímo součástí výpočtu, ale působí na výpočet z vizuálu, ve kterém bude měřítko vyhodnoceno. Následně v proměnné PrumerneProdejeVRoce spočítáme průměr z hodnot ve sloupci, který obsahuje částky inkasované za prodané produkty v každém čtvrtletí a roce. Před vypsáním výsledku si ještě v proměnné Vysledek ověříme, že je měřítko použito ve vizuálu, který obsahuje hodnoty ze sloupce s roky z kalendářní tabulky a zda jsou v aktuálním kontextu k dispozici data za prodeje produktů. Nové měřítko si můžeme pro kontrolu vložit do vizuálu Matice, abychom si mohli zobrazit a zkontrolovat správnost výpočtu.

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 6

Po ověření, že nové měřítko [Průměr v roce] vrací průměrné čtvrtletní prodeje v každém roce, můžeme toto měřítko vložit do dříve připraveného grafu do pole "Osa y čáry".

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 7

Vizuál "Spojnicový a skládaný sloupcový graf" nyní vypadá následovně.

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 8

Nyní se dostáváme ke klíčovému kroku, kterým je nastavit barvu každého sloupce podle toho, zda je velikost prodejů v daném čtvrtletí větší nebo menší než je průměr.

Podmíněný formát na základě výpočtu v měřítku

Měřítko, které je určené pro nastavení podmíněného formátu, musí vracet barvu zadanou v uvozovkách. Samotnou barvu pak můžeme definovat více různými způsoby. Podle oficiální dokumentace můžeme v Power BI použít následující možnosti:

  • 3-, 6- nebo 8číselné šestnáctkové kódy, například "#3E4AFF". 
  • Hodnoty RGB nebo RGBA, například "RGBA(234, 234, 234, 0.5)".
  • Hodnoty HSL nebo HSLA, například "HSLA(123, 75%, 75%, 0.5)".
  • Anglické názvy barev, jako je třeba "Green", "SkyBlue" nebo "PeachPuff".
Co se týká anglických názvů barev, tak ty můžeme použít asi u 140 barev. Všechny barvy, které můžeme zadat pomocí anglického návzu, jsou k dispozici pod tímto odkazem. Opět nesmíme zapomenout uvést název barvy v uvozovkách.

Výpočet v našem příkladu, podle kterého se bude nastavovat barva každého sloupce, bude obsahovat jednoduchou podmínku, ve které si ověříme, zda je v aktuálním čtvrtletí hodnota prodejů větší nebo rovna průměrným čtvrtletním prodejům v aktuálním roce. V měřítku, podle kterého se bude řídit barva sloupců tedy stačí do funkce IF() vložit tuto podmínku. Druhým argumentem funkce IF() bude barva, která bude nastavena v případě splnění podmínky. Třetí argument funkce IF() pak bude obsahovat barvu pro případ, že podmínka splněna není. Ve druhém a třetím argumentu funkce IF() můžeme pro zjednodušení použít anglické názvy barev uvedené v uvozovkách. Názvy barev ale mohou být jednoduše nahrazeny také kódem barvy, jak bylo uvedeno výše.

Měřítko:

Barva sloupce =
IF
(
    [Prodeje] >= [Průměr v roce],
    "Light Blue",
    "Red"
)

Nastavit barvu podle výpočtu v měřítku můžeme u mnoha různých elementů téměř u každého vizuálu. To, zda je u daného prvku vizuálu možnost nastavení podmíněného formátu poznáme tak, že vedle tlačítka s nastavením barvy najdeme také tlačítko "fx".

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 9

Po kliknutí na toto tlačítko se otevře dialogové okno s možnostmi nastavit podmíněné formátování u vybraného prvku vizuálu. V našem příkladu vybereme v prvním rozevíracím seznamu možnost nastavit podmíněný formát na základě "Hodnoty pole", a ve druhém rozevíracím seznamu vybereme dříve vytvořené měřítko [Barva sloupce].

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 10

Pokud potvrdíme nastavení kliknutím na tlačítko "OK", pravidlo nastavené v měřítku [Barva sloupce] bude použito pro ovlivnění barev jednotlivých sloupců. Po přidání popisků může výsledný graf vypadat například následovně.

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 11

V takto vytvořeném grafu se budou jednotlivé barvy měnit dynamicky podle toho, jaké další vizuály a filtry budou ovlivňovat hodnoty měřítek v grafu. Pokud do reportu přidáme například průřez s kategoriemi obchodů a vybereme pouze jednu konkrétní kategorii, v grafu se změní hodnoty a s tím se změní také barvy jednotlivých sloupců, přesně podle podmínky nastavené v měřítku [Barvy sloupců].

Power BI - podmíněné formátování pomocí DAX výpočtu v měřítku 12

Uživatelé reportů tak mohou jednodušeji identifikovat čtvrtletí, ve kterých se prodejům dařilo lépe nebo hůře, v porovnání s průměrnými čtvrtletními prodeji v daném roce.

Shrnutí

V tomto příspěvku jsme mohli vidět ukázku dynamického nastavení barvy sloupců v grafu podle vlastního výpočtu v měřítku. V dialogovém okně pro nastavení podmíněného formátu se jedná o možnost nastavení barvy podle "Hodnoty pole". Nastavit podmíněný formát můžeme také na základě "Přechodu" nebo na základě "Pravidla". 

Výhodou nastavení podmíněného formátu na základě výpočtu v měřítku je jednoduchost, snadná upravitelnost a maximální kontrola nad definicí podmínek. Další výhodou tohoto přístupu je fakt, že měřítka, která používáme při definici podmínek v měřítku, které vrací barvy,  jsou již většinou součástí modelu, protože jsme si je vytvořili dříve pro zobrazení hodnot ve vizuálech. Z tohoto důvodu je již vytvoření dalšího měřítka, které vrací barvu na základě určitých podmínek, většinou jednoduchá úloha. Další příklady můžete najít na stránce DAX příklady nebo na stránce Power BI

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

Komentáře