Страницы: 1
RSS
Power query: как получить список столбцов
 
здравствуйте. какой функцией можно получить список столбцов как на скрине? не знаю где найти информацию об этом.
 
Доброе время суток
Цитата
artyrH написал:
не знаю где найти информацию об этом.
Table.ColumnNames. Хотя не очень представляю, каким образом приведённая копия экрана относится к именам столбцов?
Изменено: Андрей VG - 13.01.2019 23:13:53
 
Андрей VG, здравствуйте. спасибо за Table.ColumnNames. я. скорее всего, что то путаю, только хотел я именно как на скрине, чтоб  был еще столбец с Table-ми, в которых находились бы значения столбцов. а сейчас без столбйа с Table-ми. или так не бывает?
Изменено: artyrH - 13.01.2019 23:59:01
 
Цитата
Андрей VG написал:
Хотя не очень представляю, каким образом приведённая копия экрана относится к именам столбцов
не относится. для наглядности сделал скрин с отдельного файла с листами, у которых такие же имена как и у столбцов из файла диапазон.  
 
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Несвернутые столбцы" = Table.UnpivotOtherColumns(Источник, {}, "Атрибут", "Значение"),
    #"Сгруппированные строки" = Table.Group(#"Несвернутые столбцы", {"Атрибут"}, {{"Количество", each _, type table}})
in
    #"Сгруппированные строки"
 
Anton555, спасибо. то что нужно!!
 
Добрый день
А как сделать из нескольких таблиц возможно получить список полей и загрузить их в одну таблицу, причем количество полей в каждой позиции может быть разным?
 
Константин Соков, возможно. Как получить список полей каждой таблицы написано выше. Объединить списки List.Combine.
Сделать список с уникальными items  - List.Distinct.
Изучайте документацию языка Power Query M на сайте Microsoft.
Пришелец-прораб.
 
Собрать данные с таблиц с изменяющимися столбцами в PowerQuery
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Power Query
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Added Custom" = Table.AddColumn(Источник, "Custom", each 1),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Added Custom", {"Custom"}, "Attribute", "Value"),
    #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Custom"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns", {"Attribute"}, {{"Count", each _, type table}}),
    #"Added Index" = Table.AddIndexColumn(#"Grouped Rows", "Index", 1, 1),
    #"Reordered Columns" = Table.ReorderColumns(#"Added Index",{"Index", "Attribute", "Count"})
in
    #"Reordered Columns"
 
Я и не знал что мой аккаунт разблокирован)
Константин Соков, в файле так как надо или нет?
Код
let
    Источник = Excel.CurrentWorkbook(),
    #"Filtered Rows" = Table.SelectRows(Источник, each [Name] <> "Таблица1_2"),
    #"Added Custom" = Table.AddColumn(#"Filtered Rows", "columnname", each Table.ColumnNames([Content])),
    Custom1 = let a=#"Added Custom" in #table(List.Distinct(List.Combine(a[columnname])),{})&Table.Combine(a[Content])
in
    Custom1
 
Добрый день.
Не совсем так, мне надо собрать в одну таблицу наименования полей всех таблиц которые есть в запросах в текущей книге, как в примере на изображении
Изменено: Константин Соков - 18.01.2023 17:27:23
 
Цитата
написал:
Не совсем так
Значит так
Код
let
    Source = Excel.CurrentWorkbook(),
    #"Filtered Rows" = Table.SelectRows(Source, each [Name] <> "Таблица6"),
    #"Added Custom" = Table.AddColumn(#"Filtered Rows", "names", each Table.ColumnNames([Content])),
    Custom1 = Table.FromColumns( #"Added Custom"[names], #"Added Custom"[Name])
in
    Custom1
 
Да все супер, класс!

Можно еще глупый вопрос?
я делаю следующим образом: в текущей книге есть несколько подключений к другим xlsx (размещены в сетевых папках). далее я их объединяю в один запрос, потом я создал еще одну таблицу "Поля" в PQ (Главная->Новый запрос->Введите данные) и в расширенном редакторе вставил код из предыдущего сообщения.
При этом в это новой таблице формируются столбцы с полями всех таблиц включая ее саму.

Я хотел спросить можно ли управлять тем какие таблицы добавлять для формирования новой таблицы, в которой будут содержаться список всех полей из других таблиц, и правильно ли я создаю новую таблицу?
Изменено: Константин Соков - 19.01.2023 19:50:30
 
Цитата
Константин Соков написал:
можно ли управлять тем какие таблицы добавлять для формирования новой таблицы
Вторым шагом - #"Filtered Rows" - пробовали?
Код
let
    Source = Excel.CurrentWorkbook(),
    #"Filtered Rows" = Table.SelectRows(Source, each ([Name] <> "Поля" and [Name] <> "_2020_2023")),
    #"Added Custom" = Table.AddColumn(#"Filtered Rows", "names", each Table.ColumnNames([Content])),
    Custom1 = Table.FromColumns( #"Added Custom"[names], #"Added Custom"[Name])
in
    Custom1
Страницы: 1
Наверх