Максим Пользователь Сообщений: 9 |
#1 05.08.2021 17:23:30 Господа, добрый день. Намедни решил своять код для подключения к API.
Код выглядит следующим образом:
Изменено: Filo — 07.08.2021 22:13:42 |
||
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
Стесняюсь спросить, а с какой целью вы два раза применяете Json.FromValue к заголовку и телу завпроса? Вот горшок пустой, он предмет простой… |
Максим Пользователь Сообщений: 9 |
#3 05.08.2021 18:33:42 Не стоит стеснятся, верно подмечено! Как говорится — «заставь дурака молится, так он и лоб расшибет». Это я явно перестарался. НО!
Я человек не самый подкованный в программировании, да чего уж лукавить, профан второсортный ) Изменено: Максим — 05.08.2021 22:06:52 |
||||
Дмитрий(The_Prist) Щербаков Пользователь Сообщений: 14264 Профессиональная разработка приложений для MS Office |
#4 05.08.2021 19:01:10 а теперь еще так попробуйте:
P.S. Раз мы все тут немного подзабыли про название темы, то предложу согласно правил: Ошибка Power Query: Не удается преобразовать значение типа Binary в тип Record Изменено: Дмитрий(The_Prist) Щербаков — 05.08.2021 20:20:19 Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Максим Пользователь Сообщений: 9 |
Верно подмечено комрад! Вопрос остается подвешенным. Что же все-таки означает сие сообщение об ошибке? Изменено: vikttur — 07.08.2021 11:17:58 |
Дмитрий(The_Prist) Щербаков Пользователь Сообщений: 14264 Профессиональная разработка приложений для MS Office |
#6 06.08.2021 09:24:09
Означает, что Вы передаете в функцию параметр не того типа, который эта функция ожидает. Вы в Headers передаете значение Json.FromValue, которое возвращает тип Bynary. А Headers ожидает тип Record. Вы мой код попробовали? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Filo Пользователь Сообщений: 9 |
#7 06.08.2021 18:52:11
Код применил. Ошибка:
Закавычил значение 138564, получил:
Изменено: Filo — 07.08.2021 22:16:46 |
||
Filo Пользователь Сообщений: 9 |
Вопрос решил. Всем спасибо за участие! |
vikttur Пользователь Сообщений: 47199 |
Тема может быть полезна не только Вам. Рассказать о решении не хотите? |
Filo Пользователь Сообщений: 9 |
#10 07.08.2021 18:32:50
Web.Contents() — выдает бинарный код поэтом дополнительно его бинарить не надо. (Во многих примерах на просторах интернета используется подключения используется Text.ToBinary) Headers — это HTTP запрос поэтому, должно уйти как есть, а на в виде JOSN Описание Web.Contents — Синтаксис Дмитрий(The_Prist) Щербаков — дал код который по сути верно собран за исключением пары изменений в Contents — не стоило заключать значения в #» «. Так работает:
Сама по себе ошибка, которую показал Power Query говорит о том, что в коде значение (Value) бинарное (=Binary) и он не может превратить его в тип Record который предусмотрен. Изменено: Filo — 07.08.2021 22:12:06 |
||||
vikttur Пользователь Сообщений: 47199 |
Filo, еще одно замечание: через время картинки будут недоступны… Можно же прописать строки текстом |
PooHkrd Пользователь Сообщений: 6602 Excel x64 О365 / 2016 / Online / Power BI |
#12 07.08.2021 18:59:13
А некоторым через фаервол недоступны уже сейчас. Можно же картинки к сообщению прикреплять. Вот горшок пустой, он предмет простой… |
||
Filo Пользователь Сообщений: 9 |
Прикрепил ссылку, там все подробно! |
a.petrov Пользователь Сообщений: 1 |
#14 29.12.2021 16:14:10 Все таки, возможно ли полный код запроса привести? Сколько не пробовал проследить мысль и прийти от начального кода к рабочему, так ничего не получилось. |
- Remove From My Forums
-
Question
-
Hi I have receive a the error «DataFormat.Error — Details: Binary», when I tried to refresh the file with the sources. I already tried to:
— open the file in Excel directly to test if excel shows restricted Access message,.
— Save As command to confirm whether «Save as type» is the Excel workbook format: (*.xlsx)
Nothing works. Do you have any idea what it could be?
Thanks in advance!
Regards. Alberto.
Answers
-
Can you provide the following details about the origin of the Excel file:
- How was it created?
- Excel version?
- Web service?
- Is the file password protected?
- Does the file contain anything other than data, e.g.:
- Does the file contain any VBA or macros?
- Does the file contain any connections?
- Does the file contain any charts, pivot tables or PowerView sheets?
- Does the file contain a data model?
- Can you create a similar file with fake data in it that exhibits the problem?
Thanks, Hadeel
-
Edited by
Thursday, April 30, 2015 8:31 PM
-
Proposed as answer by
Ed Price — MSFTMicrosoft employee
Wednesday, May 6, 2015 6:28 AM -
Marked as answer by
Ed Price — MSFTMicrosoft employee
Saturday, June 6, 2015 3:12 AM
- How was it created?
For anyone who is still having this issue, I found the reason for the error to be the «Privacy level» setting in Power BI service. You need to make sure that all your connections where you are appending or merging data have the same privacy level.
This also explain why it would work in Power BI Desktop and not in Power BI Service as they can have different settings.
Every time I have this error, I check the privacy level of all the credentails and I find that in one of the setting have either changed or not set to begin with
Hope this helps others
Nishant
- Remove From My Forums
-
Question
-
I am linking to a folder that contains .xlsx spreadsheets in Power Query, which does open the data, but when I try to expand the binary field I get the following error:
DataFormat.Error: The input couldn’t be recognized as a valid Excel document.
Details:
BinaryCan you advise?
Thanks
-
Moved by
Thursday, February 18, 2016 3:47 PM
Does not appear SSIS related
-
Moved by
Answers
-
-
Edited by
Raoul Larsen
Tuesday, March 8, 2016 9:26 AM -
Proposed as answer by
Ed Price — MSFTMicrosoft employee
Friday, July 29, 2016 9:11 PM -
Marked as answer by
Michael Amadi
Wednesday, August 31, 2016 6:36 AM
-
Edited by
Файлы к уроку:
- Для спонсоров 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 и получаете ошибку «Перед использование этого соединителя необходимо установить один или несколько дополнительных компонентов» |