Страницы: 1
RSS
Переименовать столбец содержащий определенный текст PQ
 
Добрый день!
Из 1с выгружаются данные. Несколько файлов. При этом, в одном случае столбец называется "Документ движения (регистратор).Направление продаж", а в другом "Регистратор. Направление продаж".  Что бы избежать ошибок, при фильтрации таблицы хочу переименовать данный столбец. Для этого через Table.Profile нахожу список имен столбцов, фильтрую строки, чтобы содержала "Направление продаж". На следующем этапе хочу удалить все другие столбцы, кроме столбца со списком имен столбцов. После Table.SelectColumns у меня почему-то остается пустая таблица. При этом, как мне кажется, ранее этот метод в других файлах работал.
Подскажите, пожалуйста, в чем здесь ошибка. Если есть более простой метод решения вопроса переименования столбцов, подскажите, пожалуйста.
 
Так надо?
Код
let
    Источник = Excel.Workbook(File.Contents(Excel.CurrentWorkbook(){[Name="Параметры"]}[Content]{0}[Путь к данным]), null, true){[Item = "TDSheet", Kind = "Sheet"]}[Data],
    adind = Table.AddIndexColumn(Источник, "ind", 0,1),
    find = Table.FindText(adind, "Направление продаж")[ind]{0}?,
    skip = Table.Skip(Источник, find),
    headers = Table.PromoteHeaders(skip, [PromoteAllScalars=true]),
    profile = List.Select( Table.ColumnNames(headers), each Text.Contains(_, "аправление продаж") ){0}?,
    rename_col = Table.RenameColumns(headers, {{profile, "Направление продаж"}}),
    remove_totals = Table.SelectRows(rename_col, each ([Направление продаж] <> "Итог"))
in
    remove_totals

Цитата
Andrey_S написал:
Для этого через Table.Profile
Но если уж очень хочется что-то делать через Table.Profile, то настоятельно керемендую писать так Table.Buffer(Table.Profile(tab)), в этом случае дальнейших фокусов с фильтрацией результатов не будет.  ;)
Изменено: PooHkrd - 21.10.2020 15:26:23
Вот горшок пустой, он предмет простой...
 
PooHkrd, Спасибо! Работает
Страницы: 1
Наверх