Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W programie 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 danego kroku
Błąd na poziomie kroku uniemożliwia ładowanie zapytania i wyświetla składniki błędu w żółtym okienku.
- Przyczyna błędu: pierwsza sekcja przed dwukropkiem. W poprzednim przykładzie przyczyną błędu jest Expression.Error.
- Komunikat o błędzie: sekcja znajdująca się bezpośrednio po opisie przyczyny. W poprzednim przykładzie komunikat o błędzie to kolumna „Kolumna” tabeli nie została znaleziona.
- Szczegóły błędu: sekcja znajdująca się bezpośrednio po ciągu znaków 'Details:'. W poprzednim przykładzie szczegół błędu to Kolumna.
Usługa Power Query Online wyświetla nieco inne szczegóły. Szczegóły błędu to wciąż Column, ale komunikat o błędzie online zawiera również przyczynę błędu (Expression.Error) i kod błędu (10224).
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 Pokaż szczegóły , jeśli jest dostępny, aby wyświetlić więcej szczegółów na temat błędu.
Nie można odnaleźć źródła – Źródło danych: Nie znaleziono
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 element DataSource.NotFound , ponieważ w swoim ś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.
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.
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. Ta zmiana umożliwia uruchamianie 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.
Ten błąd występuje z różnych powodów, takich 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żliwia załadowania zapytania, ale wyświetla wartości błędów jako Błąd w komórce. Wybranie białej przestrzeni w komórce powoduje wyświetlenie panelu błędu poniżej podglądu danych.
Uwaga / Notatka
Narzędzia do profilowania danych mogą ułatwić identyfikowanie błędów na poziomie komórki dzięki funkcji oceny jakości kolumny. Aby uzyskać więcej informacji, zobacz Narzędzia profilowania danych.
Obsługa błędów na poziomie komórki
Jeśli napotkasz jakiekolwiek błędy na poziomie komórki, Power Query zapewnia zestaw funkcji do ich obsługi przez usunięcie, zastąpienie lub zachowanie błędów.
W następnych sekcjach podane przykłady używają 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.
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.
Wynik tej operacji daje poniższą tabelę.
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.
W oknie dialogowym Zastępowanie błędów wprowadź wartość 10 , ponieważ chcesz zastąpić wszystkie błędy wartością 10.
Wynik tej operacji daje poniższą tabelę.
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 takiej sytuacji błędy keep mogą być przydatne. 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.
Wynik tej operacji daje poniższą tabelę.
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 Power Query.
Błędy konwersji typu danych
Często wyzwalane podczas zmieniania typu danych kolumny w tabeli. Nie można przekonwertować niektórych wartości w kolumnie 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.
Możliwe rozwiązania: Po zidentyfikowaniu wiersza z błędem, można zmodyfikować źródło danych, aby odzwierciedlić poprawną wartość zamiast NA, albo zastosować operację Zastępowanie błędu, aby podać wartość dla każdej wartości NA, która powoduje 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.
Możliwe rozwiązania: przed utworzeniem tej kolumny niestandardowej zmień typ danych kolumny Sales na tekst.
Zagnieżdżone wartości wyświetlane jako błędy
Podczas pracy z danymi zawierającymi zagnieżdżone wartości ustrukturyzowane (takie jak tabele, listy lub rekordy) może wystąpić następujący błąd:
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 niemające prostych typów są automatycznie zamieniane na błędy.
- Gdy kolumna zdefiniowana za pomocą
Any
typu danych zawiera wartości nieskalarne, takie wartości są zgłaszane jako błędy podczas ładowania (np. w skoroszycie programu Excel lub modelu danych programu Power BI Desktop).
Możliwe rozwiązania:
- Usuń kolumnę zawierającą błąd lub ustaw dla niej typ danych inny niż
Any
. - 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).