Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы поговорим о том, как в Power BI или PowerPivot заменить одну часть текста другой, например, исправить какие-либо ошибки в исходном тексте. В языке DAX за это отвечают две функции REPLACE и SUBSTITUTE.
Давайте разберем эти функции, их параметры и свойства. А также, составим примеры формул и посмотрим их работу на практике.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
Да, и еще один момент, в рамках распродажи до 29 ноября 2024 г. у Вас имеется возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 50% (вместо 10000, всего за 5000 руб.)
В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.
Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 50% (до 29 ноября 2024 г.): узнать подробнее
DAX функция REPLACE в Power BI и Power Pivot
REPLACE () — заменяет один текст другим, с учетом стартовой позиции и количества символов.
Синтаксис:
REPLACE ("Текст 1"; Позиция; Количество; "Текст 2")
Где:
- Текст 1 – старый текст, который нужно изменить
- Текст 2 – новый текст, которым нужно заменить старый
- Позиция – номер позиции символа, с которого нужно заменять старый текст
- Количество – количество символов, которые нужно заменить
Пример формулы на основе DAX функции REPLACE.
В Power BI Desktop имеется исходная таблица «Спорт Товары», содержащая перечисление спортивных курток бренда NIKE:
Но, в этой таблице наименование бренда записано с ошибкой — NICE. Задача — в исходной таблице создать столбец с перечислением спортивной одежды без ошибок в наименовании бренда. Попробуем решить эту задачу при помощи DAX функции REPLACE, которая сможет заменить слово NICE на NIKE.
Запишем формулу, где в первом параметре REPLACE вставим ссылку на исходный столбец с текстовой информацией, во втором параметре укажем позицию, с которой нужно начать замену символов, равную 7. В третьем параметре пропишем количество символов для замены — 4 и в четвертом параметре само новое слово «NIKE»:
Спортивная Одежда NEW = REPLACE ([СпортивнаяОдежда]; 7 ; 4; "NIKE")
Но, в Power BI, к сожалению, результат не тот, который мы ожидали:
А именно, в первой строке наименование бренда написано слитно с первым словом и вообще, имя бренда опять написано неправильно. Вся эта ошибка возникла из-за того, что мы в формуле указали 7 позицию символа, с которого нужно начать замену. Но, 7 позиция верна только для 2 и 3 строки, а для первой нужна 8 позиция, так как первое слово в первой строке длиннее на 1 символ, чем во 2 и 3 строке.
Чтобы исправить эту ошибку, дополнительно воспользуемся еще одной функцией языка DAX — SEARCH (подробно ознакомиться с этой функцией Вы можете в данной статье), которая способна найти искомое слово с ошибкой и вернуть его стартовую позицию. Исправим нашу формулу:
Спортивная Одежда NEW = REPLACE ( [СпортивнаяОдежда]; SEARCH ("NICE"; [СпортивнаяОдежда]; 1; 1); 4; "NIKE" )
Проверим работу этой формулы в Power BI:
Как мы видим, теперь ошибка в наименовании бренда исправлена.
DAX функция SUBSTITUTE в Power BI и Power Pivot
SUBSTITUTE () — заменяет один текст другим с учетом регистра.
Синтаксис:
SUBSTITUTE ("Текст 1"; "Текст 2"; "Текст 3"; Номер Вхождения)
Где:
- Текст 1 – исходный текст (столбец с текстовыми данными)
- Текст 2 – часть текста, которую нужно изменить
- Текст 3 – новая часть текста
- Номер вхождения — (необязательный параметр) вхождение (повторы) того слова, которое нужно заменить. Если параметр неуказан, то по умолчанию заменяются все вхождения (повторы) искомого слова
Рассмотрим формулу на основе DAX функции SUBSTITUTE, продолжая пример, который мы рассматривали выше, но сейчас, немного усложним исходные данные.
В Power BI имеется такая же исходная таблица по спортивным товарам, но сейчас там расположены разные бренды, и ошибка в наименовании бренда NIKE допущена только в одной строке:
Если мы попытаемся изменить ошибку при помощи функции REPLACE, которую рассматривали выше, то из-за того, что в ней нужно указывать точный номер позиции первого символа для замены, ошибку здесь изменить невозможно:
И тут, нам на помощь приходит еще одна текстовая функция языка DAX — SUBSTITUTE, в которой уже нет необходимости указывать какие-либо стартовые позиции. В ней просто нужно указать именно то конкретное слово, которое нужно изменить. Напишем формулу с участием функции SUBSTITUTE:
Спортивная Одежда NEW = SUBSTITUTE ([СпортивнаяОдежда]; "NICE"; "NIKE")
В первом параметре этой функции мы указали исходный столбец с текстовыми данными, во втором — искомое текстовое выражение и в третьем — текст для замены.
В итоге, в Power BI Desktop мы можем наблюдать созданный вычисляемый столбец с информацией без каких-либо ошибок:
На этом, с разбором DAX функций REPLACE и SUBSTITUTE, заменяющих одну часть текста другой в Power BI и Power Pivot, все.
Друзья, хотите изучить полный курс по языку DAX для Power BI и Power Pivot
со скидкой 50% вместо 10000 всего за 5000 р.?
акция действует до 29 ноября
Узнать все подробности об этом курсе, а также заказать его со скидкой 50% всего за 5000 руб. Вы можете на странице курса, кликнув по кнопке ниже (до 29 ноября):
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D