Ошибка power query dataformat error

Файлы к уроку:

  • Для спонсоров Boosty
  • Для спонсоров VK

Ссылки:

  • Страница курса
  • Плейлист YouTube
  • Плейлист ВК

Описание

Мы собираемся импортировать таблицу с этой страницы. Когда мы пытаемся изменить тип данных для столбцов с датой, то возвращается столбец с ошибкой DateFormat.Error.

Решение

Если не получается преобразовать столбец с текстом в дату, то значит в строке присутствуют лишние символы.

С помощь функции Text.Length мы можем убедиться, что длина строки намного больше, чем ожидается. Мы видим 10 символов, но функция возвращает 15.

С помощью функции Text.Start извлечем 1 символ сначала строки. Потом получим код этого символа с помощью функции Character.ToNumber. Получаем 8206.

Далее воспользуемся функционалом замены подстроки и исправляем получившуюся формулу:

Table.ReplaceValue(
      get_table, 
      Character.FromNumber(8206), 
      "", 
      Replacer.ReplaceText, 
      {
         "Дата начала купонного периода", 
         "Дата выплаты купона", 
         "Дата фиксации списка держателей"
      }
   )

Примененные функции

  • Text.Length
  • Text.Start
  • Character.ToNumber
  • Web.Page
  • Web.Contents
  • Table.SelectRows
  • Table.ReplaceValue
  • Character.FromNumber
  • Replacer.ReplaceText
  • Table.TransformColumnTypes

Код

let
   source = Web.Page(
      Web.Contents(
         "https://www.moex.com/ru/issue.aspx?board=TQCB&code=RU000A102036#/bond_4"
      )
   ), 
   get_table = Table.SelectRows(
      source, 
      each ([ClassName] = "coupon-payment-schedule__table")
   ){0}[Data], 
   cols_replace = Table.ReplaceValue(
      get_table, 
      Character.FromNumber(8206), 
      "", 
      Replacer.ReplaceText, 
      {
         "Дата начала купонного периода", 
         "Дата выплаты купона", 
         "Дата фиксации списка держателей"
      }
   ), 
   cols_types = Table.TransformColumnTypes(
      cols_replace, 
      {
         {"Дата начала купонного периода", type date}, 
         {"Дата выплаты купона", type date}, 
         {"Дата фиксации списка держателей", type date}
      }
   )
in
   cols_types

Этот урок входит в курс Работа с ошибками в Power Query

