Blog JSystems - uwalniamy wiedzę!

Szukaj

Power BI - Wizualizacje, interakcje i formatowanie raportu

Miesiące na osi wykresu Power BI w kolejności alfabetycznej - Sortuj według kolumny

W skrócie

  • Power BI układa nazwy miesięcy na osi wykresu i w macierzy alfabetycznie (Czerwiec, Grudzień, Kwiecień), bo kolumna z nazwą miesiąca ma typ Tekst, a tekst sortuje się według alfabetu, nie kalendarza.
  • Sortowanie miesięcy według kalendarza wymaga drugiej kolumny z numerem miesiąca, w której każdej nazwie odpowiada dokładnie jedna liczba. Kolumna rok-miesiąc albo data ma kilka wartości na jedną nazwę i Power BI ją odrzuca.
  • Zaznacz kolumnę z nazwą w panelu Dane, na karcie Narzędzia kolumn wybierz Sortuj według kolumny i kolumnę numeru miesiąca, a w samym wykresie ustaw sortowanie po osi rosnąco.

Czerwiec, Grudzień, Kwiecień, Lipiec, Listopad, Luty: w tej kolejności pojawiają się miesiące na osi wykresu albo w wierszach macierzy, gdy Power BI sortuje ich nazwy jak zwykły tekst. Sortowanie miesięcy naprawia jedno ustawienie, Sortuj według kolumny, robione raz dla całego modelu. Na modelu Nordvelli ustawiamy je krok po kroku, tłumaczymy komunikat o więcej niż jednej wartości i wyjaśniamy, dlaczego to samo dotyczy dni tygodnia.

Jak to wygląda w praktyce

Wykres liniowy z polami Rok, Kwartal i MiesiacNazwa z tabeli DimKalendarz na osi X, posortowany rosnąco po osi, pokazuje lata i kwartały po kolei, ale w kwartale Q1 2022 kolejność to Luty, Marzec, Styczeń, a w Q2 Czerwiec, Kwiecień, Maj. Tak wyglądał wykres w lekcji 8 kursu, zanim ustawiliśmy sortowanie kolumny. W macierzy z MiesiacNazwa w wierszach cały rok układa się od Czerwca do Września: Czerwiec, Grudzień, Kwiecień, Lipiec, Listopad, Luty, Maj, Marzec, Październik, Sierpień, Styczeń, Wrzesień. Dokładnie w tej kolejności silnik zwrócił nam 12 nazw miesięcy Nordvelli posortowanych jako tekst.

Gdy przy naprawie wybierzesz złą kolumnę sortowania, Power BI odrzuca ustawienie komunikatem: „Nie można posortować kolumny „MiesiacNazwa” według kolumny „RokMiesiac”. Nie może istnieć więcej niż jedna wartość w kolumnie „RokMiesiac” dla tej samej wartości w kolumnie „MiesiacNazwa”. Wybierz inną kolumnę na potrzeby sortowania lub zaktualizuj dane w kolumnie „RokMiesiac”.” Kolejność na osi zostaje wtedy alfabetyczna.

Dlaczego tak się dzieje

Kolumna MiesiacNazwa ma typ Tekst, a tekst Power BI porządkuje alfabetycznie. Dla silnika „Styczeń” to ciąg liter, a nie pierwszy miesiąc roku. Według dokumentacji Microsoft kolejność kalendarzową daje druga kolumna z numerem miesiąca, wskazana we właściwości sortowania kolumny z nazwą. Warunek jest jeden: obie kolumny mają tę samą szczegółowość, czyli każdej wartości sortowanej kolumny odpowiada dokładnie jedna wartość kolumny sortowania.

