Table.Group, ListAnyTrue и прочие Splitter.SplitTextByCharacterTransition

#АнатомияФункций - ютуб



Всем привет!

Подкинули прикольную задачку в чат - группировка, словари, текстовые преобразования – получил удовольствие, записал рабор.

Код складываю тут:

let

lst=List.Buffer({"0".."9"}),



dict = Record.FromTable(Excel.CurrentWorkbook(){[Name="спрСубъекты2"]}[Content]),

f=(x)=>if List.AnyTrue(List.Transform({"R","UA","UB","UC", "UD", "UE", "UF", "UG", "UH", "UI"},(y)=>Text.StartsWith(x,y)))

then Record.Field(dict,Text.Start(Splitter.SplitTextByCharacterTransition((i)=>not List.Contains(lst,i),lst)(x){1},2))

else null,

g=(x)=>if x{0}[reg]=null

then Table.AddColumn(x,"Область",(r)=>null)

else Table.TransformColumns(Table.AddIndexColumn(Table.Sort(x,{"Date","Time"}),"Область",1),{"Область",(x)=>if x=1 then 1 else 0}),





from = Excel.CurrentWorkbook(){[Name="Таблица"]}[Content],

add = Table.AddColumn(from,"reg",(r)=>f(r[HisCall])),

gr = Table.Group(add,{"MyCall","Band","reg"},{"tmp",g}),

tbl = Table.Combine(gr[tmp]),

to = Table.RemoveColumns(tbl,"reg")

in

to


Ну а что тут к чему, как обычно, рассказывается на Ютубе



Лайк, коммент, подписка приветствуются )))



Надеюсь, было полезно.

Всех благ!

@buchlotnik