Blog JSystems - uwalniamy wiedzę!

Szukaj

Power BI - Wizualizacje, interakcje i formatowanie raportu

Kolory kategorii zmieniają się po filtrowaniu raportu Power BI

W skrócie

  • Kolory w Power BI zmieniają się, gdy ta sama marka czy kategoria ma inny kolor po wyborze we fragmentatorze albo na dwóch sąsiednich wykresach, choć nikt nie zmieniał formatowania.
  • Według dokumentacji Microsoft wartości z legendy dostają kolory motywu po kolei, w kolejności, w jakiej pojawiają się w wizualizacji. Filtr zmienia zestaw i kolejność wartości, więc zmienia też przydział kolorów.
  • Przypisz kolor każdej wartości w ustawieniach wykresu albo, pewniej, miarą DAX zwracającą kod koloru i formatowaniem warunkowym w stylu Wartość pola. Miara daje marce ten sam kolor przy każdym filtrze, w każdym wykresie, do którego ją podłączysz.

Legenda z kolorami marek działa jak skrót: odbiorca raportu szybko zapamiętuje, która marka ma który kolor. Dlatego tak myli raport, w którym kolory zmieniają się po filtrowaniu: po kliknięciu kategorii we fragmentatorze marka dostaje kolor, który przed chwilą miała inna, a na drugim wykresie ta sama marka ma jeszcze inny kolor. Wyjaśniamy, skąd Power BI bierze kolor serii i jak ustawić stały kolor dla każdej marki Nordvelli tak, żeby filtr go nie ruszał.

Jak to wygląda w praktyce

Na wykresie z polem Marka w obszarze Legenda każda marka ma swój kolor, a odbiorca szybko uczy się, że na przykład Zentaro ma zawsze ten sam kolor. Po wyborze kategorii we fragmentatorze albo przejściu na stronę z innym zestawem filtrów kolory mogą przestać się zgadzać: marka dostaje kolor, który przed chwilą miała inna, a legenda dwóch wykresów obok siebie mówi co innego.

Na modelu Nordvelli zestaw marek naprawdę zmienia się po filtrze. Bez filtra sprzedaje pięć marek: Auroneo, Bexoria, Kelvani, Nordvella i Zentaro. W kategorii Telefony zostaje sama Zentaro, w kategorii Komputery Bexoria i Kelvani, w AGD/RTV Auroneo i Bexoria. Zmienia się też kolejność według sprzedaży: w 2022 roku po Kelvani jest Bexoria, a w 2025 Zentaro. Kolejność czterech kategorii produktów jest za to taka sama w każdym roku i w każdym mieście (AGD/RTV, Komputery, Telefony, Akcesoria).

Dlaczego tak się dzieje

Według dokumentacji Microsoft, gdy wizualizacja ma serie, czyli pole w legendzie albo kilka miar w wartościach, Power BI nadaje im kolory w kolejności z listy kolorów danych motywu: pierwsza wartość dostaje pierwszy kolor, druga drugi i tak dalej. Pole w legendzie tworzy serię dynamiczną, której wartości mogą się zmieniać po filtrach i wyborach we fragmentatorach. Dokumentacja podaje przykład: region, który w jednym wykresie jest pierwszy, a w drugim drugi, ma na nich różne kolory.

Gdy wykres porządkuje marki alfabetycznie, Zentaro jest piąta i zgodnie z tą regułą dostaje w motywie Nordvella piąty kolor, #5D6D7E. Po filtrze Telefony zostaje sama, więc staje się pierwsza w kolejności. Motyw ustala więc tylko kolejność kolorów, a nie to, która marka dostanie który kolor, o czym piszemy w poście o motywie JSON, który nie zmienia kolorów. Według tego samego opisu seria statyczna, czyli kilka miar, zachowuje się podobnie: miary w kolejności Sprzedaż, Marża i Marża, Sprzedaż dają na dwóch wykresach różne kolory.

