Страницы: 1
RSS
Сгруппировать таблицу по месяцам и ФИО
 
Всем привет.
Подскажите, как решить эту задачу (без макросов) - можно ли её решить только формулами? Если формулами нельзя (макросом не нужно), то остаётся только PQ? То тогда, как решить её в PQ?
 
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Период", type datetime}, {"Работник", type text}, {"Должность", type text}}),
    #"Вставленное название месяца" = Table.AddColumn(#"Измененный тип", "Название месяца", each Date.MonthName([Период]), type text),
    #"Сгруппированные строки" = Table.Group(#"Вставленное название месяца", {"Название месяца","Работник"}, {{"Должности", each Text.Combine([Должность],",#(lf)"), type text}})
in
    #"Сгруппированные строки"
 
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    PromoteHeaders = Table.PromoteHeaders(Источник, [PromoteAllScalars=true]),
    MonthName = Table.AddColumn(PromoteHeaders, "Месяц", each Date.MonthName(Date.From([Период]))),
    DoubleGroup = Table.Group(MonthName, "Месяц", 
        {"tbl", each 
            Table.Group(_, "Работник", 
                {"Должность", each 
                    Text.Combine([Должность], "#(lf)")}
                       )
        }
    ),
    Expand = Table.ExpandTableColumn(DoubleGroup, "tbl", {"Работник", "Должность"}, {"Работник", "Должность"})
in
    Expand

upd. блин, зачем два раза группировал  -_- лучше как у mechanix 85
Изменено: whateverlover - 01.10.2022 16:10:49
 
Сводной
 
спасибо всем
 
Вариант
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    PromoteHeaders = Table.PromoteHeaders(Источник, [PromoteAllScalars=true]),
    trf = Table.TransformColumns(PromoteHeaders,{{"Период",(x)=> Date.MonthName(Date.From(x)), type text}}),
    gr = Table.Group(trf, {"Период", "Работник"}, {{"tmp", (x)=>Text.Combine( x[Должность],"#(lf)")}})
in
    gr
Страницы: 1
Наверх