Страницы: 1
RSS
Power Query, [Expression.Error] Не удается преобразовать значение "D6" в тип Table
 
Добрый день, мне нужно с xml каталога автомобилей вставить в Excel через Power Query.
Я выбрал какие столбцы мне нужны, жму закрыть и загрузить, начинается обработка, но когда доходит до модели D6 то выдает ошибку:
[Expression.Error] Не удается преобразовать значение "D6" в тип Table

Я только начинаю изучать Power Query и честно не понимаю что с этой ошибкой сделать. Пробовал менять тип данных в столбце name2 (где и находится эта модель) на текст - не помогло.

В xml эта модель записана просто "D6", т.е. буква и цифра, других символов нет.
 
Roggic, в столбце "model", который разворачивается на последним, не только таблицы.
 
Roggic, Этот код отработал корректно. От себя добавил шаг Added Prefix
Код
let
    Источник = Xml.Tables(Web.Contents("https://auto-export.s3.yandex.net/auto/price-list/catalog/cars.xml")),
    #"Развернутый элемент Table" = Table.ExpandTableColumn(Источник, "Table", {"code", "folder", "Attribute:name", "Attribute:id"}, {"code", "folder", "Attribute:name", "Attribute:id"}),
    #"Развернутый элемент folder" = Table.ExpandTableColumn(#"Развернутый элемент Table", "folder", {"model", "generation", "modification", "Attribute:name", "Attribute:id"}, {"model", "generation", "modification", "Attribute:name.1", "Attribute:id.1"}),
    #"Added Prefix" = Table.TransformColumns(#"Развернутый элемент folder", {{"model", each if _ is table then _ else #table({"Element:Text"}, {{_}}), type table}}),
    #"Развернутый элемент modification" = Table.ExpandTableColumn(#"Added Prefix", "modification", {"mark_id", "folder_id", "modification_id", "configuration_id", "tech_param_id", "body_type", "years", "complectations", "Attribute:name", "Attribute:id"}, {"mark_id", "folder_id", "modification_id", "configuration_id", "tech_param_id", "body_type", "years", "complectations", "Attribute:name.2", "Attribute:id.2"}),
    #"Развернутый элемент generation" = Table.ExpandTableColumn(#"Развернутый элемент modification", "generation", {"Element:Text", "Attribute:id"}, {"Element:Text", "Attribute:id.3"}),
    #"Развернутый элемент complectations" = Table.ExpandTableColumn(#"Развернутый элемент generation", "complectations", {"complectation"}, {"complectation"}),
    #"Развернутый элемент complectation" = Table.ExpandTableColumn(#"Развернутый элемент complectations", "complectation", {"Element:Text", "Attribute:id"}, {"Element:Text.1", "Attribute:id.4"}),
    #"Развернутый элемент model" = Table.ExpandTableColumn(#"Развернутый элемент complectation", "model", {"Element:Text", "Attribute:id"}, {"Element:Text.2", "Attribute:id.5"}),
    #"Переименованные столбцы" = Table.RenameColumns(#"Развернутый элемент model",{{"Element:Text.2", "name2"}, {"Attribute:id.5", "id4"}, {"Element:Text", "generation_id"}, {"Attribute:id.3", "id5"}, {"Element:Text.1", "complectation"}, {"Attribute:id.4", "id8"}}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Переименованные столбцы",{"Attribute:name.2", "Attribute:id.2", "Attribute:name.1", "Attribute:id.1", "Attribute:name"}),
    #"Переименованные столбцы1" = Table.RenameColumns(#"Удаленные столбцы",{{"Attribute:id", "id"}}),
    #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Переименованные столбцы1",{"Name", "id", "code", "name2", "id4", "generation_id", "id5", "mark_id", "folder_id", "modification_id", "configuration_id", "tech_param_id", "body_type", "years", "complectation", "id8"}),
    #"Удаленные столбцы1" = Table.RemoveColumns(#"Переупорядоченные столбцы",{"Name"})
in
    #"Удаленные столбцы1"
Вот горшок пустой, он предмет простой...
 
PooHkrd, большое спасибо, работает))
А можете на словах объяснить что Ваш шаг делает?
 
Roggic, ну, я подглядел в ячейках с табличками структуру ожидаемой таблицы, далее в этом столбце сделал преобразование по типу:
Проверяем каждый элемент в столбце model если в нем таблица, то ничего не делаем, а если не таблица, то преобразовываем его в таблицу с такой же структурой как и в остальных элементах. В результате получаем столбец в котором имеются только таблицы с одинаковой структурой и они без ошибок разворачиваются.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх