如何在 SSAS 表格模型中使用 DAX 公式从电子邮件地址获取用户名

How to get user name from email address using DAX formula in SSAS tabular model

我有一个 SSAS 表格多维数据集,我正在从底层数据库获取数据。

我有一个 table 员工,其列为: 职称 EmployeeID(一些数字 ID) 电子邮件地址 全名 部门

我有这样的电子邮件地址 列中的数据 - kunalshukla@yahoo.com(仅示例)

想要提取-kunalshukla 并清除@yahoo.com

我想要一个简单的 DAX 公式来完成这个任务

我尝试并能够在 DAX 表格模型 (SSAS) 中使用以下公式获得预期结果

=MID(员工[电子邮件地址],1,SEARCH("?@yahoo.com",员工[电子邮件地址],BLANK()))

  • 这里我用的是“?”作为通配符搜索,没有它会给出错误:

"An argument of the MID has the wrong data type or has an invalid data value"

另请注意,如果没有“?”,SEARCH、FIND 函数将无法找到特殊字符“@”。在它之前。

如果您觉得有帮助,请告诉我

没有 ?:

这对我来说效果很好
= LEFT(Employee[Email Address], FIND("@", Employee[Email Address],,1) - 1)

这也是:

= LEFT(Employee[Email Address], SEARCH("?@", Employee[Email Address],,BLANK()))

我建议省略 yahoo.com 部分,这样如果您碰巧有不同的域,它就不会中断。