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

PowerBI技术咨询:如何按指定规则将一列拆分为三个新列

PowerBI 列拆分实现方案

针对你需要将一列拆分为Left、数字列、Right列的需求,以下是两种可行的实现方式:


方式一:Power Query 预处理(推荐,适合批量数据清洗)

  1. 进入Power Query编辑器:选中目标数据列,点击「转换」→「编辑查询」
  2. 添加Left列
    • 点击「添加列」→「自定义列」,输入公式(替换[你的原列名]为实际列名):
      = if Text.IsLetter(Text.Start([你的原列名], 1)) then Text.Start([你的原列名], 1) else ""
      
    • 重命名列名为「Left」
  3. 添加Right列
    • 再次添加自定义列,输入公式:
      = if Text.EndsWith([你的原列名], "W") then "W" else ""
      
    • 重命名列名为「Right」
  4. 添加数字列(去除百分号)
    • 添加自定义列,输入公式:
      = let
          removePrefix = if Text.IsLetter(Text.Start([你的原列名],1)) then Text.Range([你的原列名],1) else [你的原列名],
          removeSuffix = if Text.EndsWith(removePrefix, "W") then Text.Range(removePrefix, 0, Text.Length(removePrefix)-1) else removePrefix,
          cleanNum = Number.From(Text.Remove(removeSuffix, "%"))
        in
          cleanNum
      
    • 重命名列名为「数字列」(可自定义名称)

方式二:DAX 计算列(适合报表内实时计算)

在报表视图中,依次添加以下计算列(替换'表名'[原列名]为实际表名和列名):

  • Left列:
    Left = IF(ISERROR(VALUE(LEFT('表名'[原列名],1))), LEFT('表名'[原列名],1), "")
    
  • Right列:
    Right = IF(RIGHT('表名'[原列名],1) = "W", "W", "")
    
  • 数字列:
    数字列 = VALUE(SUBSTITUTE(SUBSTITUTE('表名'[原列名], [Left], ""), IF([Right]="W", "W", "") & "%", ""))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:45:28