Obsługa błędów w dodatku Power Query

W dodatku Power Query można napotkać dwa typy błędów:

  • Błędy na poziomie kroku
  • Błędy na poziomie komórki

Ten artykuł zawiera sugestie dotyczące naprawiania najbardziej typowych błędów, które można znaleźć na każdym poziomie, oraz opisuje przyczynę błędu, komunikat o błędzie i szczegóły błędu dla każdego z nich.

Błąd na poziomie kroku

Błąd na poziomie kroku uniemożliwia ładowanie zapytania i wyświetla składniki błędu w żółtym okienku.

Błąd na poziomie kroku.

  • Przyczyna błędu: pierwsza sekcja przed dwukropkiem. W powyższym przykładzie przyczyną błędu jest Expression.Error.
  • Komunikat o błędzie: sekcja bezpośrednio po przyczynie. W powyższym przykładzie komunikat o błędzie to Kolumna "Kolumna" tabeli nie została znaleziona.
  • Szczegóły błędu: sekcja bezpośrednio po ciągu Details: . W powyższym przykładzie szczegóły błędu to Kolumna.

Typowe błędy na poziomie kroku

We wszystkich przypadkach zalecamy zapoznanie się z przyczyną błędu, komunikatem o błędzie i szczegółami błędu, aby zrozumieć, co powoduje błąd. Możesz wybrać przycisk Przejdź do błędu , jeśli jest dostępny, aby wyświetlić pierwszy krok, w którym wystąpił błąd.

Przejdź do przycisku błędu.

Nie można odnaleźć źródła — DataSource.Error

Ten błąd występuje często, gdy źródło danych jest niedostępne dla użytkownika, użytkownik nie ma poprawnych poświadczeń dostępu do źródła danych lub źródło zostało przeniesione do innego miejsca.

Przykład: masz zapytanie z kafelka tekstowego znajdującego się na dysku D i utworzone przez użytkownika A. Użytkownik A udostępnia zapytanie użytkownikowi B, który nie ma dostępu do dysku D. Gdy ta osoba spróbuje wykonać zapytanie, otrzyma błąd DataSource.Error , ponieważ w swoim środowisku nie ma dysku D.

Błąd źródła danych nie może odnaleźć pliku, ponieważ w bieżącym środowisku nie ma dysku D.

Możliwe rozwiązania: możesz zmienić ścieżkę pliku tekstowego na ścieżkę, do której obaj użytkownicy mają dostęp. Jako użytkownik B możesz zmienić ścieżkę pliku na lokalną kopię tego samego pliku tekstowego. Jeśli przycisk Edytuj ustawienia jest dostępny w okienku błędu, możesz go wybrać i zmienić ścieżkę pliku.

Nie można odnaleźć kolumny tabeli

Ten błąd jest często wyzwalany, gdy krok wykonuje bezpośrednie odwołanie do nazwy kolumny, która nie istnieje w zapytaniu.

Przykład: masz zapytanie z pliku tekstowego, w którym jedna z nazw kolumn to Kolumna. W zapytaniu istnieje krok, który zmienia nazwę tej kolumny na Date. Nastąpiła jednak zmiana oryginalnego pliku tekstowego i nie ma już nagłówka kolumny o nazwie Kolumna , ponieważ została ręcznie zmieniona na Date. Dodatek Power Query nie może odnaleźć nagłówka kolumny o nazwie Kolumna, więc nie może zmienić nazwy żadnych kolumn. Zostanie wyświetlony błąd pokazany na poniższej ilustracji.

Błąd wyrażenia— nie znaleziono kolumny tabeli, ponieważ nazwa kolumny została ręcznie zmieniona.

Możliwe rozwiązania: w tym przypadku istnieje wiele rozwiązań, ale wszystkie te rozwiązania zależą od tego, co chcesz zrobić. W tym przykładzie, ponieważ prawidłowy nagłówek kolumny Date już pochodzi z pliku tekstowego, możesz usunąć krok, który zmienia nazwę kolumny. Pozwoli to na uruchomienie zapytania bez tego błędu.

