View in Telegram
Expression.Evaluate + таблица условий =… кайф #АнатомияФункций - Expression.Evaluate Всем привет! Подогнали задачку с таблицей условий для формирования агрегаций по таблице. Так и хочется сказать, что я таблицы не люблю, ими давлюсь и предпочитаю списки разводить… Но, с другой стороны, почему бы не поупражняться с Expression.Evaluate? По этому поводу код:
let
    f = (x)=>[  a = "Column"&Text.From(List.Last(Record.ToList(x{0}))),
                b = Table.SelectRows(base,g(x)),
                c = List.Sum(Table.Column(b,a))][c],
    g = (x)=>[  a = List.Split(List.RemoveLastN(List.Skip(Table.ToColumns(x)),1),3),
                b = (x)=>if x{2}{0}=null then null else "("&Text.Combine(List.Transform(List.Distinct(x{2}),c(x))," or ")&")",
                c = (x)=>(y)=>Text.Format("(x[Column#{0}]#{1}""#{2}"")",{x{0}{0},x{1}{0},y}),
                d = Expression.Evaluate("(x)=>"&Text.Combine(List.Transform(a,b)," and "))][d],
    
    base = Table.Buffer(Excel.CurrentWorkbook(){[Name="Исходные"]}[Content]),
    from = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    to = Table.Group(from, "Строка итога", {"Сумма",f})
in
to
Ну а что тут к чему – смотрим дзен Файл-исходник забираем на sponsr Даже ютуб сегодня благосклонен Лайки, комменты, подписки приветствуются ))) (по подписке ещё и курс с понедельника) Надеюсь, было полезно. Всех благ! @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