Table.Group, ListAnyTrue и прочие Splitter.SplitTextByCharacterTransition
#АнатомияФункций - ютуб
Всем привет!
Подкинули прикольную задачку в чат - группировка, словари, текстовые преобразования – получил удовольствие, записал рабор.
Код складываю тут:
Ну а что тут к чему, как обычно, рассказывается на Ютубе
Лайк, коммент, подписка приветствуются )))
Надеюсь, было полезно.
Всех благ!
@buchlotnik
#АнатомияФункций - ютуб
Всем привет!
Подкинули прикольную задачку в чат - группировка, словари, текстовые преобразования – получил удовольствие, записал рабор.
Код складываю тут:
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