Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
W skrócieW Power Query są dwa rodzaje błędów: błąd kroku zatrzymuje całe zapytanie, a błąd w komórce dotyczy pojedynczych wartości. Pokazujemy, jak je odróżnić i naprawić, czym jest Formula.Firewall i poziomy prywatności oraz jak profilowanie kolumn i widok zależności pomagają znaleźć problem.
Ta lekcja jest częścią bezpłatnego kursu Power Query - czternastu lekcji od pierwszego zapytania w Excelu do przepływu danych w Microsoft Fabric i pracy z Copilotem. To lekcja 9 z 14.
Spis lekcji bezpłatnego kursu Power QueryW Power Query spotkasz dwa rodzaje błędów i warto je odróżniać, bo naprawia się je inaczej.
Zróbmy błąd celowo. W pliku budżetu w komórce z budżetem sklepu internetowego na grudzień ktoś wpisał „do ustalenia". Po odświeżeniu kolumna Budżet w zapytaniu tBudzet ma typ liczbowy, więc ten tekst zamienia się w błąd. Włącz Widok > Jakość kolumn, a pod nagłówkiem każdej kolumny zobaczysz udział wartości prawidłowych, błędnych i pustych:

Żeby zobaczyć wyłącznie wiersze z błędami, zaznacz kolumnę i na karcie Strona główna wybierz Zachowaj wiersze > Zachowaj błędy. Kliknięcie w puste miejsce komórki z napisem Error (nie w sam napis) pokaże na dole pełny komunikat:


Krok Zachowano błędy służy tylko do diagnozy, więc po znalezieniu przyczyny usuń go krzyżykiem.
Co dalej, zależy od tego, co błąd oznacza w danych. Jeśli „do ustalenia" znaczy „brak budżetu", zamień błąd na pustą wartość: kliknij prawym przyciskiem nagłówek kolumny i wybierz Zamień błędy..., a w polu Wartość wpisz null.

null zostawia komórkę pustą, wpisanie 0 zamieniłoby błąd na zero.
Table.ReplaceErrorValues(#"Zmieniono typ1", {{"Budżet", null}}).Uważaj na odruchowe zamienianie błędów na zero. Budżet równy zero zmieni realizację budżetu w dzielenie przez zero, a średnie i sumy będą zaniżone bez żadnego śladu. Pusta wartość jest uczciwsza: mówi „nie wiadomo". Trzecia opcja, Usuń wiersze > Usuń błędy, wyrzuca całe wiersze z błędami i nadaje się tylko wtedy, gdy wiesz, że to śmieci, a nie brakujące dane.
| Komunikat | Co się stało | Jak naprawić |
|---|---|---|
| Expression.Error: Nie można znaleźć kolumny „X" w tabeli | krok odwołuje się do kolumny, która zmieniła nazwę albo zniknęła ze źródła | znajdź krok z błędem, popraw nazwę albo usuń automatyczny krok zmiany typu i ustaw typy ponownie |
| DataFormat.Error: Nie możemy przekonwertować na typ Number | w kolumnie liczbowej jest tekst albo liczba w innym formacie regionalnym | zachowaj błędy, znajdź wartość, popraw źródło albo zmień typ z ustawieniami regionalnymi |
| DataSource.Error (nie można znaleźć pliku lub folderu) | plik źródłowy przeniesiono albo zmieniono nazwę | popraw ścieżkę w kroku Źródło, w Ustawieniach źródeł danych (Zmień źródło) albo w parametrze |
| błąd poświadczeń, Access to the resource is forbidden | wygasło hasło, zmieniło się konto albo brak uprawnień do źródła | Ustawienia źródeł danych > Edytuj uprawnienia, ponowne zalogowanie |
| Formula.Firewall | jedno zapytanie łączy dane ze źródeł o różnych poziomach prywatności albo odwołuje się do innego zapytania w sposób, który Power Query uznał za ryzykowny | ustaw poziomy prywatności źródeł albo rozdziel pobieranie danych i ich łączenie na osobne zapytania |
| zapytanie liczy się bardzo długo | brak składania zapytań, wielokrotne odczytywanie tego samego źródła, za duży plik | filtruj i usuwaj kolumny na początku, sprawdź składanie zapytań, wyłącz ładowanie zapytań pomocniczych |
Power Query pilnuje, żeby dane z jednego źródła nie wyciekły do drugiego, na przykład żeby wartości z poufnego pliku firmowego nie trafiły jako parametr do zapytania wysyłanego do publicznego serwisu internetowego. Każde źródło ma poziom prywatności: Publiczne, Organizacyjne albo Prywatne. Jeśli łączysz źródła o różnych poziomach w jednym kroku, Power Query może odmówić wykonania i zgłosić błąd Formula.Firewall.
Poziomy ustawiasz w Ustawieniach źródeł danych (w Excelu: Dane > Pobierz dane > Ustawienia źródeł danych, w Power BI: Narzędzia główne > Przekształć dane > Ustawienia źródła danych), przyciskiem Edytuj uprawnienia. Opcja ignorowania poziomów prywatności istnieje w ustawieniach pliku, ale włączaj ją świadomie i tylko wtedy, gdy wszystkie źródła są Twoje. Okna z Power BI pokazujemy w lekcji o Power BI.
Profilowanie to wbudowana kontrola jakości. Na karcie Widok masz trzy pola: Jakość kolumn (udział prawidłowych, błędnych i pustych wartości), Rozkład kolumn (liczba wartości odrębnych i unikatowych z wykresem) oraz Profil kolumny (statystyki i rozkład wartości zaznaczonej kolumny na dole okna).

Domyślnie profil liczy się na pierwszych 1000 wierszach. To pułapka: błąd w wierszu numer 5000 nie pojawi się w statystykach. Kliknij napis Profilowanie kolumn w oparciu o następującą liczbę pierwszych wierszy: 1000 na pasku stanu i przełącz na Profilowanie kolumn w oparciu o cały zestaw danych.

Po przełączeniu statystyki obejmują wszystkie 9250 wierszy: kolumna Sklep ma dokładnie 15 wartości odrębnych (czyli przycinanie i wielkość liter zadziałały), Nr paragonu ma 9250 wartości odrębnych (czyli duplikaty zniknęły), a Data ma 120 dni. To szybki dowód, że czyszczenie zrobiło swoje.
Profil kolumny pokazuje też wartości minimalne i maksymalne. Przy kolumnach liczbowych to najprostszy test na wartości odstające: ujemna ilość albo cena sto razy wyższa od reszty od razu rzucą się w oczy.
Przy kilkunastu zapytaniach łatwo stracić orientację, co z czego korzysta. Widok > Zależności zapytań rysuje mapę: źródła (folder, pliki), zapytania pomocnicze, zapytania końcowe i informację, które z nich są załadowane do arkusza.

Kliknięcie zapytania podświetla zapytania, które z niego korzystają. Zanim zmienisz zapytanie bazowe, sprawdź tu, co jeszcze od niego zależy, bo zmiana nazwy kolumny w jednym miejscu potrafi wywołać błąd trzy zapytania dalej.

Poprzednia lekcja
Lekcja 8: Źródła danych: CSV, JSON, API, SharePoint i bazy danychNastępna lekcja
Lekcja 10: Power Query w Power BI Desktop
Szkolenie Microsoft Excel - Power Query --> Dwa dni warsztatów z Excela: pobieranie danych z plików, folderów, SharePointa i baz SQL, ich czyszczenie i łączenie w Power Query, praca w języku M, a na koniec model danych i oparta na nim tabela przestawna. Prowadzi Sebastian Stasiak.
To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...