Страницы: 1
RSS
Добавление в таблицу столбца, соответствующему максимальному значению с помощью Power Query
 
Добрый день! Коллеги, прошу вашей помощи в решении задачи с помощью Power Query. В файле-примере есть выгрузка из отчетности с несколькими сотрудниками, а также таблица соответствия, подключенных у сотрудников skills к определенным навыкам. Необходимо определить какой навык обслуживал каждый сотрудник наибольшее время за каждый день, исходя из времени по столбцу "Logged On Time". В файле-примере, что-то заколхозил, но получилось, как мне кажется, слишком много действий.

Возможно ли решить данную задачу, например, просто через добавление столбца, в котором произвести соответствующие преобразования?
 
Можно так подсократить:
Код
let
    source = Table.Join(Excel.CurrentWorkbook(){[Name="data"]}[Content], "Skill Group", Excel.CurrentWorkbook(){[Name="skills"]}[Content], "skillGroup", JoinKind.LeftOuter),
    filter = Table.SelectRows(source, each [Навык] = "voice" or [Навык] = "offline" or [Навык] = "chat"),
    group = Table.Group(filter, {"DateTime", "AgentName"}, {{"tab", each _, type table}, {"Навык Макс", each Table.Max(_, "Logged On Time")[Навык], type text}})[[tab],[Навык Макс]],
    Expanded = Table.ExpandTableColumn(group, "tab", Table.ColumnNames(source))
in
    Expanded

И Table.Buffer там ИМХО ни к чему.
Вот горшок пустой, он предмет простой...
 
PooHkrd, в вашем варианте итоговое число строк, по сравнению с исходной таблицей, уменьшено из за фильтра. В исходной таблице нужны все строки, т. к. они будут нужны для дальнейших расчетов.
 
Тогда надо фильтровать не перед группировкой, а внутри функции Table.Max внутри группировки.
Изменено: PooHkrd - 11.02.2020 07:59:58
Вот горшок пустой, он предмет простой...
 
PooHkrd, то что нужно, спасибо!
Страницы: 1
Наверх