Как получить имя пользователя из адреса электронной почты, используя формулу DAX в табличной модели SSAS

#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 имеет неправильный тип данных или недопустимое значение данных»

Также обратите внимание, что функции ПОИСКА не могут найти специальный символ «@», если он задан без «?» перед ним.

Дайте мне знать, если найдете это полезным