209 похожих чатов

Приветствую ещë раз! На этот раз прикладываю файл с тестовой

выборкой. На ней всë работает, но глохнет на полном датасете в 33к строк.
Проблемные шаги обозначены приставкой PROBLEM.
Вопрос #1 в том, можно ли оптимизировать регулярку в пользовательской функции? Например, чтобы она не запускалась на каждой строке с данными, а каким-то образом один раз обрабатывала полный столбец?
Проблема #2 может и не проблема вовсе, но если чей-то цепкий взгляд сможет предложить, как второй PROBLEM шаг оптимизировать, буду крайне благодарен.

8 ответов

36 просмотров

регулярку оптимизировать нельзя - оптимизация состоит в отказе от регулярок (x as text)=> let lst = Text.SplitAny(x," :,"), nums ={"0","1","2","3","4","5","6","7","8","9"}, starts=List.Buffer(List.Skip(nums,5)), tr=List.Transform(lst,(i)=>Text.Select(i,nums)), rem = Text.Combine(List.Distinct(List.Select(tr,(i)=>Text.Length(i)=10)),", ") in rem

Ilya-Koshi Автор вопроса
Mikhail Muzykin
screenshot регулярку оптимизировать нельзя - оптимизация сост...

Огромное спасибо! В отличие от стандартной регулярки - я так и не смог понять, как это работает, видимо всë-таки постичь М мне не дано 🥲

Ilya-Koshi Автор вопроса
Maxim Zelensky
Миша, а starts ты не забыл применить?

А куда его воткнуть? Я так понял в последний шаг, но поскольку не понимаю, что происходит в этой функции примерно с середины, не уверен что смогу поправить самостоятельно.

Maxim Zelensky
Миша, а starts ты не забыл применить?

я показал принцип - там вообще не по одному документу по строке может быть

Ilya-Koshi Автор вопроса
Mikhail Muzykin
я показал принцип - там вообще не по одному докуме...

То что там несколько находит это не проблема, главное чтобы лишнее не принималось за документ, то что начинается на 0-4 это мусор

Ilya Koshi
То что там несколько находит это не проблема, глав...

(x as text)=> let lst = Text.SplitAny(x," :,"), nums ={"0","1","2","3","4","5","6","7","8","9"}, starts=List.Buffer(List.Skip(nums,5)), tr=List.Transform(lst,(i)=>Text.Select(i,nums)), rem = Text.Combine(List.Distinct(List.Select(tr,(i)=>Text.Length(i)=10 and List.Contains(starts,Text.Start(i,1)))),", ") in rem

Ilya-Koshi Автор вопроса
Mikhail Muzykin
(x as text)=> let lst = Text.SplitAny(x," :,")...

Ещë раз благодарю, на тестовом значении 2.... теперь корректно отработало! 😮‍💨😮‍💨😮‍💨

Похожие вопросы

Обсуждают сегодня

@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Hello, Is iExec also part of the "inception program" or another one ? Would it be a name to qualified the nature of the relationship between iExec and Nvidia? And does Secret ...
Ñïķøłäś
8
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
any reference of this implementation?
BitBuddha
29
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
Карта сайта