如何在Amazon QuickSight创建计算字段提取邮箱域名
Amazon QuickSight 提取邮箱域名的计算字段实现
你可以直接通过QuickSight原生字符串函数组合实现需求,和你给出的SQL逻辑完全对齐,操作步骤如下:
- 进入目标分析页面,在左侧字段栏点击「+ 添加」按钮,选择「添加计算字段」选项
- 在计算字段编辑弹窗中,先为新字段命名,例如
Domain - 在公式编辑区输入对应表达式后保存即可使用
基础实现公式(和参考SQL逻辑完全一致)
substring({Email}, strpos({Email}, '@') + 1, strlen({Email}))
公式各部分逻辑说明:
strpos({Email}, '@'):定位@符号在邮箱字段中的位置,对应参考SQL中的CHARINDEX('@', [Email])- 位置结果+1:跳过
@符号本身,从域名的第一个字符开始截取strlen({Email}):传入邮箱总长度作为截取长度,QuickSight在截取时如果指定长度超过字符串剩余长度,会自动截取到字符串末尾,和参考SQL中传入LEN([Email])的效果完全一致
举个验证示例:如果邮箱字段值为marco@company.com,strpos定位到@在第6位,从第7位开始截取,最终返回结果为company.com,符合预期。
异常值兼容版本
如果你的邮箱字段存在不含@的无效值,可以用带判断的公式,让无效值返回空,避免把整个无效字符串识别为域名:
ifelse( strpos({Email}, '@') > 0, substring({Email}, strpos({Email}, '@') + 1, strlen({Email})), NULL )
内容的提问来源于stack exchange,提问作者Marco Veneziani
相关产品推荐
相关产品推荐