W DimKalendarz (1 826 wierszy, po jednym na każdy dzień lat 2022-2026) para MiesiacNazwa i Miesiac daje dokładnie 12 kombinacji, więc warunek jest spełniony. Para MiesiacNazwa i RokMiesiac daje już 60 kombinacji, bo „Styczeń” występuje w pięciu latach jako 2022-01, 2023-01 i kolejne. Para z kolumną Data ma 1 826 kombinacji. Dlatego dwie ostatnie kolumny kończą się komunikatem o więcej niż jednej wartości. Ustawienie należy do kolumny w modelu, a nie do wykresu, więc działa w każdej wizualizacji, która tej kolumny używa. Jak powinna wyglądać sama tabela kalendarza, opisujemy w poście o oznaczaniu tabeli dat w Power BI.

Co zrobić krok po kroku

  1. Sprawdź, czy w tabeli z nazwą miesiąca jest kolumna z jego numerem i czy ma typ liczbowy. W Nordvelli to Miesiac w DimKalendarz, liczba całkowita od 1 do 12. Według dokumentacji Microsoft częstą przeszkodą są numery miesięcy zapisane jako tekst. Tekst porównuje się znak po znaku, więc „10” trafia przed „2”: liczby 1, 2, 3, 10, 11 i 12 zapisane jako tekst silnik ułożył nam w kolejności 1, 10, 11, 12, 2, 3. Typ kolumny poprawisz w Power Query, o błędnie wykrytych typach piszemy w poście o wykrywaniu typu na podstawie pierwszych 200 wierszy.
  2. W panelu Dane rozwiń DimKalendarz i kliknij samą nazwę kolumny MiesiacNazwa, nie pole wyboru obok niej. Na wstążce pojawia się karta Narzędzia kolumn. Kliknij Sortuj według kolumny i z listy wybierz Miesiac. Od tej chwili każda wizualizacja z MiesiacNazwa układa miesiące według numeru.
  3. Sprawdź jeszcze, po czym jest posortowany sam wykres. Kliknij trzy kropki (Więcej opcji), najedź na Sortuj: przez i kliknij pole osi (w lekcji 8 była to pozycja Rok Kwartal MiesiacNazwa). Potem otwórz to samo podmenu jeszcze raz i kliknij Sortuj rosnąco. W lekcji 8 wykres liniowy zaraz po dodaniu wartości był posortowany według sumy sprzedaży malejąco, więc pokazywał ranking miesięcy zamiast trendu w czasie.
  4. Gdy Power BI pokaże komunikat o więcej niż jednej wartości, policz, ile kombinacji tworzy para kolumn. Na karcie Modelowanie kliknij Nowa tabela i wpisz formułę poniżej. Na Nordvelli dla RokMiesiac tabela ma 60 wierszy przy 12 nazwach miesięcy, a dla Miesiac dokładnie 12. Liczba wierszy równa liczbie nazw oznacza, że kolumna nadaje się do sortowania. Po sprawdzeniu usuń tabelę z modelu.
    Kontrola sortowania =
    SUMMARIZE(
        DimKalendarz,
        DimKalendarz[MiesiacNazwa],
        DimKalendarz[RokMiesiac]
    )
  5. Przejrzyj inne kolumny tekstowe z naturalną kolejnością. W modelu Nordvelli właściwość sortowania według innej kolumny ma w kalendarzu tylko MiesiacNazwa, więc DzienNazwa w wizualizacji ułoży dni tygodnia alfabetycznie. Para DzienNazwa i DzienTygodnia daje 7 kombinacji (Poniedziałek to 1, Niedziela to 7), więc ustaw dla niej Sortuj według kolumny tak samo jak dla miesięcy.
  6. Gdy edytujesz raport w usłudze Power BI albo nie możesz zmieniać modelu, według dokumentacji Microsoft posortujesz sam wykres: przeciągnij kolumnę z numerem miesiąca do obszaru etykietek narzędzi wykresu, a w menu Więcej opcji ustaw sortowanie osi według tego pola. Numer miesiąca pojawi się wtedy w domyślnej etykietce narzędzia. Dlaczego w raporcie podłączonym na żywo do modelu w usłudze nie dodasz kolumny, opisujemy w poście o połączeniu na żywo z modelem w usłudze.
