Blog JSystems - uwalniamy wiedzę!

Szukaj

Power Query w Excelu, Power BI i Fabric

DataFormat.Error przy dacie: nie możemy przeanalizować danych wejściowych jako wartości typu Date

W skrócie

  • DataFormat.Error przy zmianie typu na Date w Power Query zgłaszają komórki, których tekstu nie da się odczytać jako daty w bieżących ustawieniach regionalnych, na przykład 04/13/2026 w polskim Excelu.
  • Przyczyną bywa data zapisana w formacie innego kraju, data z godziną, numer seryjny daty zapisany jako tekst albo zwykły tekst, na przykład „brak”, w kolumnie dat.
  • Zmień typ opcją Używając ustawień regionalnych z kulturą źródła albo funkcją Date.FromText z formatem. Nie usuwaj błędów: przy zapisie amerykańskim część dat zamienia się po cichu.

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.

Jak to wygląda w praktyce

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/2026

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

Dlaczego tak się dzieje

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:

  • przechodzą: 13.04.2026, 13/04/2026 i zapis ISO 2026-04-13, a pusty tekst zamienia się na null,
  • dają błąd: 04/13/2026, data z godziną 13.04.2026 14:30, tekst 46125 i słowo „brak”.

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.

Jak to rozwiązać krok po kroku

  1. Kliknij na liście Zastosowane kroki krok tuż nad Zmieniono typ i obejrzyj surowy tekst w kolumnie dat. Potem wróć na ostatni krok, zaznacz kolumnę, na karcie Strona główna rozwiń Zachowaj wiersze, wybierz Zachowaj błędy i zbierz wartości z pola Szczegóły. Jeśli w którymś zapisie druga liczba jest większa niż 12, jak w 04/13/2026, cała kolumna jest w układzie miesiąc, dzień, rok. Krok Zachowano błędy usuń potem krzyżykiem.
  2. Przy dacie innego kraju kliknij krok Zmieniono typ i w pasku formuły usuń z listy parę kolumny dat, na przykład {"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.
  3. Przy dacie z godziną ustaw najpierw typ Data/godzina, a potem drugi raz typ Data. W oknie Zmień typ kolumny wybierz wtedy Dodaj nowy krok, a nie Zamień bieżącą: zamiana bieżącej konwersji próbowałaby odczytać tekst wprost jako datę i błąd by wrócił. W naszym teście ta para kroków dała z 13.04.2026 14:30 datę 13.04.2026. Zapis amerykański z godziną, na przykład 04/13/2026 2:30 PM, odczytasz jako Data/godzina przez Używając ustawień regionalnych z kulturą Angielski (Stany Zjednoczone).
  4. Liczba w rodzaju 46125 to numer seryjny daty z Excela. Zmień typ najpierw na Liczba całkowita, a potem, znowu przez Dodaj nowy krok, na Data. W naszym teście 46125 zamieniło się w 13.04.2026. W kolumnie niestandardowej to samo zrobi = Date.From(Number.From([Data])).
  5. Format nietypowy, na przykład 20260413 bez separatorów, odczytasz w kolumnie niestandardowej funkcją 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"].
  6. Słowo w rodzaju „brak” zamień na null przed zmianą typu poleceniem Zamienianie wartości z karty Strona główna albo zabezpiecz konwersję w kolumnie niestandardowej: = try Date.FromText([Data]) otherwise null. Stosuj to wyłącznie do wartości, które nie są datami, i dopiero po obejrzeniu Szczegółów.
Lista typów danych w Power Query: data, data i godzina, godzina, tekst oraz pozycja Używając ustawień regionalnych na końcu listy
Ikona przy nazwie kolumny otwiera listę typów, tu na kolumnie Wartość brutto. Ostatnia pozycja, Używając ustawień regionalnych, rozwiązuje problem dat i liczb zapisanych w formacie innego kraju.

Jak sprawdzić, że zadziałało

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

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

Najczęściej zadawane pytania

Dlaczego tylko część dat w kolumnie zgłasza błąd?
Tak wygląda kolumna z datami w układzie miesiąc, dzień, rok odczytywana w polskich ustawieniach. Błąd zgłaszają tylko daty z dniem większym niż 12, bo takiego miesiąca nie ma. Pozostałe Power Query odczytuje bez komunikatu, ale z zamienionym dniem i miesiącem, więc naprawa musi objąć całą kolumnę, a nie tylko wiersze z błędem.
Jak zamienić tekst z datą i godziną na samą datę?
Najpierw ustaw typ Data/godzina, a potem typ Data i w oknie Zmień typ kolumny wybierz Dodaj nowy krok. Bezpośrednia zmiana tekstu z godziną na typ Data kończy się błędem DataFormat.Error, a dwa kolejne kroki dają poprawną datę. Sprawdziliśmy to w polskim Excelu na wartości 13.04.2026 14:30.
Co oznacza liczba w rodzaju 46125 w kolumnie dat?
To numer seryjny daty, w którym Excel przechowuje daty, zapisany w pliku jako tekst. Typ Data nie przyjmie go wprost, więc zmień typ najpierw na Liczba całkowita, a potem na Data. Wartość 46125 to 13 kwietnia 2026 roku.
Czy mogę usunąć wiersze z błędem w kolumnie dat?
Tylko wtedy, gdy w Szczegółach widzisz wartości, które nie są datami, i wiesz, że te wiersze są zbędne. Jeśli błąd wynika z formatu innego kraju, usunięcie błędów zostawi w danych daty zamienione po cichu. Wtedy zmień typ z właściwymi ustawieniami regionalnymi.

Komentarze (0)

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

Brak komentarzy...