Страницы: 1
RSS
Power Query - Преобразовать несколько диапазонов в таблицу
 
Здравствуйте.
Прошу оказать помощь в преобразовании нескольких диапазонов дат в таблицу с сохранением наименования диапазонов с помощью Power Query
Версия EXCEL 2013
Пример во вложении. (см лист1)
Таблицу №1 необходимо преобразовать в Таблицу №2
PS нашел пример https://baguzin.ru/wp/glava-24-dinamicheskij-kalendar-v-power-query/, но не смог переделать его под свои требования
Спасибо.
 
вариант
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    type_date = Table.TransformColumnTypes(Источник,{{"Дата начала", type date}, {"Дата окончания", type date}}),
    add_column = Table.AddColumn(type_date, "date", each {Number.From([Дата начала])..Number.From([Дата окончания])}),
    expand = Table.ExpandListColumn(add_column, "date"),
    out = Table.TransformColumnTypes(expand,{{"date", type date}})
in
    out
 
Как-то так:
Код
let
    Source = Table.TransformColumnTypes( Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content], {{"Дата начала", type date}, {"Дата окончания", type date}, {"Наименование периода", type text}} ),
    AddedCustom = Table.AddColumn(Source, "Дата", each List.Dates( [Дата начала], Number.From( [Дата окончания] - [Дата начала] ) + 1, Duration.From(1) )),
    Expanded = Table.TransformColumnTypes( Table.ExpandListColumn(AddedCustom, "Дата")[[Дата],[Наименование периода]], {{"Дата", type date}} )
in
    Expanded
Вот горшок пустой, он предмет простой...
 
до кучи, те же яйца, только в профиль
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    DatesBtw =(a)=>List.Dates(Date.From(a{0}),Number.RoundDown(Number.From(a{1}-a{0})+1),#duration(1,0,0,0)),
    Combine = Table.CombineColumns(Источник, {"Дата начала", "Дата окончания"},DatesBtw,"Сведено"),
    Expand = Table.ExpandListColumn(Combine, "Сведено"),
    Typed = Table.TransformColumnTypes(Expand,{{"Сведено", type date}})
in
    Typed
 
огромное спасибо.
то что нужно....
Страницы: 1
Наверх