Inne typowe błędy na poziomie kroku

Podczas łączenia lub scalania danych między wieloma źródłami danych może wystąpić błąd Formula.Firewall , taki jak pokazany na poniższej ilustracji.

Błąd zapory formuły, zapytanie odwołuje się do innych zapytań lub kroków, więc może nie uzyskać bezpośredniego dostępu do źródła danych.

Ten błąd może być spowodowany wieloma przyczynami, takimi jak poziomy prywatności danych między źródłami danych lub sposób łączenia lub scalania tych źródeł danych. Aby uzyskać więcej informacji na temat diagnozowania tego problemu, zobacz Zapora prywatności danych.

Błąd na poziomie komórki

Błąd na poziomie komórki nie uniemożliwi załadowania zapytania, ale wyświetla wartości błędów jako Błąd w komórce. Wybranie białego odstępu w komórce powoduje wyświetlenie okienka błędu poniżej podglądu danych.

Wyświetlenie komunikatu o błędzie przez wybranie białych znaków w komórce tabeli zawierającej błąd.

Uwaga

Narzędzia profilowania danych mogą ułatwić identyfikowanie błędów na poziomie komórki za pomocą funkcji jakości kolumny. Więcej informacji: Narzędzia profilowania danych

Obsługa błędów na poziomie komórki

Podczas napotkania błędów na poziomie komórki dodatek Power Query udostępnia zestaw funkcji, które umożliwiają ich obsługę przez usunięcie, zastąpienie lub zachowanie błędów.

W następnych sekcjach podane przykłady będą używać tego samego przykładowego zapytania co punkt początkowy. W tym zapytaniu masz kolumnę Sales zawierającą jedną komórkę z błędem spowodowanym błędem konwersji. Wartość wewnątrz tej komórki to NA, ale po przekształceniu tej kolumny na liczbę całkowitą dodatek Power Query nie może przekonwertować wartości NA na liczbę, dlatego zostanie wyświetlony następujący błąd.

Wyświetla błąd formatu danych, nie można przekonwertować na błąd typu danych w okienku błędu.

Usuwanie błędów

Aby usunąć wiersze z błędami w dodatku Power Query, najpierw wybierz kolumnę zawierającą błędy. Na karcie Narzędzia główne w grupie Zmniejsz wiersze wybierz pozycję Usuń wiersze. Z menu rozwijanego wybierz pozycję Usuń błędy.

Przycisk Usuń błędy na karcie Narzędzia główne.

Wynikiem tej operacji będzie tabela, której szukasz.

Tabela, która wcześniej zawierała pięć wierszy, zawiera teraz wiersz zawierający usunięty błąd, pozostawiając cztery wiersze w tabeli.

Zastępowanie błędów

Jeśli zamiast usuwać wiersze z błędami, możesz również zastąpić błędy stałą wartością. Aby zastąpić wiersze o błędach, najpierw wybierz kolumnę zawierającą błędy. Na karcie Przekształć w grupie Dowolna kolumna wybierz pozycję Zamień wartości. Z menu rozwijanego wybierz pozycję Zamień błędy.

Zastąp przycisk błędy na karcie Przekształć.

W oknie dialogowym Zastępowanie błędów wprowadź wartość 10, ponieważ chcesz zastąpić wszystkie błędy wartością 10.

Zamień błędy okno dialogowe.

Wynikiem tej operacji będzie tabela, której szukasz.

Tabela, w której trzeci wiersz zawierał błąd w kolumnie Sales (Sprzedaż) zawiera teraz błąd zastąpiony wartością 10.

Zachowaj błędy

Dodatek Power Query może służyć jako dobre narzędzie do inspekcji w celu zidentyfikowania wierszy z błędami, nawet jeśli nie naprawisz błędów. W tym miejscu mogą być przydatne błędy Keep. Aby zachować wiersze z błędami, najpierw wybierz kolumnę zawierającą błędy. Na karcie Narzędzia główne w grupie Zmniejsz wiersze wybierz pozycję Zachowaj wiersze. Z menu rozwijanego wybierz pozycję Zachowaj błędy.

