Podmienené formátovanie v Power BI

Ak máte v tabuľke v reporte väčšie množstvo čísel, tak by bolo dobré, keby sa vám v tom vedelo ľahšie orientovať, ktorá hodnota je dobrá a ktorá zlá. Na to slúži v Power BI podmienené formátovanie. V Exceli je prítomné podmienené formátovanie už dávno, ale v Power BI bolo do novembra 2017 prítomné len veľmi jednoduché formátovanie podľa farebných škál, použiteľné len vo veľmi jednoduchých prípadoch. V novembri 2017 ale pridali do Power BI podmienené formátovanie na základe pravidiel. A to je už použiteľné omnoho viac. Poďme sa teda naň pozrieť.

Aktualizácia 8. 5. 2018: Májová aktualizácia konečne pridala možnosť formátovať zadané pole podľa iného poľa alebo merítka v modeli. Viac informácii v článku nižšie.

Podmienené formátovanie v Power BI je spravené podobne ako v Exceli – čiže na základe pravidiel typu „ak je hodnota od – do, použi túto farbu„. Toto podmienené formátovanie sa dá zapnúť na text aj na pozadie bunky. A funguje v tabuľkách aj v maticiach. . Do podmienok môžete zadávať nielen konštantné hodnoty, ale aj iné polia a merítka z dátového modelu. Čo znamená, že už je to takmer tak dokonalé ako Excel, a môžete formátovať pomocou ľubovoľného pravidla, keď si vyrobíte vhodné merítka v modeli 🙂

Majme teda takúto tabuľku, kde je zobrazený Obrat, Náklady a Zisk podľa rokov:

Tu by sme potrebovali vyfarbovať čísla v stĺpci s merítkom Obrat, konkrétne farbu pozadia buniek, podľa dvoch pravidiel:

  1. ak je Obrat od 5 do 7 miliónov, tak ho zafarbi na žlto,
  2. ak je Obrat vyšší ako 7 miliónov, tak ho zafarbi na zeleno.

Funkcionalita sa zapína v nastaveniach tabuľky kliknutím na malú šípočku vedľa daného políčka, a zvolením položky Podmienené formátovanie -> Farebné škály pozadia:

Otvorí sa okno pre konfiguráciu podmieneného formátovania, v ktorom treba zakliknúť políčko Vyfarbiť podľa pravidiel:

Následne sa zobrazí prvé pravidlo, a kliknutím na tlačidlo Pridať ich viete pridať viac:

Po stlačení tlačidla OK bude vyzerať výsledok napr. takto:

A ak by ste namiesto toho potrebovali zmeniť farbu písma, alebo pridať ukazovatele priebehu (po anglicky progress bary), tak použite to isté menu Podmienené formátovanie, ale vyberte buď položku Farebné škály písma, alebo položku Údajové pruhy.

Dajte si však pozor na jednu vec – Power BI Desktop vždy vyhodnocuje VŠETKY pravidlá odhora smerom dole. Takže ak jedna bunka spĺňa viacero podmienok, tak vo výsledku sa na ňu bude aplikovať posledné pravidlo.

A geniálna možnosť je možnosť formátovať podľa iného poľa alebo merítka:

Podmienené formátovanie sa dá aj odstrániť, ak by ste ho už nechceli. Robí sa to tak, že v nastaveniach tabuľky kliknete na malú šípočku vedľa daného políčka, zvolíte položku Odstrániť podmienené formátovanie, a vyberiete, či chcete odstrániť všetko podmienené formátovanie z tohto políčka, alebo len jeden z tých troch druhov podmieneného formátovania:

Takto jednoducho teda funguje podmienené formátovanie v Power BI. Jeho výhodou je to, že vám sprehľadní a urýchli vyhodnocovanie väčšieho množstva údajov na obrazovke tak. Aby ste ich nemuseli nutne všetky čítať, a aby ste okamžite uvideli, ktorým hodnotám máte venovať pozornosť. A takéto vylepšenie vždy poteší 🙂