Wstążka Narzędzia kolumn w Power BI z rozwiniętą listą Sortuj według kolumny i kursorem na kolumnie Miesiac
Karta Narzędzia kolumn dla zaznaczonej kolumny MiesiacNazwa. Lista Sortuj według kolumny otwarta, kursor na pozycji Miesiac.

Jak sprawdzić, że problem zniknął

Po ustawieniu sortowania wykres z lekcji 8 idzie po kalendarzu: Styczeń, Luty, Marzec w każdym kwartale, od 2022 do 2026, a macierz z MiesiacNazwa w wierszach zaczyna się od Stycznia. Dla 2025 pierwszy wiersz to Styczeń z 10 699 558,88 zł sprzedaży, ostatni Grudzień z 21 187 145,64 zł, najwyższym wynikiem roku. Gdy Grudzień nie jest na końcu, kolumna nie ma ustawionego sortowania albo wykres jest posortowany po wartości.

Sortowanie ustawiaj od razu po dodaniu tabeli kalendarza, dla każdej kolumny z nazwą okresu: miesiąca, dnia tygodnia, kwartału zapisanego słownie. Kolumny RokMiesiac (od 2022-01 do 2026-12) i Kwartal (Q1 do Q4) sortują się poprawnie bez tej właściwości, bo ich zapis (rok przed miesiącem, miesiąc z zerem wiodącym, kwartał jako litera Q i cyfra) daje tę samą kolejność alfabetyczną i kalendarzową. Według dokumentacji Microsoft po zmianach w modelu, na przykład po usunięciu kolumny sortowania ze źródła, ustawienie trzeba sprawdzić i w razie potrzeby nałożyć ponownie.

Źródła i sposób sprawdzenia

  • Microsoft Learn: Sort one column by another column in Power BI (sekcje Troubleshooting i Considerations) (źródło)
  • Sprawdzone zapytaniami DAX na modelu Nordvelli: kolejność alfabetyczna nazw miesięcy, liczba par kolumn kalendarza, właściwości sortowania kolumn i sprzedaż miesięcy 2025.

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

Jak posortować miesiące w Power BI według kalendarza?
Zaznacz kolumnę z nazwą miesiąca w panelu Dane, na karcie Narzędzia kolumn kliknij Sortuj według kolumny i wybierz kolumnę z numerem miesiąca od 1 do 12. Ustawienie należy do modelu, więc działa we wszystkich wizualizacjach. W wykresie ustaw jeszcze sortowanie po osi rosnąco w menu Więcej opcji.
Dlaczego Power BI sortuje miesiące alfabetycznie?
Nazwa miesiąca to tekst, a tekst Power BI porządkuje według alfabetu, więc Czerwiec trafia przed Styczeń. Silnik nie wie, że nazwy oznaczają kolejne miesiące, dopóki nie wskażesz mu kolumny z numerem miesiąca właściwością Sortuj według kolumny.
Co znaczy komunikat nie może istnieć więcej niż jedna wartość w kolumnie przy sortowaniu w Power BI?
Kolumna wybrana do sortowania ma kilka różnych wartości dla jednej wartości sortowanej kolumny. Kolumna rok-miesiąc ma dla nazwy Styczeń pięć wartości, po jednej na każdy rok, i Power BI nie wie, którą wziąć. Wybierz kolumnę z numerem miesiąca, w której każdej nazwie odpowiada jedna liczba.
Czy da się posortować miesiące w wykresie bez zmiany modelu Power BI?
Według dokumentacji Microsoft tak: przeciągnij kolumnę z numerem miesiąca do etykietek narzędzi wykresu i w menu Więcej opcji posortuj oś według tego pola. Przydaje się to przy edycji raportu w usłudze Power BI albo wtedy, gdy nie możesz zmieniać modelu. Numer miesiąca pojawi się wtedy w domyślnej etykietce narzędzia.

Komentarze (0)

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

Brak komentarzy...