Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Power BI - DAX liczy, ale nie to, czego oczekujesz
Pusta wartość zamiast zera w tabeli Power BI - jak pokazać 0 i kiedy nie warto
Nordvella Szczecin sprzedała w październiku 2024 za 342 050,22 zł, ale nie miała ani jednego zwrotu, więc z tabeli zwrotów sklepów po prostu znika. Odbiorca raportu Power BI chce widzieć przy takim sklepie 0 zamiast pustej komórki albo braku wiersza. Najszybsza poprawka, dopisanie + 0 do miary, potrafi jednak dołożyć do tabeli tysiące wierszy z samymi zerami. Pokazujemy na modelu Nordvelli, skąd bierze się BLANK, jak pokazać 0 tylko tam, gdzie niesie informację, i kiedy lepiej zostawić pustą komórkę.
Tabela sklepów Nordvelli z miarą [Liczba zwrotów], czyli COUNTROWS(FaktZwroty), z filtrem na październik 2024 ma 14 wierszy, a nie 15. Nordvella Szczecin sprzedała w tym miesiącu za 342 050,22 zł, ale nie miała ani jednego zwrotu, więc znika z tabeli. Karta z miarą, która nie ma wyniku, zamiast zera pokazuje dwie kreski.
Po dopisaniu + 0 Szczecin wraca z zerem, ale w tabeli sklepów i miesięcy liczba wierszy rośnie z 707 do 900, bo zera pojawiają się też w miesiącach 2026 roku, w których jeszcze nie było sprzedaży. Ten sam dopisek przy mierze sprzedaży zamienia tabelę sklepów i produktów z 2 stycznia 2025 z 81 wierszy w 450, a tabelę sklepów i pracowników z 96 wierszy w 3000.

Zobacz też: Szkolenie Zaawansowany DAX w Power BI
Miara bez danych zwraca w DAX wartość pustą (BLANK), a nie zero. Według dokumentacji Microsoft wizualizacja Power BI pomija wiersze i kolumny, w których miary mają wartości puste, i dlatego sklep bez zwrotów znika. Dopisek + 0 albo COALESCE([Liczba zwrotów], 0) zamienia BLANK na zero w każdej kombinacji pól z wierszy wizualizacji, także w takiej, która nie mogła mieć danych: w miesiącu, który jeszcze nie nastąpił, w produkcie, którego sklep danego dnia nie sprzedał, w parze sklepu i pracownika, który tam nie sprzedawał. Wizualizacja nie ma już czego pomijać i pokazuje wszystkie kombinacje: 15 sklepów razy 60 miesięcy kalendarza to 900 wierszy, 15 sklepów razy 30 produktów to 450, 15 sklepów razy 200 pracowników to 3000.
Zero i BLANK różnią się też w obliczeniach. Według dokumentacji AVERAGE i AVERAGEX pomijają puste wartości, a zera wliczają, więc średnia liczba zwrotów na sklep w październiku 2024 to 3,79 bez zer i 3,53 z zerami (53 zwroty na 14 albo 15 sklepów). Według dokumentacji operatorów DAX wszystkie porównania poza == traktują BLANK jak zero, więc warunek [Liczba zwrotów] = 0 jest prawdziwy także dla sklepu bez danych. Średnie szerzej opisujemy w poście o AVERAGE, AVERAGEX i średniej z miesięcy.
Zwroty z zerem =
IF (
ISBLANK ( [Łączna sprzedaż] ),
BLANK (),
[Liczba zwrotów] + 0
)0;-0;0, opisuje liczbę dodatnią, ujemną i zero, a BLANK nie jest żadną z nich. Na modelu Nordvelli FORMAT(BLANK(), "0;-0;0") zwraca pusty tekst, a FORMAT(0, "0;-0;0") zwraca 0. Pustej wartości nie zamienisz więc na zero formatowaniem.BLANK() = 0 daje prawdę, a BLANK() == 0 fałsz, więc IF([Liczba zwrotów] = 0, ...) obejmie też sklepy bez danych. W ilorazach decyduje trzeci argument DIVIDE: DIVIDE(1, 0) zwraca wartość pustą, a DIVIDE(1, 0, 0) zero. Więcej o dzieleniu piszemy w poście o dzieleniu przez zero w DAX.Policz wiersze wizualizacji przed poprawką i po niej, na przykład w widoku zapytań w języku DAX: COUNTROWS(SUMMARIZECOLUMNS(DimSklepy[Nazwa], DimKalendarz[RokMiesiac], "z", [Zwroty z zerem])) ma dać liczbę par sklepu i miesiąca ze sprzedażą (na modelu Nordvelli 795), a nie iloczyn wszystkich (900). Sumy nie mogą się zmienić: październik 2024 to 53 zwroty w każdej wersji miary. Sprawdź też średnie, bo to one zmieniają się po zamianie BLANK na zero.
Zostaw miary bazowe bez dopisku + 0, a zero dokładaj w osobnej mierze do tej wizualizacji, w której odbiorca naprawdę go potrzebuje, zawsze z warunkiem na istnienie danych. Gdy pusty wiersz bierze się z brakującego klucza w wymiarze, a nie z braku danych, przyczyna jest w modelu, o czym piszemy w poście o pustej wartości we fragmentatorze po relacji.
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...