#ssas #dax
#ssas #dax
Вопрос:
У меня есть табличный куб SSAS, и я получаю данные из базовой базы данных.
У меня есть таблица Employee со столбцами: Название должности Идентификатор сотрудника (некоторый числовой идентификатор) Адрес электронной почты Полное название отдела
У меня есть адрес электронной почты, подобный этим данным в столбце — kunalshukla@yahoo.com (просто пример)
Хотите извлечь — kunalshukla и очистить @yahoo.com
Мне нужна формула DAX, которая проста для выполнения этой задачи
Ответ №1:
Это сработало просто отлично для меня без ?
:
= LEFT(Employee[Email Address], FIND("@", Employee[Email Address],,1) - 1)
Это тоже делает:
= LEFT(Employee[Email Address], SEARCH("?@", Employee[Email Address],,BLANK()))
Я рекомендую опустить yahoo.com
часть, чтобы она не сломалась, если у вас случайно окажется другой домен.
Ответ №2:
Я попытался и смог получить ожидаемый результат, используя приведенную ниже формулу в табличной модели DAX (SSAS)
=MID(Сотрудник[Адрес электронной почты],1, ПОИСК(«?@yahoo.com «,Employee[Адрес электронной почты],,ПУСТОЙ()))
- Здесь я использую «?» в качестве поиска по шаблону, без этого он выдаст ошибку как:
«Аргумент MID имеет неправильный тип данных или недопустимое значение данных»
Также обратите внимание, что функции ПОИСКА не могут найти специальный символ «@», если он задан без «?» перед ним.
Дайте мне знать, если найдете это полезным