Как вывести значение между двумя символами в Power Query
В аналитике периодически возникает потребность в выводе значений между какими-то символами. Поскольку чаще всего я работаю с Power Query (надстройка в Эксель и Power BI), то расскажу как это можно сделать там.
Также ранее, я рассказывал как это делать с помощью регулярных выражений и Гугл Таблиц.
Как вывести значение между двумя символами
Итак, приведу пример. В выгрузке из CRM от клиента пришли вот такие данные →
Чтобы связать данные из CRM и данные из рекламы, необходимо иметь отдельно параметр utm_campaign, который сейчас зашит в одной строчке данных.
utm_source=yandex.ru&utm_medium=referral&utm_campaign=y_sa_test_campaign_rus&utm_term=&utm_content=%2F
Если использовать стандартные формулы, то скорее всего ничего не получится, т.к. количество символов постоянно меняется, не к чему особенно привязаться. Единственное решение на уровне рекламы делать более точную разметку. Но есть более простое решение.
Формула Text.BetweenDelimiters в Power Query
Данная функция позволяет вывести значение между указанными нами символами. официальная справка лежит тут.
Для того, чтобы её задействовать получаем данные в Power Query не важно каким образом: из файла, таблицы, базы данных или прочими вариантами.
Далее жмём добавить «Настраиваемый столбец» и прописываем формулу.
=textText.BetweenDelimiters([UTM],"utm_campaign=","&")
Формула говорит, возьми ячейку из столбца UTM и выведи то, что лежит между “utm_campaign=” и “&”. В нашем случае это как раз название кампании. Получаем следующее.
Таким образом получаем на выходе нужный параметр, по которому уже в дальнейшем просто связать разные источники данных. Также можно вытащить и прочие utm параметры из нашей ссылки.