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

Power Query多条件判断求和实现问题(DAX逻辑迁移)

Power Query实现多列非"NA"值计数

需求说明:新增一列,统计column_1至column_5中不等于"NA"的列的数量(例如前3列非NA、后2列为NA时结果为3),对应DAX逻辑已实现,需迁移至Power Query。

原代码错误原因

你编写的代码报错是因为List.Sum的参数格式错误:

  • List.Sum仅接受单个列表作为参数,你传入了多个独立的each表达式列表
  • 列表元素前无需重复添加each关键字

正确实现方式

方式1:模拟DAX逐列判断求和

直接对应DAX的逻辑,逐列判断后累加结果:

= Table.AddColumn(#"Added Custom1", "Addition", each 
    (if [#"column 1"] <> "NA" then 1 else 0) +
    (if [#"column 2"] <> "NA" then 1 else 0) +
    (if [#"column 3"] <> "NA" then 1 else 0) +
    (if [#"column 4"] <> "NA" then 1 else 0) +
    (if [#"column 5"] <> "NA" then 1 else 0)
)

方式2:更简洁的批量处理写法

适合列数较多的场景,通过列名列表批量处理,后续增减列只需修改列表即可:

= Table.AddColumn(#"Added Custom1", "Addition", each 
    List.Sum(
        List.Transform(
            {"column 1", "column 2", "column 3", "column 4", "column 5"},
            (colName) => if Record.Field(_, colName) <> "NA" then 1 else 0
        )
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 09:57:15