let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Другие столбцы с отмененным свертыванием" = Table.UnpivotOtherColumns(Источник, {"Ф.И.О", "Специальность"}, "Атрибут", "Значение"),
#"Разделить столбец по разделителю" = Table.SplitColumn(#"Другие столбцы с отмененным свертыванием", "Атрибут", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Атрибут.1", "Атрибут.2"}),
ИзмененныйТип = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"Атрибут.1", type text}, {"Атрибут.2", type date}, {"Значение", type date}}),
#"Добавлен индекс" = Table.AddIndexColumn(ИзмененныйТип, "Индекс", 0, 1),
#"Добавлен индекс1" = Table.AddIndexColumn(#"Добавлен индекс", "Индекс.1", 1, 1),
#"Объединенные запросы" = Table.NestedJoin(#"Добавлен индекс1",{"Ф.И.О", "Индекс.1"},#"Добавлен индекс1",{"Ф.И.О", "Индекс"},"Вылет",JoinKind.LeftOuter),
#"Развернутый элемент След" = Table.ExpandTableColumn(#"Объединенные запросы", "Вылет", {"Значение"}, {"Вылет.Значение"}),
#"Сортированные строки" = Table.Sort(#"Развернутый элемент След",{{"Индекс", Order.Ascending}}),
#"Строки с примененным фильтром" = Table.SelectRows(#"Сортированные строки", each ([Атрибут.1] = "Прилёт")),
#"Добавлен пользовательский объект" = Table.AddColumn(#"Строки с примененным фильтром", "СписокДат", each let date = Date.EndOfMonth( Date.From( List.Max(ИзмененныйТип[Атрибут.2]) ) ) in List.Dates( [Значение], Number.From( (if [Вылет.Значение] = null then date else [Вылет.Значение]) - [Значение]) + 1, Duration.From(1) )),
СписокДат = Table.ExpandListColumn(#"Добавлен пользовательский объект", "СписокДат"),
ПризнакПолучен = Table.AddColumn(СписокДат, "Признак", each 1, type number),
Пользовательская1 = Table.Join(Table.SelectColumns(Источник,{"Ф.И.О"}), {}, Table.FromList(List.Dates( Date.From( List.Min(ИзмененныйТип[Атрибут.2]) ), Number.From( Date.EndOfMonth( Date.From( List.Max(ИзмененныйТип[Атрибут.2]) ) ) - Date.From( List.Min(ИзмененныйТип[Атрибут.2]) ) ) + 1, Duration.From(1) ), Splitter.SplitByNothing(), {"Дата"}), {}),
#"Объединенные запросы1" = Table.NestedJoin(Пользовательская1,{"Ф.И.О", "Дата"},ПризнакПолучен,{"Ф.И.О", "СписокДат"},"Пользовательская1",JoinKind.LeftOuter),
#"Развернутый элемент Пользовательская1" = Table.ExpandTableColumn(#"Объединенные запросы1", "Пользовательская1", {"Признак"}, {"Признак"}),
#"Сортированные строки1" = Table.Sort(#"Развернутый элемент Пользовательская1",{{"Ф.И.О", Order.Ascending}, {"Дата", Order.Ascending}}),
#"Сведенный столбец" = Table.Pivot(Table.TransformColumnTypes(#"Сортированные строки1", {{"Дата", type text}}, "ru-RU"), List.Distinct(Table.TransformColumnTypes(#"Сортированные строки1", {{"Дата", type text}}, "ru-RU")[Дата]), "Дата", "Признак")
in
#"Сведенный столбец" |