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

Power Query中移除Customer PO列前导零的方法求助

Power Query移除Customer PO列单个/两个前导零的解决方案

你的原公式仅做了开头字符判断,但未执行截取操作,所以无法移除前导零,以下是两种可行的解决方法:

方法一:条件判断精准截取文本

通过判断开头字符的情况,针对性截取后续内容:

= Table.TransformColumns(#"Filtered Rows1", {
    {"Customer PO", each 
        let
            textVal = Text.From(_),
            len = Text.Length(textVal)
        in
            if len >= 2 and Text.Start(textVal, 2) = "00" then Text.Range(textVal, 2)
            else if len >= 1 and Text.Start(textVal, 1) = "0" then Text.Range(textVal, 1)
            else textVal
    }
})
  • 先将列值转为文本格式,避免数值类型丢失前导零信息
  • 优先判断是否以00开头,是则从第3位(索引2)开始截取文本
  • 若仅以单个0开头,则从第2位(索引1)开始截取
  • 其他情况直接返回原文本

方法二:正则表达式替换(更简洁)

利用正则匹配开头1-2个0,直接替换为空:

= Table.TransformColumns(#"Filtered Rows1", {
    {"Customer PO", each Text.Replace(Text.From(_), "^0{1,2}", "", [Regex=true])}
})
  • ^0{1,2}是正则表达式:^匹配字符串开头,0{1,2}匹配1个或连续2个0
  • 通过[Regex=true]启用正则替换,精准移除目标前导零,不会影响文本中间或末尾的0

注意事项

如果Customer PO列是数值类型,必须用Text.From(_)转为文本后再处理——因为数值类型本身不会保存前导零,直接处理会导致原始前导零信息丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:02:02