Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Power Query w Excelu, Power BI i Fabric
DataFormat.Error przy dacie: nie możemy przeanalizować danych wejściowych jako wartości typu Date
Błąd DataFormat.Error przy typie Date w Power Query zgłasza komórka, której tekstu nie da się odczytać jako daty. Trafia na niego każdy, kto wczytuje eksport z systemu zapisującego daty po amerykańsku, z godziną albo z dopiskami w kolumnie dat. Pokazujemy, jak po polu Szczegóły rozpoznać przyczynę i jak ją naprawić, żeby w danych nie zostały daty zamienione po cichu.
Po kroku Zmieniono typ część komórek kolumny dat pokazuje Error. Kliknięcie w puste miejsce obok napisu wyświetla na dole okna komunikat:
DataFormat.Error: Nie możemy przeanalizować danych wejściowych dostarczonych jako wartość typu Date.
Szczegóły:
04/13/2026Angielski oryginał to DataFormat.Error: We couldn't parse the input provided as a Date value. W polu Szczegóły stoi dokładnie ten tekst, którego Power Query nie umiał odczytać, i z jego wyglądu poznasz przyczynę. 04/13/2026 to zapis amerykański (miesiąc, dzień, rok), 13.04.2026 14:30 to data z godziną, 46125 to numer seryjny daty z Excela zapisany jako tekst, a „brak” to opis zamiast daty.
Przy datach amerykańskich błąd zgłaszają tylko wiersze, w których dzień jest większy niż 12. W pozostałych Power Query zamienia dzień z miesiącem bez żadnego komunikatu: w naszym teście 03/04/2026 w polskich ustawieniach dało 3 kwietnia, a w zapisie amerykańskim to 4 marca. Komórki z błędem są więc tylko widoczną częścią problemu.
Zmiana typu kolumny na Data odczytuje tekst według ustawień regionalnych. Bez wskazanej kultury Power Query używa bieżących, w polskim Excelu polskich. Sprawdziliśmy w Excelu, jak w nich wypadają typowe zapisy:
Ustawienia regionalne działają w obie strony. Kultura en-US poprawnie odczyta 04/13/2026, ale na polskim zapisie 13.04.2026 zgłosi ten sam błąd. Kulturę wybierasz więc według tego, kto wyprodukował plik, a nie według tego, gdzie pracujesz. Zapis ISO, czyli rok, miesiąc i dzień rozdzielone myślnikami, przeszedł w obu kulturach, więc jeśli możesz wpłynąć na eksport, poproś o daty w tym formacie.
Osobny przypadek to data z godziną. Typ Data nie przyjmie tekstu z godziną, nawet w poprawnym formacie. Najpierw trzeba odczytać go jako Data/godzina, a dopiero potem obciąć do samej daty.
{"Data", type date}. Na ostatnim kroku kliknij ikonę typu w nagłówku kolumny, wybierz Używając ustawień regionalnych i w oknie Zmienianie typu za pomocą ustawień regionalnych wskaż typ Data oraz ustawienia regionalne Angielski (Stany Zjednoczone). W pasku formuły pojawi się = Table.TransformColumnTypes(Źródło, {{"Data", type date}}, "en-US"), gdzie w miejscu Źródło stoi nazwa poprzedniego kroku.= Date.From(Number.From([Data])).Date.FromText z jawnym formatem: = Date.FromText([Data], [Format="yyyyMMdd"]). Ten sam parametr przyjmuje kulturę, na przykład [Format="MM/dd/yyyy", Culture="en-US"].= try Date.FromText([Data]) otherwise null. Stosuj to wyłącznie do wartości, które nie są datami, i dopiero po obejrzeniu Szczegółów.
Włącz na karcie Widok pole Jakość kolumn i przełącz profilowanie na cały zestaw danych, klikając napis o pierwszych 1000 wierszach na pasku stanu. W kolumnie dat Błąd ma pokazywać 0%. Zero błędów nie wystarczy przy zapisie amerykańskim, dlatego zaznacz pole Profil kolumny i sprawdź wartość minimalną i maksymalną. Plik sprzedaży za kwiecień z datami z marca albo grudnia to sygnał, że część dni i miesięcy nadal jest zamieniona. Porównaj też kilka wierszy z dniem do 12 z oryginalnym plikiem.
Żeby błąd nie wrócił, wpisz kulturę źródła w kroku zmiany typu od pierwszego dnia pracy z nowym eksportem. Nie usuwaj błędów z kolumny dat poleceniem Usuń błędy: przy zapisie amerykańskim usunąłbyś tylko wiersze z dniem większym niż 12, a pozostałe zostałyby z zamienionym dniem i miesiącem.
Wróć do listy: 88 najczęstszych pytań i problemów związanych z Power Query
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...