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

如何在PowerBI中按指定条件从现有列提取内容创建新列?

嘿,我来帮你搞定这个需求!在PowerBI里要实现这个提取现有列内容创建新列的逻辑,有两种常用的方法——用DAX创建计算列,或者用Power Query编辑器添加自定义列,我都给你详细拆解:

方法一:使用DAX创建计算列

这是在报表视图里快速创建列的方式,步骤很简单:

  • 先打开PowerBI的报表视图,在右侧数据面板里选中你要操作的目标表
  • 点击顶部菜单栏的建模选项卡,选择新建列
  • 在顶部的公式栏里,输入下面的DAX表达式(记得替换成你实际的表名和列名):
新列名称 = 
IF(
    CONTAINSSTRING('你的表名'[现有列名称], "0,0.1"),
    "DisplaySize",
    '你的表名'[现有列名称]
)
  • 简单解释下:CONTAINSSTRING函数会检查现有列的内容里是否包含指定的文本"0,0.1",如果符合条件就返回"DisplaySize",不符合的话就直接沿用原列的内容。
方法二:使用Power Query编辑器添加自定义列

如果需要更灵活的文本处理,或者要在数据加载前就完成转换,用Power Query更合适:

  • 进入Power Query编辑器:点击顶部主页选项卡的转换数据按钮
  • 选中目标表后,切换到添加列选项卡,点击自定义列
  • 在弹出的对话框里,输入下面的M语言表达式(替换现有列名称为你实际的列名):
= if Text.Contains([现有列名称], "0,0.1") then "DisplaySize" else [现有列名称]
  • 点击确定后,再点击关闭并应用,回到报表视图就能看到新生成的列啦。

小提示:如果你的需求需要严格区分大小写匹配,可以把DAX里的CONTAINSSTRING换成CONTAINSSTRINGEXACT,或者在Power Query的表达式里改成Text.Contains([现有列名称], "0,0.1", Comparer.Ordinal),默认是不区分大小写的,一般场景下够用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:08:47