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

Power Query中使用M语言跨多列检索并忽略大小写的实现方法

Power Query M语言:实现大小写不敏感的Pass/Fail计数

你原代码的问题在于直接用=运算符做比较是大小写敏感的,而Comparer.OrdinalIgnoreCase需要配合支持比较器的函数(比如Text.Equals)才能生效,直接用=没法传入比较器参数。下面给你两种可行的修改方案:

方案一:使用Text.Equals搭配Comparer.OrdinalIgnoreCase

直接通过Text.Equals指定忽略大小写的比较规则,代码修改如下:

List.Count(
    List.Select(
        Record.ToList(_),
        each Text.Equals(_, "Pass", Comparer.OrdinalIgnoreCase) 
            or Text.Equals(_, "Fail", Comparer.OrdinalIgnoreCase)
    )
)

这样不管目标值是pass、PASS、Fail还是fail,都会被正确匹配统计。

方案二:统一转换为小写(或大写)后比较

另一种更直观的写法是把每个值统一转成小写(或大写),再和小写的目标字符串比较:

List.Count(
    List.Select(
        Record.ToList(_),
        each let lowerVal = Text.Lower(_) in lowerVal = "pass" or lowerVal = "fail"
    )
)

这种方式逻辑简单,也能实现完全的大小写不敏感匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 08:57:14