Как я могу управлять заголовками столбцов из значений ячеек вне запроса?

Я создал инструмент для повторяющихся (ежемесячных) запросов. Каждый месяц название столбца будет меняться. Я хотел бы, чтобы пользователь мог ввести значение в ячейку на первом листе и управлять этим значением, чтобы оно стало заголовком столбца в таблице.

Мысль 1: Измените следующий код: #"Renamed Columns1" = Table.RenameColumns(#"Multiplied Column7",{{"Month1;BDG", "AAA"}}), чтобы заменить «AAA» вызовом определенной ячейки на другом листе непосредственно на этапе «Переименовать». Это возможно?

Идея 2: Управляйте изменением как данными столбца, выполнив следующие действия: 1. Понизьте текущие заголовки столбцов с помощью «Использовать заголовки в качестве первой строки» 2. Напишите оператор IF, если значение = «Column7», тогда «значение ячейки на другом листе» else [Column7]. 3. Затем после изменения сделайте верхнюю строку заголовками столбцов.

Или есть способ попроще? Мои поиски закончились безрезультатно!


person Matthew Marks    schedule 13.12.2017    source источник


Ответы (1)


Создайте таблицу в Excel с именем столбца, которое вы хотите использовать. Например, если вы хотите «AAA», поместите это в пару ячеек на листе:

ColumnName
AAA

Выделите эти две ячейки и перейдите в меню «Вставка»> «Таблица» и сделайте из них таблицу. (Установите флажок «В моей таблице есть заголовки».)

В разделе «Дизайн» вы можете назвать эту таблицу как хотите, например «ColNameTable».

Затем в своем коде вы можете использовать

Excel.CurrentWorkbook(){[Name="ColNameTable"]}[Content]{0}[ColumnName]

вместо "AAA". I.E.

#"Renamed Columns1" = Table.RenameColumns(#"Multiplied Column7",{{"Month1;BDG", Excel.CurrentWorkbook(){[Name="ColNameTable"]}[Content]{0}[ColumnName]}})

Это извлекает значение первой строки (индекс начинается с нуля) столбца с именем ColumnName в таблице ColNameTable из вашей текущей книги.


Примечание. Вы также можете использовать именованные диапазоны вместо создания новой таблицы. См. Здесь: Как я могу ссылаться на значение ячейки в Power Query

person Alexis Olson    schedule 13.12.2017