Номер урока Урок Описание
1 Power Query Ошибки №1. Измененный тип, Неверная фильтрация в UI Почему возникает ошибка Expression.Error Столбец таблицы не найден? Одна из причин — шаг Измененный тип.
Почему в вашей итоговой таблицы не все данные, которые должны там оказаться? Вероятно вы совершили ошибку неверной фильтрации в пользовательском интерфейсе.
2 Power Query Ошибки №2. Фиксированная ширина столбца Excel В этом уроке вы узнаете как отключить автоматическое определение ширины столбцов таблицы Excel при обновлении запроса Power Query.
3 Power Query Ошибки №3. Formula Firewall, запрос ссылается на… Вы работаете в Power Query, но при попытке обновить все возникает ошибка Formula Firewall, запрос ссылается на… Что делать? Как исправить?
4 Power Query Ошибки №4. Доступ к веб-содержимому В этом уроке вы узнаете как избавиться от надоедливого окна доступ к веб-содержимому.
5 Power Query Ошибки №5. Количество столбцов CSV При импорте CSV получается неверное количество столбцов.
6 Power Query Ошибки №6. Не получается изменить тип данных (DataFormat.Error) При попытке изменить тип данных с текстового на дату возникает ошибка DataFormat.Error.
7 Power Query Ошибки №7. Разные имена листов В этом уроке мы решим проблему, когда в ваших источниках нужные вам данные находятся всегда на листах с разными именами.
8 Power Query Ошибки №8. Разные имена листов 2 В этом уроке мы другими способами решим проблему, когда в ваших источниках нужные вам данные находятся всегда на листах с разными именами.
9 Power Query Ошибки №9. Разные имена столбцов, Table.TransformColumnNames В этом уроке мы разберем проблему, когда нам присылают файлы, в которых всегда столбцы названы по-разному.
10 Power Query Ошибки №10. Как развернуть все столбцы В этой задаче мы научимся разворачивать все столбцы табличного столбца не перечисляя каждый из них хардкодом.
11 Power Query Ошибки №11. Подключиться к последнему файлу В этом уроке мы научимся подключаться к самому свежему файлу из нужной нам папки с нужным названием.
12 Power Query Ошибки №12. Консолидация и MissingField.Type Бывает вы ходите выполнить добавление таблиц друг под другом с предварительной обработкой, но получаете ошибку Expression.Error: Столбец таблицы не найден.
13 Power Query Ошибки №13. Удалить пустые столбцы Как без хардкода автоматически удалить пустые столбцы в Power Query, которые есть в импортируемой таблицы. Разберем 2 способа. Один из них прост до безобразия, а для второго понадобится функция Table.Profile.
14 Power Query Ошибки №14. Удалить лишние пробелы В этом уроке мы разберем еще 1 способ удалить лишние пробелы в текстовом столбце Power Query. Для этого мы повторим и изучим несколько новых функций.
Text.SplitAny
List.Select
Character.FromNumber
Text.Combine
15 Power Query Ошибки №15. Плохо структурированный TXT Как быть, если текстовый файл разбивается на столбцы неправильно?
16 Power Query Ошибки №16. При округлении не совпадает общая сумма Разберем ошибку, которая возникает при необходимости разбить число на определенные доли, а результаты округлить до двух знаков после запятой. В такой ситуации может получиться, что сумма слагаемых не будет равняться исходному числу.
17 Power Query Ошибки №17. Удаление дубликатов, Подводные камни Table. Distinct Что может пойти не так при использовании функции удаления дубликатов.
18 Power Query Ошибки №18. Удаление дубликатов 2, Подводные камни Table. Distinct Что может пойти не так при использовании функции удаления дубликатов. Другое решение данной проблемы.
19 Power Query Ошибки №19. Неверная разбивка на столбцы При импорте данных из CSV или TXT разбивка на столбцы происходит неправильно.
20 Power Query Ошибки №20. Пустая таблица при импорте Excel (XLSX, XLS) Вы пытаетесь подключиться к книге Excel, но импортируется пустая таблица.
21 Power Query Ошибки №21. Подключение к PostgreSQL, Установка драйвера Вы пытаетесь подключиться к PostgreSQL и получаете ошибку «Перед использование этого соединителя необходимо установить один или несколько дополнительных компонентов»
 

Xat

Пользователь

Сообщений: 169
Регистрация: 16.01.2018

#1

15.10.2019 16:02:07

Приветствую! Сделал слияние таблиц по одному столбцу, в Power Query. При подключении сводной таблицы к данному запросу выдает ошибку:

Цитата
DataFormat.Error: Не удалось преобразовать в число

Сохранил в запросе строки ошибок получил следующие:

Цитата
DataFormat.Error: Не удалось преобразовать в число.
Сведения:
   (пусто)

Проверил исходники, на наличие символов, ничего не обнаружил. Сводная успешно подключается к запросом по отдельности, но при слиянии начинает выдавать ошибку. Пробовал заменить «пустоту» на «-«, результатов не дало, ошибка осталась прежней.
Принцип слияния:

Скрытый текст

Исходный файл, много весит, не могу загрузить(  Пробовал хоть как то изобразить в файле примере, но ошибку не выдает.
Подскажите пожалуйста в чем может быть причина. Спасибо!

Изменено: Xat15.10.2019 16:08:04

 

Dark1589

Пользователь

Сообщений: 487
Регистрация: 22.11.2017

Xat, где-то текст попал в числовой столбец. Сам запрос получается выгрузить на лист?

 

Xat

Пользователь

Сообщений: 169
Регистрация: 16.01.2018

Dark1589, Нет, тоже ругается. При слиянии, я разворачиваю только два текстовых столбца.( без столбца артикул) По факту числовых столбцов не прибавляется

Изменено: Xat15.10.2019 16:11:45

 

Xat,  запрос ругается на формат данных, говорит, не удалось преобразовать в число, почему бы не дать ему, что он хочет?  :)  Вы меняете пустоту на «-«, замените лучше на null или 0.

 

