List.PositionOf в действии
#АнатомияФункций – List.PositionOf
Всем привет!
Завершаем разбор задачи по поиску ключевых слов/фрагментов.
В чате был представлен отличный вариант:
Но я предлагаю другой:
И вот как оно так и почему быстрее смотрим на дзене -
Исходники лежат на sponsr
А с ютубчиком увы… впн-ить админку, чтобы туда что-то залить – это уже перебор. (поправочка, если всё-таки зальётся, то будет тут)
Лайки, комменты, подписки приветствуются )))
Надеюсь, было полезно.
Всех благ!
@buchlotnik
#АнатомияФункций – List.PositionOf
Всем привет!
Завершаем разбор задачи по поиску ключевых слов/фрагментов.
В чате был представлен отличный вариант:
let
f=(x)=>[z1=List.PositionOf(search,x,Occurrence.First,(c,v)=>Text.Contains(v,c)),
z2=if z1<>-1 then res{z1} else null][z2],
dict=Excel.CurrentWorkbook(){[Name="Таблица3"]}[Content],
search = List.Buffer(dict[Назначение платежа]),
res = List.Buffer(dict[Статья расходов]),
from = Table.PromoteHeaders(Excel.CurrentWorkbook(){[Name="data"]}[Content])[[Дата проведения],[Сумма в валюте счёта],[Назначение платежа]],
tr = Table.TransformColumns(from,{"Назначение платежа",Text.Lower}),
to = Table.TransformColumns(tr,{"Назначение платежа",f})
in
to
Но я предлагаю другой:
let
f=(x)=>((a)=>res{List.PositionOf(search,a,Occurrence.First,(c,v)=>Text.Contains(v,c))})(Text.Lower(x)),
dict=Excel.CurrentWorkbook(){[Name="Таблица3"]}[Content],
search = List.Buffer(dict[Назначение платежа]&{""}),
res = List.Buffer(dict[Статья расходов]&{null}),
from = Table.PromoteHeaders(Excel.CurrentWorkbook(){[Name="data"]}[Content])[[Дата проведения],[Сумма в валюте счёта],[Назначение платежа]],
to = Table.TransformColumns(from,{"Назначение платежа",f})
in
to
И вот как оно так и почему быстрее смотрим на дзене -
Исходники лежат на sponsr
А с ютубчиком увы… впн-ить админку, чтобы туда что-то залить – это уже перебор. (поправочка, если всё-таки зальётся, то будет тут)
Лайки, комменты, подписки приветствуются )))
Надеюсь, было полезно.
Всех благ!
@buchlotnik