如何在PowerBI中移除文本列内的手机号码(无法使用R或Python)
在PowerBI中移除文本里的手机号(不用R/Python)
处理方案
针对你给出的8位数字格式手机号,直接用PowerBI自带的DAX函数就能实现,分两种场景处理:
场景1:每条记录最多一个手机号
直接新建计算列,使用以下DAX公式(假设你的数据表名为案件表):
处理后详情 = VAR 原文本 = '案件表'[Details] VAR 手机号起始位置 = SEARCH("????????", 原文本, 1, BLANK()) RETURN IF( NOT ISBLANK(手机号起始位置), REPLACE(原文本, 手机号起始位置, 8, ""), 原文本 )
说明:"????????"用来匹配8位连续字符,对应示例里的手机号长度;SEARCH定位手机号的起始位置,REPLACE将这8位数字替换为空串。如果文本中没有手机号,直接返回原内容。
场景2:单条记录可能包含多个手机号
这种情况可以先创建一个递归的DAX自定义函数,批量替换所有手机号:
- 点击顶部菜单栏的
建模选项卡 → 选择新建函数 - 粘贴以下函数代码:
移除手机号 = FUNCTION(输入文本 AS STRING) AS STRING VAR 手机号起始位置 = SEARCH("????????", 输入文本, 1, BLANK()) RETURN IF( ISBLANK(手机号起始位置), 输入文本, 移除手机号(REPLACE(输入文本, 手机号起始位置, 8, "")) )
- 再新建计算列调用该函数:
处理后详情 = 移除手机号('案件表'[Details])
效果验证
用你提供的示例数据测试,处理后结果如下:
| Ref | 处理后详情 |
|---|---|
| 1 | Mary于24.6.2023来电咨询其申请情况,请致电她,她希望3天内解决该问题。 |
| 2 | 来电日期:23.5.2023 来电人:Jane 联系方式: 她需要回电。 |
内容的提问来源于stack exchange,提问作者LSY
相关产品推荐
相关产品推荐