Co zrobić krok po kroku

  1. Sprawdź, które pole tworzy serię i jak zmienia się jego zestaw wartości. W Widoku zapytań w języku DAX uruchom zapytanie, które dla każdej kategorii wypisuje marki ze sprzedażą. Na modelu Nordvelli wynik to: Komputery: Bexoria, Kelvani, Akcesoria: Bexoria, Kelvani, Nordvella, Telefony: Zentaro, AGD/RTV: Auroneo, Bexoria. Każdy taki wybór we fragmentatorze zmienia listę serii na wykresie.
    EVALUATE
    SUMMARIZECOLUMNS (
        DimProdukty[Kategoria],
        "marki", CONCATENATEX (
            FILTER ( VALUES ( DimProdukty[Marka] ), [Łączna sprzedaż] > 0 ),
            DimProdukty[Marka], ", ", DimProdukty[Marka], ASC
        )
    )
  2. Gdy wykres ma legendę, przypisz kolor każdej wartości ręcznie. Zaznacz wykres, otwórz Formatuj element wizualny, na karcie Wizualizacja rozwiń sekcję z kolorem (na wykresie słupkowym Słupki, na kołowym Fragmenty), wybierz z listy markę i nadaj jej kolor z palety albo wpisz kod przez Więcej kolorów w polu Szesnastkowo. Według dokumentacji takie przypisanie zostaje przy wartości także po zmianie typu wykresu, ale dotyczy tylko tej jednej wizualizacji, więc powtórz je na każdym wykresie z markami.
  3. Pewniejszym sposobem jest miara, która zwraca kod koloru dla każdej marki. Kliknij prawym przyciskiem tabelę FaktSprzedaz w panelu Dane, wybierz Nowa miara i wpisz formułę. Sprawdziliśmy ją na modelu Nordvelli: Zentaro dostaje #5D6D7E bez filtra i przy filtrze Telefony, Kelvani #8A8D91 także przy filtrze Komputery, a wiersz bez jednej marki dostaje szary #D5D8DC.
    Kolor marki =
    SWITCH (
        SELECTEDVALUE ( DimProdukty[Marka] ),
        "Auroneo", "#E02D33",
        "Bexoria", "#1a1a1a",
        "Kelvani", "#8A8D91",
        "Nordvella", "#C0392B",
        "Zentaro", "#5D6D7E",
        "#D5D8DC"
    )
  4. Podłącz miarę do wykresu, na którym marka jest na osi, na przykład wykresu słupkowego z polem Marka w obszarze Oś Y. W sekcji Słupki kliknij przycisk fx obok koloru, w oknie zmień Styl formatowania na Wartość pola i w polu Na jakim polu powinniśmy się opierać? wybierz Kolor marki. Według dokumentacji nie każda wizualizacja ma tę opcję, na przykład kolor linii na wykresie liniowym. Inne powody, dla których formatowanie warunkowe nie działa, zbieramy w poście o formatowaniu warunkowym w Power BI.
  5. Gdy kolory mają podążać za motywem, miara może zwracać zamiast kodu nazwę koloru motywu. Dokumentacja Microsoft pokazuje to na kolorach stanu good, neutral i bad: po zmianie motywu wykres sam przejmuje nowe odcienie, a przypisanie do wartości się nie zmienia.
  6. Przy kilku miarach w jednym wykresie trzymaj tę samą kolejność miar we wszystkich wizualizacjach raportu, na przykład zawsze Łączna sprzedaż przed Łączna marża. Kolejność pól w obszarze wartości decyduje o tym, który kolor dostanie każda miara.
Paleta Więcej kolorów w Power BI z kodem #E02D33 w polu Szesnastkowo i czerwonymi słupkami na wykresie
Ręczne ustawienie koloru słupków przez Więcej kolorów: pole Szesnastkowo z kodem #E02D33, obok składowe 224, 45, 51. Słupki od razu zmieniły kolor na czerwony.