Przycisk Zachowaj błędy na karcie Narzędzia główne.

Wynikiem tej operacji będzie tabela, której szukasz.

Końcowa tabela, która przechowuje tylko wiersze zawierające błędy.

Typowe błędy na poziomie komórki

Podobnie jak w przypadku dowolnego błędu na poziomie kroku, zalecamy przyjrzenie się bliżej przyczynom błędów, komunikatom o błędach i szczegółom błędu podanym na poziomie komórki, aby zrozumieć, co powoduje błędy. W poniższych sekcjach omówiono niektóre z najczęstszych błędów na poziomie komórki w dodatku Power Query.

Błędy konwersji typu danych

Często wyzwalane podczas zmieniania typu danych kolumny w tabeli. Niektórych wartości znalezionych w kolumnie nie można przekonwertować na żądany typ danych.

Przykład: masz zapytanie zawierające kolumnę o nazwie Sales(Sprzedaż). Jedna komórka w tej kolumnie ma wartość NA jako wartość komórki, a pozostałe mają liczby całkowite jako wartości. Decydujesz się przekonwertować typ danych kolumny z tekstu na liczbę całkowitą, ale komórka z wartością NA powoduje błąd.

Nie można przekonwertować na szczegóły błędu typu danych.

Możliwe rozwiązania: po zidentyfikowaniu wiersza z błędem można zmodyfikować źródło danych, aby odzwierciedlić poprawną wartość, a nie na, albo zastosować operację Zastępowanie błędu, aby podać wartość dla wszystkich wartości NA, które powodują błąd.

Błędy operacji

Podczas próby zastosowania operacji, która nie jest obsługiwana, na przykład pomnożenie wartości tekstowej przez wartość liczbową, występuje błąd.

Przykład: chcesz utworzyć kolumnę niestandardową dla zapytania, tworząc ciąg tekstowy zawierający frazę "Total Sales:" połączoną z wartością z kolumny Sales . Wystąpił błąd, ponieważ operacja łączenia obsługuje tylko kolumny tekstowe, a nie liczbowe.

Błąd wyrażenia w okienku błędu spowodowany próbą zastosowania operatora And do tekstu i liczby z kolumny Sales.

Możliwe rozwiązania: przed utworzeniem tej kolumny niestandardowej zmień typ danych kolumny Sales na tekst.

Tabela z kolumną sales przekonwertowaną z typu danych Liczba na typ danych Text i wynikową nową kolumnę zawierającą oba wyrażenia.

Zagnieżdżone wartości wyświetlane jako błędy

Podczas pracy z danymi, które zawierają zagnieżdżone wartości ustrukturyzowane (takie jak tabele, listy lub rekordy), czasami może wystąpić następujący błąd:

Błąd dotyczący zagnieżdżonych wartości wyzwalanych przez zaporę formuły.

Expression.Error: We cannot return a value of type {value} in this context

Details: In the past we would have returned a text value of {value}, but we now return this error. Please see https://go.microsoft.com/fwlink/?linkid=2099726 for more information.

Te błędy zwykle występują z dwóch powodów:

  • Gdy zapora prywatności danych buforuje źródło danych, zagnieżdżone wartości nieskalarne są automatycznie konwertowane na błędy.
  • Jeśli kolumna zdefiniowana za pomocą Any typu danych zawiera wartości nieskalarne, takie wartości będą zgłaszane jako błędy podczas ładowania (np. w skoroszycie w programie Excel lub modelu danych w programie Power BI Desktop).

Możliwe rozwiązania:

  • Usuń kolumnę zawierającą błąd lub ustaw typ danych innychAny niż dla takiej kolumny.
  • Zmień poziomy prywatności źródeł danych na taki, który umożliwia ich łączenie bez buforowania.
  • Spłaszczanie tabel przed wykonaniem scalania w celu wyeliminowania kolumn zawierających zagnieżdżone wartości ustrukturyzowane (takie jak tabela, rekord lub lista).