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

Power Query中简化Text.Contains多条件判断的代码优化问询

简化Power Query中多条件Text.Contains判断逻辑

你可以用数组+List.AnyTrue+List.Transform的组合来简化多条件判断,后续要加新关键词直接往数组里加就行,不用再加新的Text.Contains语句。

修改后的代码如下:

= Table.AddColumn(
    #"Renamed Columns", 
    "Company Name", 
    each if Text.Length([Person Surname]) > 20 or 
    List.AnyTrue(List.Transform({"Ltd", "Limited", "LLP"}, (keyword) => Text.Contains([Person Surname], keyword))) then [Person Surname]
    else ""
)

关键逻辑说明

  • 定义关键词数组 {"Ltd", "Limited", "LLP"},后续新增判断条件直接在数组里追加元素即可
  • List.Transform 遍历数组里的每个关键词,把每个关键词转换成对应的 Text.Contains([Person Surname], keyword) 判断结果(布尔值)
  • List.AnyTrue 检查转换后的布尔值列表,只要有一个为真就返回True,等价于原来多个or连接的逻辑

如果需要忽略大小写匹配(比如同时匹配"llp"和"LLP"),可以给Text.Contains加第三个参数:

List.AnyTrue(List.Transform({"Ltd", "Limited", "LLP"}, (keyword) => Text.Contains([Person Surname], keyword, Comparer.OrdinalIgnoreCase)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:30:06