Страницы: 1
RSS
Изменение структуры файла (запрос Power Query)
 
Добрый день! Есть набор ежедневных выгрузок данных, которые по итогам недели нужно свести воедино.
Создал в Power Query запрос, где изменяю только путь к папке, в которой находятся исходные данные по определенной неделе, а далее происходит слияние семи файлов в один и необходимое мне форматирование.
В выгрузку был добавлен новый столбец с данными и теперь при обновлении появляется ошибка Expression.Error: столбец "Название столбца" таблицы не найден.
Это последний столбец. Подскажите, пожалуйста как обновить запрос.  
 
Ответ очевиден - в запросе изменить/добавить имя столбца. Или использовать более "замороченное" решение: Собрать данные с таблиц с изменяющимися столбцами в PowerQuery

Ничего более конкретного, не видя запроса и не зная чего там изменилось, посоветовать нельзя.
Изменено: The_Prist - 26.06.2017 18:02:24
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дело в том, что мне не очевидно, как это сделать...Выделил синим цветом столбец, который появился в новой выгрузке и который попытался вручную вписать.
А в ошибке указаывается последний TZ_IN_PALLETS.

Теперь появилась новая ошибка Expression.SyntaxError: Ожидался токен Comma.
Код
let
    Источник = Folder.Files("W:\Товарный запас\Архивы\Расчет\Вставить данные за отчетную неделю"),
    #"Вызвать настраиваемую функцию1" = Table.AddColumn(Источник, "Преобразовать двоичный файл из 16 неделя", each #"Преобразовать двоичный файл из 16 неделя"([Content])),
    #"Переименованные столбцы1" = Table.RenameColumns(#"Вызвать настраиваемую функцию1", {"Name", "Source.Name"}),
    #"Другие удаленные столбцы1" = Table.SelectColumns(#"Переименованные столбцы1", {"Source.Name", "Преобразовать двоичный файл из 16 неделя"}),
    #"Столбец расширенной таблицы1" = Table.ExpandTableColumn(#"Другие удаленные столбцы1", "Преобразовать двоичный файл из 16 неделя", Table.ColumnNames(#"Другие удаленные столбцы1"[#"Преобразовать двоичный файл из 16 неделя"]{0})),
    #"Измененный тип" = Table.TransformColumnTypes(#"Столбец расширенной таблицы1",{{"Source.Name", type text}, {"ORIGINALQTY, Int64.Type}, {"SKU", Int64.Type}, {"UHID", Int64.Type}, {"MATKL", type text}, {"FK", type text}, {"DESCR", type text}, {"CARRIERNAME", type text}, {"RECEIPTDATE", type date}, {"LASTCOST", type number}, {"SUSR1", type text}, {"CARTONGROUP", type text}, {"ORDINARY", Int64.Type}, {"RNR", Int64.Type}, {"BLOCK_ORD", Int64.Type}, {"BLOCK_RNR", Int64.Type}, {"QTY_DOST", Int64.Type}, {"QTY_SR", type number}, {"D", Int64.Type}, {"QTY_DOST_R", type number}, {"QTY_SR_R", type number}, {"ZP", Int64.Type}, {"ZD", Int64.Type}, {"QTY_ON_PALLET", Int64.Type}, {"PALLETS_ON_DC", Int64.Type}, {"PALLETS_SHIP_DAY", type number}, {"TZ_IN_PALLETS", type text}}),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Измененный тип", each ([ZD] = 182)),
    #"Дублированный столбец" = Table.DuplicateColumn(#"Строки с примененным фильтром", "Source.Name", "Копия Source.Name"),
    #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Дублированный столбец",{"Source.Name", "Копия Source.Name", "SKU", "UHID", "MATKL", "FK", "DESCR", "CARRIERNAME", "RECEIPTDATE", "LASTCOST", "SUSR1", "CARTONGROUP", "ORDINARY", "RNR", "BLOCK_ORD", "BLOCK_RNR", "QTY_DOST", "QTY_SR", "D", "QTY_DOST_R", "QTY_SR_R", "ZP", "ZD", "QTY_ON_PALLET", "PALLETS_ON_DC", "PALLETS_SHIP_DAY", "TZ_IN_PALLETS", "ORIGINALQTY"}),
    #"Разделить столбец по разделителю" = Table.SplitColumn(#"Переупорядоченные столбцы","Копия Source.Name",Splitter.SplitTextByEachDelimiter({"#(tab)"}, QuoteStyle.Csv, false),{"Копия Source.Name.1", "Копия Source.Name.2"}),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"Копия Source.Name.1", type text}, {"Копия Source.Name.2", Int64.Type}}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Измененный тип1",{"Копия Source.Name.2"}),
    #"Разделить столбец по разделителю1" = Table.SplitColumn(#"Удаленные столбцы","Копия Source.Name.1",Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv),{"Копия Source.Name.1.1", "Копия Source.Name.1.2", "Копия Source.Name.1.3", "Копия Source.Name.1.4", "Копия Source.Name.1.5", "Копия Source.Name.1.6", "Копия Source.Name.1.7"}),
    #"Измененный тип2" = Table.TransformColumnTypes(#"Разделить столбец по разделителю1",{{"Копия Source.Name.1.1", Int64.Type}, {"Копия Source.Name.1.2", Int64.Type}, {"Копия Source.Name.1.3", Int64.Type}, {"Копия Source.Name.1.4", Int64.Type}, {"Копия Source.Name.1.5", type text}, {"Копия Source.Name.1.6", type text}, {"Копия Source.Name.1.7", type text}}),
    #"Удаленные столбцы1" = Table.RemoveColumns(#"Измененный тип2",{"Копия Source.Name.1.2", "Копия Source.Name.1.3", "Копия Source.Name.1.4", "Копия Source.Name.1.5", "Копия Source.Name.1.6", "Копия Source.Name.1.7", "Source.Name"}),
    #"Переупорядоченные столбцы1" = Table.ReorderColumns(#"Удаленные столбцы1",{"SKU", "UHID", "MATKL", "FK", "DESCR", "CARRIERNAME", "RECEIPTDATE", "LASTCOST", "SUSR1", "CARTONGROUP", "ORDINARY", "RNR", "BLOCK_ORD", "BLOCK_RNR", "QTY_DOST", "QTY_SR", "D", "QTY_DOST_R", "QTY_SR_R", "ZP", "ZD", "QTY_ON_PALLET", "PALLETS_ON_DC", "PALLETS_SHIP_DAY", "TZ_IN_PALLETS","ORIGINALQTY", "Копия Source.Name.1.1"})
