Задача
В колонке url лежит ссылка с utm_source, utm_medium и utm_campaign. В выгрузке нужны отдельные колонки для каждой метки.
Короткий ответ
Можно вытащить значение через последовательное удаление частей строки. Если ссылок много, удобнее сделать то же регулярным выражением.
Как сделать в Eofferix через поиск и удаление подстроки
- Создайте итоговую колонку
utm_sourceизurl. - Добавьте правило: Содержит подстроку
utm_source=— Удалить до. После него строка начинается с нужного параметра. - Добавьте правило: Содержит подстроку
utm_source=— Удалить подстрокуutm_source=. - Чтобы убрать следующие параметры, добавьте пары правил для
&и#: Удалить после, затем Удалить подстроку.
Вариант без regex последовательно отрезает все до utm_source, имя параметра и хвост после значения. - Для
utm_mediumиutm_campaignповторите схему, заменив имя параметра.
Как сделать в Eofferix через регулярные выражения
- Для
utm_sourceдобавьте правило: Регулярное выражение(?<=utm_source=)[^&#]+, действие Удалить все, кроме. (?<=utm_source=)означает “начать сразу послеutm_source=”.[^&#]+означает “взять один или несколько символов, пока не встретится&или#”.
Regex оставляет только значение параметра utm_source. - Для
utm_mediumиспользуйте(?<=utm_medium=)[^&#]+, дляutm_campaign—(?<=utm_campaign=)[^&#]+.
Было / стало
Было
исходные данные| row_id | url |
|---|---|
| 1 | https://shop.example.com/product?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale |
Стало
результат| row_id | utm_source | utm_medium | utm_campaign |
|---|---|---|---|
| 1 | cpc | spring_sale |