You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Power BI中使用DAX为含空值的手机号文本添加短横线分隔符

DAX 手机号格式化完整实现方案

基础版(仅按长度判断格式化)

直接填入你给出的IF逻辑空位即可,使用LEFT、MID、RIGHT函数拆分10位手机号后拼接短横线:

Formatted Phone Number = 
IF(
    LEN('dataset'[Phone Number]) = 10,
    LEFT('dataset'[Phone Number], 3) & "-" & MID('dataset'[Phone Number], 4, 3) & "-" & RIGHT('dataset'[Phone Number], 4),
    'dataset'[Phone Number]
)

增强版(增加纯数字校验)

如果你的数据中存在10位但包含非数字字符的无效内容,可以新增校验逻辑避免错误格式化:

Formatted Phone Number = 
VAR OriginalPhone = 'dataset'[Phone Number]
VAR IsValid10Digit = LEN(OriginalPhone) = 10 && NOT(ISERROR(VALUE(OriginalPhone)))
RETURN
IF(
    IsValid10Digit,
    LEFT(OriginalPhone, 3) & "-" & MID(OriginalPhone, 4, 3) & "-" & RIGHT(OriginalPhone, 4),
    OriginalPhone
)

注意事项

  • 两个版本都会保留所有不符合条件的原始值,包括空值、长度不符的号码、带其他格式的号码,不会做额外修改
  • 如果需要先清理手机号中的非数字字符(比如空格、括号、加号),可以在OriginalPhone变量后新增替换逻辑批量清除无效字符后再做判断

内容的提问来源于stack exchange,提问作者user35131

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 20:42:03