Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Power BI - Wizualizacje, interakcje i formatowanie raportu
Miesiące na osi wykresu Power BI w kolejności alfabetycznej - Sortuj według kolumny
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.
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.
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.
Zobacz też: Szkolenie Power BI - Desktop, DAX i Online + Copilot
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.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.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]
)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.
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.
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
Komentarze (0)
Brak komentarzy...