6 komentárov k “Podmienené formátovanie v Power BI

  • 5. mája 2021 at 13:12
    Permalink

    Dobrý deň,

    Potreboval by som farebne formátovať popisy dát na čiarovom grafe. Jednoducho ak je hodnota vyššia ako 0 zelená, ak je pod 0 červená. Zatiaľ používam iba riešenie ktoré je opísané na tomto odkaze:
    https://community.powerbi.com/t5/Desktop/Conditional-Formatting-Data-Labels/m-p/918688
    Nič lepšie som zatiaľ nenašiel. Ale možno som slabo hľadal. Viete o nejakej priamej ceste alebo možnosti?

    S pozdravom
    Andrej Turan

    • 5. mája 2021 at 13:30
      Permalink

      Dobrý deň,

      V rámci toho, čo je zabudované v štandardných vizuáloch Power BI, to pôjde asi len takým workaroundom na aký odkazujete, pretože pre popisy dát to ešte stále nepodporuje podmienené formátovanie. Alebo potom skúsiť popátrať v rozširujúcich vizuáloch, či niektorý z nich nebude mať túto možnosť.

      S pozdravom
      Michal Chmelár

  • 11. augusta 2021 at 16:28
    Permalink

    Dobrý deň,

    Potreboval by som poradiť ako sa „popasovať“ s podmieneným formátovaním textových údajov v tabuľke a aj matici ak údaje -stĺpec podľa ktorých sa má formátovať „STATUS“ (nezačaté-červená/rozpracované-oranžová/hotové-zelená) nie je prvý v poradí.Vyfarbiť by sa mal celý riadok a nie len daná bunka s podmienkou.

    Podľa toho čo som zistil na webe MO a vašej knihe treba na to napísať vzorec/kód. Viete mi s tým poradiť?

    Ďakujem
    Robo

    • 11. augusta 2021 at 16:56
      Permalink

      Dobrý deň,

      Power BI nevie podfarbovať celý riadok naraz, ani v tabuľke, ani v matici/kontingenčke. Dá sa to nastaviť iba nepriamo. Napríklad nastavením podmieneného formátovania na rovnakú podmienku pre všetky položky použité v tabuľke/kontingenčke, čo nie je zrovna ideálne riešenie. Lepšie riešenie je, spraviť to úpravou techniky použitej v tomto článku, kde na podmienené formátovanie využijete vodorovnú verziu 100%-ného grafu, ktorý natiahnete na celú šírku tabuľky/kontingenčky umiestnenej nad ním.

      S pozdravom,
      Michal

  • 4. októbra 2021 at 9:18
    Permalink

    Dobrý deň,
    potreboval by som poradiť ako v modeli Power Bi podmienene vyfarbiť dátumové polia v tabuľke v s porovnaním s aktuálnym dnešným dátum.

    S pozdravom
    Miro

    • 4. októbra 2021 at 11:10
      Permalink

      Dobrý deň,
      Vytvorte si merítko, ktoré bude vracať hexadecimálny kód farby v závislosti od podmienky. Ak je dátumové pole v oblasti hodnôt, tak vzorec bude takýto (ak je pole menšie ako „dnes“, tak vráť červenú farbu, inak vráť zelenú farbu):

      IF([Pole] <= TODAY(); "#FF0000"; "#00FF00") A ak je pole v oblasti riadkov/stĺpcov/hlavičiek vizuálu (nie je zosumarizované), tak vzorec bude: IF(SELECTEDVALUE(Tabulka[Pole]) <= TODAY(); "#FF0000"; "#00FF00") Potom nastavte podmienené formátovanie v kontingenčke, a pri jeho nastavovaní vyberte v roletke "Formátovať podľa" možnosť "Hodnota poľa", a tam vyberte toto merítko. Potom by to malo zafungovať. S pozdravom, Michal

Komentáre sú uzavreté.