Jak sprawdzić, że problem zniknął

Kliknij we fragmentatorze kategorię Telefony, potem Komputery, a na końcu wyczyść wybór. Przy kolorach z miary Zentaro zostaje w kolorze #5D6D7E, a Kelvani w #8A8D91 niezależnie od wyboru, bo kolor zależy od nazwy marki, a nie od miejsca na liście. Porównaj też dwa wykresy z markami na różnych stronach: na obu każda marka powinna mieć ten sam kolor. Ręczne przypisanie cofniesz przez Przywróć domyślne w sekcji kolorów, a wykres znów użyje kolorów po kolei.

Trzymaj jedną miarę koloru na cały raport i dopisuj do niej nową markę od razu, gdy pojawi się w danych, bo do tego czasu dostanie kolor domyślny z ostatniej pozycji formuły. Wykres kołowy udziału kategorii i zmianę koloru słupków pokazujemy krok po kroku w lekcji o wizualizacjach podstawowych.

Źródła i sposób sprawdzenia

  • Microsoft Learn: Use report themes in Power BI Desktop (Colors used by dynamic and static series in visuals) (źródło)
  • Microsoft Learn: Tips and tricks for color formatting in Power BI (źródło)
  • Microsoft Learn: SWITCH function (DAX) (źródło)
  • Sprawdzone zapytaniami DAX na modelu Nordvelli: marki w każdej kategorii, kolejność marek i kategorii według sprzedaży w latach i miastach, miara koloru przy różnych filtrach.

Zachowanie programu sprawdziliśmy w Power BI Desktop 2.157 (wydanie z sierpnia 2026 r.) z polskim interfejsem, a przykłady na modelu sieci Nordvella z bezpłatnego kursu Power BI. Microsoft wydaje nową wersję Power BI Desktop co miesiąc, więc nazwy przycisków i limity usługi mogą się zmieniać. Aktualne wartości podaje dokumentacja Microsoft Learn.

Wróć do listy: 131 najczęstszych pytań i problemów związanych z Power BI

Najczęściej zadawane pytania

Dlaczego kolory w legendzie Power BI zmieniają się po filtrowaniu?
Według dokumentacji Microsoft wartości z legendy dostają kolory motywu po kolei, w kolejności, w jakiej pojawiają się w wizualizacji. Filtr albo fragmentator zmienia zestaw wartości, więc wartość może przesunąć się na inne miejsce i dostać inny kolor. Na modelu Nordvelli po wyborze kategorii Telefony z pięciu marek zostaje tylko Zentaro.
Jak ustawić stały kolor dla kategorii w Power BI?
Przypisz kolor każdej wartości w ustawieniach wykresu, w sekcji z kolorem, albo napisz miarę, która przez SWITCH i SELECTEDVALUE zwraca kod koloru dla każdej wartości. Miarę podłączasz przyciskiem fx przy kolorze, ze stylem formatowania Wartość pola, i wtedy kolor zależy od nazwy, a nie od kolejności.
Czy motyw JSON przypisuje kolor do konkretnej kategorii w Power BI?
Nie. Lista kolorów danych w motywie określa tylko kolejność: pierwsza seria w wizualizacji dostaje pierwszy kolor, druga drugi. Stały kolor dla konkretnej marki czy kategorii ustawiasz w samym wykresie albo miarą koloru.
Dlaczego ta sama kategoria ma inny kolor na dwóch wykresach Power BI?
Każdy wykres przydziela kolory według kolejności swoich wartości, a ręczne przypisanie koloru dotyczy tylko jednej wizualizacji. Gdy na jednym wykresie marka jest pierwsza, a na drugim druga, dostaje różne kolory. Jedna miara koloru podłączona do wszystkich wykresów z markami daje każdej marce ten sam kolor na każdym z nich.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...