in
    #"Переупорядоченные столбцы1"
Изменено: Piginawig - 27.06.2017 14:46:35
 
Piginawig, код следует оформлять соответствующим тегом. Ищите такую кнопку и исправьте своё сообщение.
 
Вы бы лучше файл выложили хотя бы с одно таблицей и запросом...Потому как по голому тексту фиг поймешь на каком шаге ошибка. А Comma - это запятая. Где-то она должна быть, но её там нет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Файл сейчас не получается выложить, не проходит полная загрузка, смогу только вечером это сделать.
Сейчас снова на словах попробую спросить: в файле с данными два последних столбца справа PALLETS_SHIP_DAY и TZ_IN_PALLETS, когда нажимаю изменить в запросе и проваливаюсь на второй шаг ("Вызвать настраиваемую функцию"), то в списке столбцов вижу "новый" столбец ORIGINALQTY, но не вижу самого правого в старой структуре TZ_IN_PALLETS (на картинке можно было бы увидеть, что это самый правый столбец PALLETS_SHIP_DAY, но она не прикрепляется).
Соответственно возникает вопрос как втянуть все столбцы, чтобы TZ_IN_PALLETS тоже присутствовал и не возникало ошибки?
Изменено: Piginawig - 27.06.2017 15:08:58
 
У вас в редакторе запросов, в списке запросов (СЛЕВА) есть штуки четыре-пять запросов и функций, которые названы длинными названиями и сложены в отдельную папочку.
Один из них - запрос (имеет значок таблички) под названием что-то типа "Пример Преобразовать двоичный файл из 16 неделя".
На основе этого столбца автоматически сделана функция под названием "Преобразовать двоичный файл из 16 неделя", которую вы выполняете на втором шаге.
Посмотрите, что происходит с вашим столбцом в этом запросе (не в функции).
Внесите там необходимые изменения (верните столбец и т.п.). Они автоматически скопируются в функцию, и будет вам счастье
F1 творит чудеса
Страницы: 1
Наверх