Dark1589

Пользователь

Сообщений: 487
Регистрация: 22.11.2017

Xat, в запросе слияния попробуйте убрать шаг определения типа данных и покопайтесь в фильтре. Возможно косячное значение будет как раз внизу или вверху списка в одном из столбцов

 

Xat

Пользователь

Сообщений: 169
Регистрация: 16.01.2018

Dark1589,Тип данных не меняет(шаг отсутствует). В фильтре , в самом низу , где обычно загрузить еще данные, светится эта же ошибка((
Я правильно понимаю, чтобы заменить пустоту, я в запросе выставляю только то, на что необходимо  заменить,? или в PQ пустота как то называется ?

Изменено: Xat15.10.2019 16:25:55

 

PooHkrd

Пользователь

Сообщений: 6602
Регистрация: 22.02.2017

Excel x64 О365 / 2016 / Online / Power BI

#7

15.10.2019 16:26:31

Цитата
Xat написал:
DataFormat.Error: Не удалось преобразовать в число.Сведения:    (пусто)

Это значит у вас имеются столбцы с числами, и одновременно пустыми ячейками, но ячейки эти не совсем пустые, а в них имеется так называемый нулевой текст, в Экселе это выглядит как =»». Перед присвоением типов столбцам такие пустые значения нужно заменить на null кодом типа такого:

Код
let
    Source = Table.FromColumns( {{null, "", null, ""}} ),
    ReplacedValue = Table.ReplaceValue(Source,"",null,Replacer.ReplaceValue,Table.ColumnNames(Source))
in
    ReplacedValue

меняет во всех столбцах нулевой текст на null

Скрытый текст

Вот горшок пустой, он предмет простой…

 

Xat

Пользователь

Сообщений: 169
Регистрация: 16.01.2018

#8

15.10.2019 17:00:38

Aleksei_Zhigulin, PooHkrd, Выделил все столбцы , и заменил пустоту на «null», результатов не дало((

Цитата
Dark1589 написал:
Сам запрос получается выгрузить на лист

Он выгружает частично , 15(всего их намного больше) строк , я проверил в запросе что после этих строк в запросе , ничего подозрительного не увидел

Изменено: Xat15.10.2019 17:03:38

 

Dark1589

Пользователь

Сообщений: 487
Регистрация: 22.11.2017

Xat, у вас в итоге 3 столбца получается? Артикул (числовой) и 2 текстовых?

 

Xat

Пользователь

Сообщений: 169
Регистрация: 16.01.2018

#10

15.10.2019 17:10:31

Dark1 589, Получается, старый столбец артикул(столбец в исх таблице)  остается, подгружаются два текстовых ( два крайних правых) Всего 14.

Скрытый текст

Изменено: Xat15.10.2019 17:11:39

 

Dark1589

Пользователь

Сообщений: 487
Регистрация: 22.11.2017

Xat, картинка не грузится. Формат столбца артикул в исходном запросе числовой? Если да, то попробуйте поменять на текст (в т.ч. в исходных запросах). Возможно какой-то артикул 532623-Б (например) и вызывает ошибку

 

PooHkrd

Пользователь

Сообщений: 6602
Регистрация: 22.02.2017

Excel x64 О365 / 2016 / Online / Power BI

Xat, не можете показать данные, покажите хотя бы коды всех запросов, которые используются в книге.
Еще попробуйте выгрузить каждый из запросов по отдельности в таблицу на лист, и посмотрите будет ли он при выгрузке показывать что в ней есть ошибки. Тогда тыкнете в это сообщение и вам сформируется запрос показывающий эти ошибки.

Вот горшок пустой, он предмет простой…

 

Xat

Пользователь

Сообщений: 169
Регистрация: 16.01.2018

#13

17.10.2019 11:24:17

Dark1589, PooHkrd,Большое спасибо)Теперь буду знать как проверять запросы, хоть сводная и не ругалась при подключении по отдельности, там были ошибки. Нашел в чем была ошибка, действительно в столбце «арт» попал текст, но я пытался исправить это в последнем шаге » изменить тип» , а надо было в самом первом. Так как с самого начало там где был текст в столбце, тянулась «error», и соответственно ни как не исправлялась в нужный арт.

Изменено: Xat17.10.2019 11:24:38

Just like any other language, Power Query has its own different types of errors, one of them is DataFormat Error.

Dataformat errors in Power Query are mostly data type errors and do not prevent you from loading data to Power BI, instead the cells will be loaded as blank. The screenshot below shows 3 errors for 78 records when the data is loaded to Power BI.

To audit the error or get more details, do the following:

  1.  Click on View errors from above to go back to Power Query Editor
  2. In Power Query Editor-> Select View tab -> Check Column Quality

For this example, UnitsInStock has 3% error for all rows in that column.

3. Click on Kept Errors under Applied Steps to see only rows with errors, the Kept Errors step is automatically added when you click on View errors from step 1.

Below screenshot show 100% error for the 3 rows.

4. To see details of the error, select the error as seeing below:

For this example, the error occurs because the column data type is Number, but 3 rows in the column has Text values, Power Query return error because it cannot convert the Text values to Numbers.

DataFormat.Error: We couldn’t convert to Number

5. To audit the error, create a custom column using the try expression, from Add column -> Custom Column -> type the expression below. A new Record column will be created.

6. Click on Expand -> Select Error

7. Click Expand again -> Click OK

You will see the Reason, Message and Detail of the error. You can load the error details to Power BI and create an Audit report if needed.

Also, you can use this report to make changes to the affected values at Data source level and reload to Power BI.

8. To replace the errors in Power Query from Advanced Editor, add a line of code to the MQuery with the value to replace with.

For this example, I am replacing all errors with 0. Optionally, you can replace the errors by right clicking the column, then select Replace Error.

Note: Those new values from Power Query will not be updated to your source data.

9. Click on Enable Load to load the data to Power BI if its not enabled by default, right click on the query from the left and select Enable load.

10. Click Close and Apply

The data will now load and apply all changes successfully without errors.

Happy Auditing! 🙂

May 2023 Community Newsletter and Upcoming Events

Welcome to our May 2023 Community Newsletter, where we’ll be highlighting the latest news, releases, upcoming events, and the great work of our members inside the Biz Apps communities. If you’re new to this LinkedIn group, be sure to subscribe here in the News & Announcements to stay up to date with the latest news from our ever-growing membership network who «changed the way they thought about code».
 

 
 
LATEST NEWS
«Mondays at Microsoft» LIVE on LinkedIn — 8am PST — Monday 15th May  — Grab your Monday morning coffee and come join Principal Program Managers Heather Cook and Karuana Gatimu for the premiere episode of «Mondays at Microsoft»! This show will kick off the launch of the new Microsoft Community LinkedIn channel and cover a whole host of hot topics from across the #PowerPlatform, #ModernWork, #Dynamics365, #AI, and everything in-between. Just click the image below to register and come join the team LIVE on Monday 15th May 2023 at 8am PST. Hope to see you there!
 
 
Executive Keynote | Microsoft Customer Success Day
CVP for Business Applications & Platform, Charles Lamanna, shares the latest #BusinessApplications product enhancements and updates to help customers achieve their business outcomes.
 

 
S01E13 Power Platform Connections — 12pm PST — Thursday 11th May
Episode Thirteen of Power Platform Connections sees Hugo Bernier take a deep dive into the mind of co-host David Warner II, alongside the reviewing the great work of Dennis Goedegebuure, Keith Atherton, Michael Megel, Cat Schneider, and more.
Click below to subscribe and get notified, with David and Hugo LIVE in the YouTube chat from 12pm PST. And use the hashtag #PowerPlatformConnects on social media for a chance to have your work featured on the show.
 

 
UPCOMING EVENTS
 
European Power Platform Conference — early bird ticket sale ends!
The European Power Platform Conference early bird ticket sale ends on Friday 12th May 2023!
#EPPC23 brings together the Microsoft Power Platform Communities for three days of unrivaled days in-person learning, connections and inspiration, featuring three inspirational keynotes, six expert full-day tutorials, and over eighty-five specialist sessions, with guest speakers including April Dunnam, Dona Sarkar, Ilya Fainberg, Janet Robb, Daniel Laskewitz, Rui Santos, Jens Christian Schrøder, Marco Rocca, and many more. Deep dive into the latest product advancements as you hear from some of the brightest minds in the #PowerApps space.
Click here to book your ticket today and save! 
 
 

DynamicMinds Conference — Slovenia — 22-24th May 2023
It’s not long now until the DynamicsMinds Conference, which takes place in Slovenia on 22nd — 24th May, 2023 — where brilliant minds meet, mingle & share!
This great Power Platform and Dynamics 365 Conference features a whole host of amazing speakers, including the likes of Georg Glantschnig, Dona Sarkar, Tommy Skaue, Monique Hayward, Aleksandar Totovic, Rachel Profitt, Aurélien CLERE, Ana Inés Urrutia de Souza, Luca Pellegrini, Bostjan Golob, Shannon Mullins, Elena Baeva, Ivan Ficko, Guro Faller, Vivian Voss, Andrew Bibby, Tricia Sinclair, Roger Gilchrist, Sara Lagerquist, Steve Mordue, and many more.
Click here: DynamicsMinds Conference for more info on what is sure an amazing community conference covering all aspects of Power Platform and beyond. 
 

Days of Knowledge Conference in Denmark — 1-2nd June 2023
Check out ‘Days of Knowledge’, a Directions 4 Partners conference on 1st-2nd June in Odense, Denmark, which focuses on educating employees, sharing knowledge and upgrading Business Central professionals.
This fantastic two-day conference offers a combination of training sessions and workshops — all with Business Central and related products as the main topic. There’s a great list of industry experts sharing their knowledge, including Iona V., Bert Verbeek, Liza Juhlin, Douglas Romão, Carolina Edvinsson, Kim Dalsgaard Christensen, Inga Sartauskaite, Peik Bech-Andersen, Shannon Mullins, James Crowter, Mona Borksted Nielsen, Renato Fajdiga, Vivian Voss, Sven Noomen, Paulien Buskens, Andri Már Helgason, Kayleen Hannigan, Freddy Kristiansen, Signe Agerbo, Luc van Vugt, and many more.
If you want to meet industry experts, gain an advantage in the SMB-market, and acquire new knowledge about Microsoft Dynamics Business Central, click here Days of Knowledge Conference in Denmark to buy your ticket today!
 
COMMUNITY HIGHLIGHTS
Check out our top Super and Community Users reaching new levels! These hardworking members are posting, answering questions, kudos, and providing top solutions in their communities.
 
Power Apps: 
Super Users: @WarrenBelz, @LaurensM  @BCBuizer 
Community Users:  @Amik@ @mmollet, @Cr1t 
 
Power Automate: 
Super Users: @Expiscornovus , @grantjenkins, @abm 
Community Users: @Nived_Nambiar, @ManishSolanki 
 
Power Virtual Agents: 
Super Users: @Pstork1, @Expiscornovus 
Community Users: @JoseA, @fernandosilva, @angerfire1213 
 
Power Pages:
Super Users: @ragavanrajan 
Community Users: @Fubar, @Madhankumar_L,@gospa 

LATEST COMMUNITY BLOG ARTICLES 
Power Apps Community Blog 
Power Automate Community Blog 
Power Virtual Agents Community Blog 
Power Pages Community Blog 

Check out ‘Using the Community’ for more helpful tips and information: 
Power Apps , Power Automate, Power Virtual Agents, Power Pages 

Hi, basically my database consist of staff id..now most staff id are all digits, for example

1234
4519
8901

However, there are staff id which includes a letter, for example

B1290
C9021

The error states DataFormat.Error: We couldn’t convert to Number. — but the thing is my data type is not set to numbers (it is set to this logo ABC123, and i have also tried setting the type to text but it did not work. Please help 

Понравилась статья? Поделить с друзьями:
  • Ошибка power down and connect the pcie
  • Ошибка plugin is not installed
  • Ошибка pow was not declared in this scope
  • Ошибка plugin error plugin not loaded
  • Ошибка postgresql out of memory