Страницы: 1
RSS
Power Query: ошибка при загрузке файла xls из интернета
 
После обновления офиса до билда 16.0.12725.20000 (инсайдерский билд) при загрузке данных из интернета (https://bank.gov.ua/files/T-bills_debt.xls) получаю ошибку при обновлении запроса: DataFormat.Error: Сбой IErrorInfo.GetDescription с E_FAIL(0x80004005).
В более ранних билдах такой проблемы не было.
Другие запросы отрабатывает нормально. Проблема именно при обращении к экселевским файлам xls (по крайней мере, у меня нее работает только этот запрос пока).
Кто-нибудь сталкивался с такой ошибкой ранее и как обходил ее?
OfficeProPlus 365x64
Win64forWorkstation
 
Есть проблема у PQ с выгрузкой данных из бинарных файлов (xls/xlsb).
Цитата
vector1 написал:
Кто-нибудь сталкивался с такой ошибкой ранее и как обходил ее?
Все с ней сталкиваются, и обойти никак. Только поменять формат источника на xlsx или текст.
Вот горшок пустой, он предмет простой...
 
Это проблема PQ версии 2.80.xxxx.xxх и выше, насколько я понимаю.
Придется откатиться на PQ более ранней версии.

ПС. Здесь и выше я имею в виду PQ под Excel.
Изменено: vector1 - 01.04.2020 15:23:43
OfficeProPlus 365x64
Win64forWorkstation
 
Цитата
vector1 написал:
Это проблема PQ версии 2.80.xxxx.xxх и выше
нет, это проблема PQ в целом
Соблюдение правил форума не освобождает от модераторского произвола
 
В том-то и дело, что я сейчас откатился на билд 16.0.12624.20348 (инсайдерский поздний) и при обновлении проблемного запроса ошибки выше уже нет.
OfficeProPlus 365x64
Win64forWorkstation
 
vector1, мне непонятно. Запрос один раз работает, а после закрытия и открытия файла запрос выдает ошибку?
Попробовал закрыть, открыть, обновить. Все обновилось
 
А это как повезет. Она то есть, то её нет. И не всегда зависит от билда, хотя и это тоже не исключено.
Вот горшок пустой, он предмет простой...
 
Цитата
Михаил Л написал:
Запрос один раз работает, а после закрытия и открытия файла запрос выдает ошибку?
Запрос работает нормально. Но как только я обновляюсь до инсайдер fast, то все - ошибка.
Версии PQ в быстрых инсайдерских билдах > 2.79.xxxx.xxx
Грешу именно на это, т.к. именно после того, как версия PQ перевалила за 2.80.хххх.ххх в инсайдерских сборках эта ошибка и стала появляться.
Разработчикам писал, что в последних трех быстрых инсайдерских билдах появилась ошибка.
Молчат пока.  
OfficeProPlus 365x64
Win64forWorkstation
 
vector1, покажите запрос, на котором выходит ошибка
 
Цитата
vector1 написал:
Разработчикам писал
Дайте ссылку на тикет, если это на форуме в открытом доступе.
Изменено: PooHkrd - 01.04.2020 16:54:21
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Дайте ссылку на тикет, если это на форуме в открытом доступе.
из Экселя писал, не на форуме
OfficeProPlus 365x64
Win64forWorkstation
 
Запрос (ссылка) обращается к файлу с информацией о размещении облигаций внутреннего государственного займа (Украина). Файл находится на сайте Нацбанка.
Второй запрос обращается к сайту Минфина за курсами валют на межбанке.
Таблицы джойнятся и выгружаются в павер пивот.
Там добавляется год, месяц и т.д.
А из PP формируются сводные (таблицы и графики).
Неоптимально, но пока работает (на поздних билдах офиса).
OfficeProPlus 365x64
Win64forWorkstation
 
Цитата
vector1 написал:
Неоптимально
Есть такое. Вместо одного раза три раза на сайт обращаетесь. В принципе, не страшно, только время уходит
 
В новом инсайдерском билде 16.0.12730.20236 (Monthly Channel Targeted) наконец-то исправили ошибку. Весь апрель слал "недовольную рожицу" с комментариями...
OfficeProPlus 365x64
Win64forWorkstation
 
Попробуйте этими запросами. В принципе, то же самое, но будет быстрее
Правда у меня минут пять обновлялось
Код
// Запрос1
let
    Источник = Excel.Workbook(Web.Contents("https://bank.gov.ua/files/T-bills_debt.xls")),
    фильтр = Table.SelectRows(Источник, each [Name] = "2018" or [Name] = "2019" or [Name] = "2020")[[Data]],
    Add = Table.Combine(Table.AddColumn(фильтр, "a", each let 
     a=Table.RemoveColumns([Data],{ "Column9", "Column10"}), 
     b= Table.FillDown(Table.FromColumns(List.Range(Table.ToRows(a),3,2)),{"Column1"}),
     c= List.Zip({Table.ColumnNames(a),Table.CombineColumns(b,{"Column1", "Column2"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Сведено")[Сведено]}),
     d = Table.RenameColumns(Table.Skip(a,5),c),
     e = Table.TransformColumnTypes(d, {{"Дата ", type date},{"Усього ", type number}, {"Облігації. які знаходяться у власності НБУ",
     type number}, {"Облігації. які знаходяться у власності Банків", type number}, {"Облігації. які знаходяться у власності Юридичних осіб ",
     type number}, {"Облігації. які знаходяться у власності Фiзичних осiб", type number}, 
     {"Облігації. які знаходяться у власності Нерезидентів", type number}}, "en-GB"),
     f = Table.FillDown(e,{"Дата "}),
     g = Table.UnpivotOtherColumns(f, {"Дата ", "Вид ЦП "}, "Атрибут", "Сумма, млн.грн."),
     n = Table.NestedJoin(g,{"Дата "},Межбанк_EUR_,{"Дата"},"Межбанк_EUR_",JoinKind.LeftOuter),
     s = Table.ExpandTableColumn(n, "Межбанк_EUR_", {"Курс покупки"}, {"Межбанк_EUR_.Курс покупки"}),
     j = Table.Sort(s,{{"Дата ", Order.Ascending}}),
     k = Table.NestedJoin(j,{"Дата "},Межбанк_USD_,{"Дата"},"Межбанк_USD_",JoinKind.LeftOuter)
     in Table.ExpandTableColumn(k, "Межбанк_USD_", {"Курс покупки"}, {"Межбанк_USD_.Курс покупки"}))[a])
in
    Add

// Межбанк_EUR_
let
    Источник = Web.Page(Web.Contents("http://minfin.com.ua/currency/mb/archive/eur/20-09-2019/"&DateTime.ToText(DateTime.LocalNow(), "dd-MM-yyyy"))),
    фильтр = Table.SelectRows(Источник, each ([ClassName] = "mb-valcli--archive--table"))[[Data]],
    элемент = Table.ExpandTableColumn(фильтр, "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"},
    {"Дата", "Курс покупки", "Курс продажи", "Количество сделок","Объем покупки и продажи", "Средневзвешенный курс"}),
    тип = Table.TransformColumnTypes(элемент, {{"Дата", type date},{"Курс продажи", type number},{"Курс покупки", type number}}, "en-GB"),
    Errors = Table.RemoveRowsWithErrors(тип, {"Дата"})
in
    Errors

// Межбанк_USD_
let
    Источник = Web.Page(Web.Contents("http://minfin.com.ua/currency/mb/archive/usd/20-09-2019/"&DateTime.ToText(DateTime.LocalNow(), "dd-MM-yyyy"))),
    фильтр = Table.SelectRows(Источник, each ([ClassName] = "mb-valcli--archive--table"))[[Data]],
    элемент = Table.ExpandTableColumn(фильтр, "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"},
    {"Дата", "Курс покупки", "Курс продажи", "Количество сделок","Объем покупки и продажи", "Средневзвешенный курс"}),
    тип = Table.TransformColumnTypes(элемент, {{"Дата", type date},{"Курс продажи", type number},{"Курс покупки", type number}}, "en-GB"),
    Errors = Table.RemoveRowsWithErrors(тип, {"Дата"})
in
    Errors
 
 
Спасибо! Попробую.
OfficeProPlus 365x64
Win64forWorkstation
Страницы: 1
Наверх