W tym poście wyjaśniono, jak to naprawić?DataFormat.Error: Nie mogliśmy przekonwertować na liczbę?. Praca z danymi wZapytanie o moc, czy wPrzewyższaćLubPowerBI, może usprawnić analizę i raportowanie. Jednak błędy konwersji typów danych są powszechną frustracją, z którą boryka się wielu użytkowników, szczególnie w przypadku niespójnych formatów.
Niezależnie od tego, czy są to niedopasowane ograniczniki, mieszane typy danych czy ustawienia regionalne, problemy mogą powodować błędną interpretację danych w programie Power Query, co prowadzi do błędu konwersji o treści:
DataFormat.Error: Nie mogliśmy przekonwertować na liczbę. Szczegóły: [error_details]
W tym poście zbadamy główne przyczyny błędu i przedstawimy praktyczne rozwiązania umożliwiające jego rozwiązanie.
Napraw błąd DataFormat.Error: Nie mogliśmy przekonwertować na liczbę
Aby naprawićDataFormat.Error, nie mogliśmy przekonwertować na liczbę, podczas pracy z danymi wZapytanie o moc, czy wPrzewyższaćLubPowerBIskorzystaj z tych rozwiązań:
- Usuń automatyczną opcję „Zmień typ?” krok
- Odfiltruj wartości nienumeryczne
- Oczyść i standaryzuj dane przed konwersją typu
- Ręcznie ustaw ograniczniki i ustawienia regionalne
- Popraw separatory dziesiętne i tysiące
Zobaczmy to szczegółowo.
1] Usuń automatyczną opcję „Zmień typ?” krok
Power Query często automatycznie dodaje opcję „Zmień typ”? krok po załadowaniu danych, aby spróbować przypisać typy danych do kolumn na podstawie pierwszych 1000 wierszy. Jeśli Twoje dane zawierają niespójne typy, np. liczby zmieszane z tekstem w tej samej kolumnie, ten automatyczny krok może spowodować błąd „DataFormat.Error: Nie mogliśmy przekonwertować na liczbę”.
Aby to naprawić, przejdź doDane(w programie Excel) i wybierzPobierz dane > Uruchom edytor Power Query(w Power BI kliknijPrzekształć dane).
Po prawej stronie okna edytora Power Query zobaczysz ikonęStosowane krokiszkło. Jeśli istnieje krok zwany ?Zmieniony typ?, dodatek Power Query automatycznie przypisał typy danych. KliknijXobok kroku, aby go usunąć. Spowoduje to, że dodatek Power Query nie będzie podejmował prób automatycznych konwersji.
Po usunięciu ?Zmienionego typu? kroku, ręcznie ustaw typ danych w każdej kolumnie, aby upewnić się, że jest poprawny.
2] Odfiltruj wartości nienumeryczne
Kolumny zawierające zarówno wartości tekstowe, jak i liczbowe (np. ?ABC 123?) mogą spowodować, że dodatek Power Query podejmie próbę przekonwertowania wszystkiego na liczbę, co doprowadzi do powyższego błędu. Aby to naprawić, możesz zrobić kilka rzeczy:
- Zmień typ danych kolumny na „Tekst”, użyj opcjiZamień wartościopcję poprawienia problematycznego wpisu, a następnie przywrócenia typu danych na ?Liczba dziesiętna?.
- Skorzystaj zPodziel kolumnęcecha do. Następnie zastosuj ?Numer? typ danych do kolumny numerycznej i ?Tekst? wpisz do drugiego.
- Możesz także odfiltrować wiersze zawierające wartości inne niż liczbowe (które nie powinny się tam znajdować) przed konwersją kolumny na typ danych Liczba.
Po odfiltrowaniu wartości nieliczbowych możesz bezpiecznie zmienić typ danych oryginalnej kolumny.
3] Oczyść i standaryzuj dane przed konwersją typu
Dane skopiowane ze stron internetowych lub innych źródeł mogą zawierać spacje nierozdzielające lub symbole, takie jak ?&? Lub ?,? które mylą Power Query podczas próby konwersji lub scalania kolumn.
ZastosujCZYSTYLubPRZYCINAĆfunkcja zPrzekształcaćmenu umożliwiające usunięcie tych znaków (funkcja TRIM usuwa dodatkowe spacje z tekstu, pozostawiając jedynie pojedyncze spacje między wyrazami, funkcja CLEAN usuwa wszystkie znaki niedrukowalne i jest szczególnie przydatna do czyszczenia danych importowanych ze źródeł zewnętrznych, gdzie mogą znajdować się ukryte znaki).
Po zastosowaniu tych funkcji spróbuj ponownie ustawić typ danych kolumny.
4] Ręcznie ustaw ograniczniki i ustawienia regionalne
Jeśli Twoje dane obejmują ustawienia regionalne, upewnij się, że dodatek Power Query używa poprawnych ograniczników i ustawień regionalnych. Na przykład, jeśli pracujesz z danymi europejskimi, w których jako separatory dziesiętne używane są przecinki, ręcznie ustaw ustawienia regionalne danych, przechodząc doPlik > Opcje > Opcje zapytania > Ustawienia regionalnei dostosowanieWidowniaaby dopasować źródło danych.
Jeśli jest to pojedyncza kolumna, użyj metodyZmień typ > Używanie ustawień regionalnychopcja zapewniająca prawidłową konwersję typów danych przy zastosowaniu odpowiednich ustawień regionalnych.
Podobnie w przypadku plików CSV sprawdź, czy dane używają przecinków lub średników jako ograniczników i ręcznie dostosuj to podczas importu.
5] Popraw separatory dziesiętne i tysiące
Na koniec, jeśli dodatek Power Query nie konwertuje liczb z powodu niedopasowanych przecinków dziesiętnych i separatorów tysięcy, użyj opcji Zamień wartości, aby zamienić niewłaściwy separator (np. zmienić ?.? na ?,? w przypadku danych europejskich), aby dopasować go do oczekiwanego formatu.
To wszystko!
Czytać: .
Jak rozwiązać błąd DataFormat, którego nie mogliśmy przekonwertować na liczbę?
Upewnij się, że kolumny, z którymi pracujesz, są poprawnie sformatowane jako ?Tekst? lub jako ?Numer?. Kiedy napotkasz „DataFormat.Error: Nie mogliśmy” przekonwertować na liczbę, spójrz na „Szczegóły”. część komunikatu o błędzie. Często podkreśla to wartość lub konkretny znak, którego dodatek Power Query nie może zinterpretować jako liczby. Jeśli kolumna zawiera zarówno tekst, jak i liczby, podziel ją na osobne kolumny, a następnie zastosuj właściwy typ danych do kolumny liczbowej.
Dlaczego Excel nie pozwala mi na konwersję na liczbę?
Program Excel może nie pozwolić na konwersję liczb przechowywanych jako tekst na liczby, jeśli komórki są sformatowane jako ?Tekst? lub jeśli zawierają niewidoczne znaki, takie jak spacje nierozdzielające lub symbole specjalne. Jeśli którekolwiek z dotkniętych komórek zostaną scalone, program Excel może ograniczyć niektóre operacje, takie jak konwersja liczb. Rozłącz komórki przed próbą konwersji.
Przeczytaj dalej: .