Power Query Продвинутый №26. Множественная замена текста c List.Accumulate и VBA

preview_player
Показать описание
В этом уроке мы научимся делать множественную текстовую замену с помощью Power Query. Для этого мы воспользуемся функцией List.Accumulate. Также разберем как решить эту задачу при помощи VBA.

Рекомендации по теме
Комментарии
Автор

Подписан, смотрю, учусь. Так держать, продолжайте в том же духе. Пополнил ряды спонсоров. Поддержим автора стаканом кофе в месяц.)

ИгорьСлободчиков-бъ
Автор

9:03 Я решил проблему с порядком значений в таблице Замена1. В эту таблицу я добавил столбец "Длина строки" с формулой Text.Length([Найти]) и отсортировал по этому столбцу в порядке убывания. Теперь значения можно вставлять в произвольном порядке, не заморачиваясь с порядком.

ДенисМи-цй
Автор

Одно из самых полезных видео на каналеУже протестировал и адаптировал код под свои данные))
Огромное спасибо, Тимур!)

АлександрСудиловский-жй
Автор

А вот и долгожданное применение List.Accumulate(). Спасибо! Как всегда информативно и интересно. Но код уже не простой для восприятия; как же в PQ не хватает регулярок для таких целей...

РоманКовков-ку
Автор

Добрый день, Тимур! то что ВЫ делаете это просто бомба, спасибо Вам, очень хотелось чтобы ВЫ записали видео про функцию List.TransformMany? это функция сложная очень и не понятная, заранее благодарю!

AhmedAriem
Автор

C недавних пор я стал совмещать VBA и PQ. Т.е., в файле находится кнопка запускающая макрос, работник указывает пути к исходным папкам/файлам и нажимает кнопку, макрос собирает данные, что-то дорабатывает и запускает обновление книги, тогда начинается основная работа в PQ. Можно сделать, что бы макрос подождал окончания обновлений и продолжил какую-то работу, но так пока не приходилось делать.

mdbm
Автор

Здравствуйте Тимур, В первую очередь спасибо Вам за отличные курсы.
Скажите пожалуйста, в таблице "справочник" где находятся записи что на что менять, сколько максимум записей можно включать?
Спасибо за ранее 🥰👍

teimurazgagua
Автор

Здравствуйте! Подскажите, похожим методом можно заменять числовые значения?

IrinaIrins-eprt
Автор

Тимур, добрый вечер. Видео супер! Немного запутался, подскажите, пожалуйста, если в таблице [Замена_1] будет три столбца {+Добавить Маркировку} (таблица будет выглядеть так: [Замена_1, {Найти, Заменить, Добавить Маркировку}]), то как будет выглядеть формула в Шаге #Пользовательская (13 минута видео), если нужно добавить третий столбец из [Замена_1] рядом со столбцом Пользовательская. Именно без дополнительных шагов объединения и/или заранее объединения столбцов {Заменить, Добавить Маркировку}, а потом их разделения.... ведь точно есть более легкий способ...
Спасибо

nikbo
Автор

Пытался внести изменения без добавления столбца, но не работает. Может в таких видео Вам лучше копировать столбец, а потом писать там код преобразования данных.

= тип", {{"Агент", each List.Accumulate(

List.Positions(Замена[Найти]),
[Агент],

(state, current)=>

Text.Replace(

state,

Замена[Найти]{current},
Замена[Заменить]{current}

))}})

Что не так?

Ямайнер-ед
Автор

Мне VBA язык больше понятен чем язык М. Я бы в нем сделал.

Rusia-