Андрей, я изначально сделала запрос на объединение файлов
(filename)=>
let
Источник = Excel.Workbook(File.Contents(filename), null, true),
Лист2 = Источник{[Name="Лист1"]}[Data],
#"Повышенные заголовки" = Table.PromoteHeaders(Лист2, [PromoteAllScalars=true]),
#"Измененный тип" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Тема предложения", type text}, {"Предложение", type text}, {"Код сессии", Int64.Type}, {"CONTRAGENTID", Int64.Type}, {"BUSINESSPARTNERID", type number}, {"ФИО", type text}, {"ИНН", type number}, {"Оператор", type text}, {"Начало", type datetime}, {"Окончание", type datetime}, {"Телефон", type number}, {"Статус", type text}, {"Перезвонить", type text}, {"Придет", type date}, {"ТОБО", type text}, {"Замечание", type text}})
in
#"Измененный тип"
Затем я сделала запрос на импорт файлов из книги. и уже в этом запросе мне необходимо сортировать по дате, оператору и времени
let
Источник = Folder.Files("M:\307030\Telemarketing\Дашборд\Исходник"),
#"Добавлен пользовательский объект" = Table.AddColumn(Источник, "Пользовательская", each getData([Folder Path]&[Name])),
#"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект",{"Content", "Name", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
Source = Table.ExpandTableColumn(#"Удаленные столбцы", "Пользовательская", {"Тема предложения", "Предложение", "Код сессии", "CONTRAGENTID", "BUSINESSPARTNERID", "ФИО", "ИНН", "Оператор", "Начало", "Окончание", "Телефон", "Статус", "Перезвонить", "Придет", "ТОБО", "Замечание"}, {"Тема предложения", "Предложение", "Код сессии", "CONTRAGENTID", "BUSINESSPARTNERID", "ФИО", "ИНН", "Оператор", "Начало", "Окончание", "Телефон", "Статус", "Перезвонить", "Придет", "ТОБО", "Замечание"}),
appendShift = Table.FromColumns(Table.ToColumns(Source) & {{0.85060185185185178} & List.RemoveLastN(Source[Окончание], 1)}),
#"Переименованные столбцы" = Table.RenameColumns(appendShift,{{"Column1", "Тема предложения"}, {"Column2", "Предложение"}, {"Column3", "Код сессии"}, {"Column4", "CONTRAGENTID"}, {"Column5", "BUSINESSPARTNERID"}, {"Column6", "ФИО"}, {"Column7", "ИНН"}, {"Column8", "Оператор"}, {"Column9", "Начало"}, {"Column10", "Окончание"}, {"Column11", "Телефон"}, {"Column12", "Статус"}, {"Column13", "Перезвонить"}, {"Column14", "Придет"}, {"Column15", "ТОБО"}, {"Column16", "Замечание"}, {"Column17", "Пользовательская"}}),
#"Дублированный столбец" = Table.DuplicateColumn(#"Переименованные столбцы", "Начало", "Копия Начало"),
#"Извлеченная дата" = Table.TransformColumns(#"Дублированный столбец",{{"Копия Начало", DateTime.Date, type date}}),
#"Переименованные столбцы1" = Table.RenameColumns(#"Извлеченная дата",{{"Копия Начало", "Дата"}}),
#"Переупорядоченные столбцы" = Table.ReorderColumns(#"Переименованные столбцы1",{"Дата", "Тема предложения", "Предложение", "Код сессии", "CONTRAGENTID", "BUSINESSPARTNERID", "ФИО", "ИНН", "Оператор", "Начало", "Окончание", "Телефон", "Статус", "Перезвонить", "Придет", "ТОБО", "Замечание", "Пользовательская"}),
#"Дублированный столбец1" = Table.DuplicateColumn(#"Переупорядоченные столбцы", "Дата", "Копия Дата"),
#"Извлеченное название месяца" = Table.TransformColumns(#"Дублированный столбец1", {{"Копия Дата", each Date.MonthName(_), type text}}),
#"Переименованные столбцы2" = Table.RenameColumns(#"Извлеченное название месяца",{{"Копия Дата", "Месяц"}}),
#"Переупорядоченные столбцы1" = Table.ReorderColumns(#"Переименованные столбцы2",{"Месяц", "Дата", "Тема предложения", "Предложение", "Код сессии", "CONTRAGENTID", "BUSINESSPARTNERID", "ФИО", "ИНН", "Оператор", "Начало", "Окончание", "Телефон", "Статус", "Перезвонить", "Придет", "ТОБО", "Замечание", "Пользовательская"}),
#"Дублированный столбец2" = Table.DuplicateColumn(#"Переупорядоченные столбцы1", "Дата", "Копия Дата"),
#"Извлеченный год" = Table.TransformColumns(#"Дублированный столбец2",{{"Копия Дата", Date.Year, Int64.Type}}),
#"Переименованные столбцы3" = Table.RenameColumns(#"Извлеченный год",{{"Копия Дата", "Год"}}),
#"Переупорядоченные столбцы2" = Table.ReorderColumns(#"Переименованные столбцы3",{"Год", "Месяц", "Дата", "Тема предложения", "Предложение", "Код сессии", "CONTRAGENTID", "BUSINESSPARTNERID", "ФИО", "ИНН", "Оператор", "Начало", "Окончание", "Телефон", "Статус", "Перезвонить", "Придет", "ТОБО", "Замечание", "Пользовательская"}),
#"Измененный тип" = Table.TransformColumnTypes(#"Переупорядоченные столбцы2",{{"Начало", type time}, {"Окончание", type time}, {"Пользовательская", type time}}),
#"Добавлен пользовательский объект1" = Table.AddColumn(#"Измененный тип", "Пользовательская.1", each (if[Начало]>[Пользовательская] then [Начало]-[Пользовательская] else null)),
#"Разделить столбец по разделителю" = Table.SplitColumn(Table.TransformColumnTypes(#"Добавлен пользовательский объект1", {{"Пользовательская.1", type text}}, "ru-RU"), "Пользовательская.1", Splitter.SplitTextByDelimiter(".", QuoteStyle.Csv), {"Пользовательская.1.1", "Пользовательская.1.2", "Пользовательская.1.3"}),
#"Измененный тип1" = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"Пользовательская.1.1", type time}, {"Пользовательская.1.2", type text}, {"Пользовательская.1.3", type text}}),
#"Удаленные столбцы1" = Table.RemoveColumns(#"Измененный тип1",{"Пользовательская.1.2", "Пользовательская.1.3"}),
#"Замененное значение" = Table.ReplaceValue(#"Удаленные столбцы1",null,#time(0, 0, 0),Replacer.ReplaceValue,{"Пользовательская.1.1"}),
#"Переименованные столбцы4" = Table.RenameColumns(#"Замененное значение",{{"Пользовательская.1.1", "Время перехода"}}),
#"Переупорядоченные столбцы3" = Table.ReorderColumns(#"Переименованные столбцы4",{"Год", "Месяц", "Дата", "Тема предложения", "Предложение", "Код сессии", "CONTRAGENTID", "BUSINESSPARTNERID", "ФИО", "ИНН", "Оператор", "Начало", "Окончание", "Время перехода", "Телефон", "Статус", "Перезвонить", "Придет", "ТОБО", "Замечание", "Пользовательская"}),
#"Добавлен пользовательский объект2" = Table.AddColumn(#"Переупорядоченные столбцы3", "Длительность", each [Окончание]-[Начало]),
#"Разделить столбец по разделителю1" = Table.SplitColumn(Table.TransformColumnTypes(#"Добавлен пользовательский объект2", {{"Длительность", type text}}, "ru-RU"), "Длительность", Splitter.SplitTextByDelimiter(".", QuoteStyle.Csv), {"Длительность.1", "Длительность.2", "Длительность.3"}),
#"Измененный тип2" = Table.TransformColumnTypes(#"Разделить столбец по разделителю1",{{"Длительность.1", type time}, {"Длительность.2", type text}, {"Длительность.3", type text}}),
#"Удаленные столбцы2" = Table.RemoveColumns(#"Измененный тип2",{"Длительность.2", "Длительность.3"}),
#"Переименованные столбцы5" = Table.RenameColumns(#"Удаленные столбцы2",{{"Длительность.1", "Длительность"}}),
#"Переупорядоченные столбцы4" = Table.ReorderColumns(#"Переименованные столбцы5",{"Год", "Месяц", "Дата", "Тема предложения", "Предложение", "Код сессии", "CONTRAGENTID", "BUSINESSPARTNERID", "ФИО", "ИНН", "Оператор", "Начало", "Окончание", "Длительность", "Время перехода", "Телефон", "Статус", "Перезвонить", "Придет", "ТОБО", "Замечание", "Пользовательская"}),
#"Условный столбец добавлен" = Table.AddColumn(#"Переупорядоченные столбцы4", "Кол-во звонков", each if [Начало] = [Начало] then 1 else null),
#"Условный столбец добавлен1" = Table.AddColumn(#"Условный столбец добавлен", "Кол-во дозвонов", each if Text.Contains([Статус], "Актуальный") then 1 else if Text.Contains([Статус], "Не определился") then 1 else if Text.Contains([Статус], "Отказался") then 1 else if Text.Contains([Статус], "Перезвонить позже") then 1 else if Text.Contains([Статус], "Согласился") then 1 else 0),
#"Условный столбец добавлен2" = Table.AddColumn(#"Условный столбец добавлен1", "Кол-во попыток", each if Text.Contains([Статус], "Не звонить по этой теме") then 1 else if Text.Contains([Статус], "Не принадлежит") then 1 else if Text.Contains([Статус], "Не удалось дозвониться") then 1 else if Text.Contains([Статус], "Недоступен") then 1 else 0),
#"Условный столбец добавлен3" = Table.AddColumn(#"Условный столбец добавлен2", "Длительность дозвонов", each if [#"Кол-во дозвонов"] = 1 then [Длительность] else null),
#"Измененный тип3" = Table.TransformColumnTypes(#"Условный столбец добавлен3",{{"Длительность дозвонов", type time}}),
#"Условный столбец добавлен4" = Table.AddColumn(#"Измененный тип3", "Длительность попыток", each if [#"Кол-во попыток"] = 1 then [Длительность] else null),
#"Измененный тип4" = Table.TransformColumnTypes(#"Условный столбец добавлен4",{{"Длительность попыток", type time}}),
#"Переупорядоченные столбцы5" = Table.ReorderColumns(#"Измененный тип4",{"Год", "Месяц", "Дата", "Тема предложения", "Предложение", "Код сессии", "CONTRAGENTID", "BUSINESSPARTNERID", "ФИО", "ИНН", "Оператор", "Начало", "Окончание", "Длительность", "Время перехода", "Кол-во дозвонов", "Длительность дозвонов", "Кол-во попыток", "Длительность попыток", "Телефон", "Статус", "Перезвонить", "Придет", "ТОБО", "Замечание", "Пользовательская", "Кол-во звонков"}),
#"Сортированные строки" = Table.Sort(#"Переупорядоченные столбцы5",{{"Дата", Order.Ascending}, {"Оператор", Order.Ascending}, {"Начало", Order.Ascending}}),
#"Измененный тип5" = Table.TransformColumnTypes(#"Сортированные строки",{{"Кол-во дозвонов", Int64.Type}, {"Кол-во попыток", Int64.Type}, {"Кол-во звонков", Int64.Type}})
in
#"Измененный тип5"