Страницы: 1
RSS
PowerQuery_группировка с усреднением и произвольным кол-вом столбцов(?)
 
Здравствуйте.
Пож-та, подскажите каков должен быть код для агрегации входных данных таблицы у которой кол-во столбцов произвольное.
Подробнее из вложения :  на листе "Input" таблица "Table3", её я гружу в PQ.  В зависимости от  выгрузки, кол-во столбцов "Stat" может варироваться. В прилагаемом примере их 5. Задача получить на листе "Out" таблицу с усреднёнными цифирями столбцов "Stat". При этом кол-во столбцов "Stat" произвольное.
Понимаю, что нужно корректировать строку правил группировки Table.Group, только вот как не знаю.
Заране Спасибо!
 
Доброе время суток.
Где-то так-то так, но не мышкоклацательный хардкод.
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    colNames = Table.ColumnNames(Source),
    aggregateColNames = List.Select(colNames, each Text.StartsWith(_, "Stat")),
    groupColNames = List.RemoveItems(colNames, aggregateColNames),
    aggregateColumns = List.Transform(aggregateColNames, each {_ & " Average", (sub) => List.Average(Table.Column(sub, _)), Number.Type}),
    result = Table.Group(Source, groupColNames, aggregateColumns)
in
    result
 
Добрый день!
мышкой
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    unpivot = Table.UnpivotOtherColumns(Source, {"TvCompany"}, "Атрибут", "Значение"),
    pivot = Table.Pivot(unpivot, List.Distinct(unpivot[Атрибут]), "Атрибут", "Значение", List.Average)
in
    pivot
 
Коллеги,
Всё получилось! Большое ВАМ спасибо!  :)
Задачка решена, тему закрываем.
Страницы: 1
Наверх