Ako vyfarbiť graf podľa výberu v druhom grafe v reportoch Power BI

Reportovacie možnosti Power BI sú niekedy skvelé. A niekedy potrebujete nielen správne vypočítať a zobraziť svoje ukazovatele, ale aj správne nastaviť report tak, aby zobrazované grafy a ich vzhľad mali logiku. Preto sa teraz pozrieme, ako vyfarbiť graf podľa výberu v druhom grafe v reportoch Power BI.

Ukážeme si to opäť na našom vzorovom súbore Power BI. V tomto prípade vytvoríme 2 grafy.

Prvý graf vytvoríme ako koláčový graf, a vyskladáme ho takto:

  1. do oblasti hodnôt dáme merítko Obrat z tabuľky Objednávky,
  2. do oblasti osi grafu dáme stĺpec Krajina z tabuľky Regióny.

Druhý graf vytvoríme ako predvolený stĺpcový graf, a vyskladáme ho takto:

  1. do oblasti hodnôt dáme merítko Obrat z tabuľky Objednávky,
  2. do oblasti osi grafu dáme stĺpec CalendarYear z tabuľky Čas.

Grafy uložíme vedľa seba, a budú vyzerať takto:

Zadanie

Keď teraz kliknete do prvého grafu, napr. na výsek pre Austráliu, tak ten vyfiltruje druhý graf, tak ako by sme štandardne očakávali:

Z technického hľadiska je to v poriadku, ale niektorým užívateľom to logicky nevyhovuje. Chceli by zobrazovať v druhom grafe len vyfiltrované hodnoty, čo nie je problém upraviť cez nastavenie interakcií medzi grafmi. Čo je však dôležitejšie, tak užívatelia od toho momentu budú očakávať, že ten druhý graf bude používať rovnakú farbu, na akú ste klikli v prvom grafe. A to už bude možné spraviť niekoľkými spôsobmi.

Na prvý pohľad by sa dalo použiť podmienené formátovanie v grafoch. To má však viacero nevýhod. Jednak by ste si museli zistiť presné kódy použitých farieb v reporte, a pri zmene motívu reportu by ste to celé museli odznova prerobiť. Plus podmienené formátovanie v zložitejších grafoch nefunguje.

Existuje však aj jednoduchšia možnosť. A netreba na ňu použiť ani DAX. Stačí použiť základné reportovacie možnosti grafov, a dostaneme náš výsledok.

Ako vyfarbiť graf podľa výberu v druhom grafe

Najprv kliknite na druhý graf. Využijeme to, že stĺpce v grafe sa dajú “rozrezať” podľa ďalšieho poľa, keď dáme toto pole do oblasti Legenda. Zároveň budú pre jednotlivé kúsky stĺpcov v grafe použité rovnaké farby, aké sú použité v palete motívu reportu – čiže tie, čo vidíte v koláčovom grafe, dokonca aj v rovnakom poradí. A keď chceme dosiahnuť hore uvedený efekt vyfarbovania, tak do oblasti Legenda potrebujeme dať rovnaké pole, aké je použité na osi v prvom grafe.

Dáme teda do oblasti Legenda v druhom grafe, pole Krajina z tabuľky Regióny:

…a výsledok bude vyzerať takto:

V ďalšom kroku potrebujeme upraviť interakcie medzi grafmi (cez menu Formát => “Upraviť interakcie”). Potrebujeme ich upraviť tak, aby po kliknutí na prvý graf, sa v druhom grafe zobrazovali iba vyfiltrované hodnoty. Po nastavení interakcií sa navonok nič nezmení. Keď ale teraz klikneme v prvom grafe na výsek pre Austráliu, tak nám druhý graf zobrazí už iba vyfiltrované hodnoty pre obraty za jednotlivé roky v Austrálii. Navyše vyfarbené rovnakou farbou, na akú sme klikli v prvom grafe:

Ako vyfarbiť graf podľa výberu v Power BI

Takto to bude fungovať nielen pre Austráliu, ale aj pre všetky krajiny, na ktoré kliknete v koláčovom grafe:

Viacnásobný výber

A aby to nebolo málo, tak keď vyberiete v prvom grafe viacero krajín, tak aj v druhom sa zobrazia pruhy za tie isté krajiny s rovnakými farbami:

Ako vyfarbiť graf podľa výberu v Power BI - viacero bodov

Prípadne, aby to malo ešte väčšiu logiku na prvý pohľad, môžete zmeniť druhý graf na skladaný stĺpcový graf:

Ako vyfarbiť graf podľa výberu v Power BI - skladaný graf

Toto navyše funguje nielen v týchto 2 typoch grafov, ale aj vo väčšine ostatných grafov v Power BI. A to všetko len s využitím základných reportovacích vlastností grafov. No nie je to nádhera? 🙂

Takto teda viete vyfarbiť graf podľa výberu v druhom grafe v reportoch Power BI. Na prvý pohľad možno zbytočná funkcionalita, ale na druhý pohľad celkom logická a praktická funkcionalita. A aj o tom je reporting v Power BI. Nielen vedieť, ako veci vypočítať a zobraziť, ale aj ako spraviť report použiteľný a logický 😉