View in Telegram
Списки против записей-2 #АнатомияФункций – списки Всем привет! Ну вот не отпускала мысль, особенно после пересмотра прошлого видео, что что-то не так. По этому поводу код:
let
f=(x)=>[a=dm(x{0},x{1}),
        b=Duration.TotalHours(Date.EndOfMonth(x{0})-x{0}),
        c=Duration.TotalHours(x{1}-Date.StartOfMonth(x{1})),
        d=ym(x{0})-num,
        e=x&List.Repeat({null},d),
        f=if a=0 then e&{Duration.TotalHours(x{1}-x{0})} 
        else if a=1 then e&{b,c}
        else e&{b}&List.Range(hrs,d+1,a-1)&{c}][f],
h=(x,y,z)=>if x>y then z else @h(Date.AddMonths(x,1),y,z&{x}),
ym=(x)=>Date.Year(x)*12+Date.Month(x),
dm=(x,y)=>ym(y)-ym(x),
 
    from = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    ot = Date.StartOfMonth(List.Min(from[Начало работ])),
    num = ym(ot),
    do = List.Max(from[Завершение работ]),
    lst = List.Buffer(h(ot,do,{})),
    nms = Table.ColumnNames(from)&List.Transform(lst,(x)=>DateTime.ToText(x,"yyyyMM")),
    hrs = List.Buffer(List.Transform(lst,(x)=>Duration.TotalHours(Date.EndOfMonth(x)-x))),
    to = Table.FromList(Table.ToList(from,f),(x)=>x,nms)
in
to
Ни разу не лаконичный, зато дело своё делает как надо ))) Ну а что тут к чему смотрите, как всегда, на Ютубе Лайк, коммент, подписка приветствуются ))) Поддержка канала Надеюсь, было полезно. Всех благ! @buchlotnik
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily