Blog JSystems - uwalniamy wiedzę!

Szukaj

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 Query
Poprzednia lekcja: Lekcja 8: Źródła danych: CSV, JSON, API, SharePoint i bazy danych
Następna lekcja: Lekcja 10: Power Query w Power BI Desktop

Błędy w Power Query i jak je naprawiać

W Power Query spotkasz dwa rodzaje błędów i warto je odróżniać, bo naprawia się je inaczej.

  • Błąd kroku zatrzymuje całe zapytanie. Zamiast danych widzisz żółty pasek z komunikatem, a przy kroku na liście Zastosowane kroki pojawia się ostrzeżenie. Taki błąd widziałeś w lekcji o czyszczeniu danych, przy kolumnie Column1: krok odwoływał się do kolumny, której nie ma.
  • Błąd w komórce dotyczy pojedynczych wartości. Zapytanie działa, ale w niektórych komórkach zamiast wartości stoi Error. Najczęstsza przyczyna to tekst w kolumnie, której nadano typ liczbowy albo datę.

Wykryj błędy w komórkach

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:

Jakość kolumn w Power Query: kolumna Budżet z czerwonym paskiem i błędem poniżej 1 procenta wartości
Czerwony fragment paska nad kolumną Budżet i wartość Błąd < 1% pokazują, że gdzieś w kolumnie jest błąd, nawet jeśli nie widać go na pierwszym ekranie podglądu.

Ż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:

Menu Zachowaj wiersze w Power Query: zachowywanie pierwszych wierszy, ostatnich, zakresu, duplikatów i błędów
Zachowaj wiersze > Zachowaj błędy zostawia tylko wiersze z błędami. To najszybszy sposób na znalezienie przyczyny w dużej tabeli.
Wiersz z błędem Power Query w kolumnie Budżet i komunikat DataFormat.Error: Nie możemy przekonwertować na typ Number, szczegóły: do ustalenia
Jedyny wiersz z błędem: Nordvella Online, grudzień. Komunikat DataFormat.Error: Nie możemy przekonwertować na typ Number, a w szczegółach wartość, która zawiodła: do ustalenia.

Krok Zachowano błędy służy tylko do diagnozy, więc po znalezieniu przyczyny usuń go krzyżykiem.

Zamień albo usuń błędy

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.

Okno Zamienianie błędów w Power Query z wartością null w polu Wartość
Okno Zamienianie błędów. Wpisanie null zostawia komórkę pustą, wpisanie 0 zamieniłoby błąd na zero.
Kolumna Budżet w Power Query po zamianie błędów na null: jakość kolumny 99 procent prawidłowych i poniżej 1 procenta pustych
Po zamianie: zero błędów, a wartość pusta pojawiła się w miejscu błędu. Formuła kroku: 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.

Najczęstsze komunikaty i co oznaczają

KomunikatCo się stałoJak naprawić
Expression.Error: Nie można znaleźć kolumny „X" w tabelikrok odwołuje się do kolumny, która zmieniła nazwę albo zniknęła ze źródłaznajdź krok z błędem, popraw nazwę albo usuń automatyczny krok zmiany typu i ustaw typy ponownie
DataFormat.Error: Nie możemy przekonwertować na typ Numberw kolumnie liczbowej jest tekst albo liczba w innym formacie regionalnymzachowaj 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 forbiddenwygasło hasło, zmieniło się konto albo brak uprawnień do źródłaUstawienia źródeł danych > Edytuj uprawnienia, ponowne zalogowanie
Formula.Firewalljedno 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 ryzykownyustaw poziomy prywatności źródeł albo rozdziel pobieranie danych i ich łączenie na osobne zapytania
zapytanie liczy się bardzo długobrak składania zapytań, wielokrotne odczytywanie tego samego źródła, za duży plikfiltruj i usuwaj kolumny na początku, sprawdź składanie zapytań, wyłącz ładowanie zapytań pomocniczych

Poziomy prywatności i błąd Formula.Firewall

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 danych i zależności zapytań

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).

Profilowanie kolumn w Power Query: jakość kolumn, rozkład wartości i profil kolumny Sklep z liczbą wartości i dystrybucją sklepów
Wszystkie trzy widoki profilowania włączone, zaznaczona kolumna Sklep. Statystyki pokazują 1000 wierszy, a na pasku stanu widać informację, że profil liczony jest na pierwszych 1000 wierszach.

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.

Pasek stanu edytora Power Query z wyborem zakresu profilowania: pierwsze 1000 wierszy albo cały zestaw danych
Przełącznik zakresu profilowania na pasku stanu edytora.

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.

Zależności zapytań

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.

Okno Zależności zapytań w Power Query: folder i pliki źródłowe, zapytania pomocnicze, Sprzedaz_miesieczna, tProdukty, tSklepy, tBudzet i zestawienie
Mapa zależności naszego skoroszytu. Strzałki prowadzą od źródeł (folder i dwa skoroszyty) przez zapytania pomocnicze do zestawienia realizacji budżetu. Zrzut zrobiliśmy, zanim w lekcji o ładowaniu ustawiliśmy zapytania pomocnicze jako samo połączenie, dlatego większość z nich ma jeszcze status Załadowano 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.

Zależności zapytań w Power Query z podświetloną funkcją Przekształć plik i zapytaniami, które z niej korzystają
Po kliknięciu funkcji Przekształć plik podświetlają się zapytania, które z niej korzystają: Sprzedaz_miesieczna i zestawienie Sprzedaz_wg_sklepu_i_miesiaca.
Masz konkretny problem z Power Query? Zajrzyj do listy 88 najczęstszych pytań i problemów związanych z Power Query: komunikaty błędów, typy danych, scalanie i odświeżanie, każdy z rozwiązaniem krok po kroku.
Baner szkolenia Microsoft Excel - Power Query w JSystems z edytorem Power Query na ekranie laptopa

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

✕Powiększony zrzut ekranu z kursu Power Query

Najczęściej zadawane pytania

Co oznacza błąd Expression.Error: Nie można znaleźć kolumny?
Krok odwołuje się do kolumny, której w danych już nie ma, najczęściej po zmianie nazwy kolumny w źródle albo po zmianie nagłówków. Kliknij krok z błędem, sprawdź nazwę kolumny w formule i popraw ją albo usuń automatyczny krok zmiany typu i ustaw typy ponownie.
Jak znaleźć wiersze z błędami w Power Query?
Włącz na karcie Widok jakość kolumn, a czerwony pasek pokaże procent błędów. Kliknij prawym przyciskiem nagłówek kolumny i wybierz Zachowaj błędy, żeby zobaczyć tylko wiersze z błędem, a kliknięcie komórki z błędem pokaże jego dokładną treść.
Co to jest błąd Formula.Firewall w Power Query?
To ochrona przed przesłaniem danych z jednego źródła do drugiego, gdy źródła mają różne poziomy prywatności albo zapytanie łączy je w ryzykowny sposób. Pomaga ustawienie poziomów prywatności źródeł w Ustawieniach źródeł danych albo rozdzielenie pobierania i łączenia danych na osobne zapytania.
Dlaczego profil kolumny pokazuje inne liczby niż cała tabela?
Domyślnie profilowanie kolumn liczy statystyki tylko na pierwszym tysiącu wierszy. Kliknij napis na pasku stanu i przełącz na Profilowanie kolumn w oparciu o cały zestaw danych, wtedy liczba wartości odrębnych i błędów obejmie wszystkie wiersze zapytania.

Komentarze (0)

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

Brak komentarzy...