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

Power BI:如何统计单行多列中指定值(Pass/Fail)的出现次数?

解决Power BI单行多列值计数问题

错误原因分析

你使用的COUNTAX ('Result', ALL('Result') = "PASS")报错,是因为ALL('Result')返回的是整个表的所有数据(多列多行),无法直接与单一字符串"PASS"做比较,Power BI无法将多列数据转换为标量值进行判断。

正确实现方法

要计算每行中"Pass"和"Fail"的出现次数,推荐使用计算列(针对每行生成结果),以下是两种可行方案:

方案1:逐列判断累加

适合列数固定的场景,直观易懂:

Count Pass = 
INT('Result'[Initiation] = "Pass") + 
INT('Result'[Methodology] = "Pass") + 
INT('Result'[Regulations] = "Pass") + 
INT('Result'[Innovation] = "Pass") + 
INT('Result'[Overall] = "Pass")
Count Fail = 
INT('Result'[Initiation] = "Fail") + 
INT('Result'[Methodology] = "Fail") + 
INT('Result'[Regulations] = "Fail") + 
INT('Result'[Innovation] = "Fail") + 
INT('Result'[Overall] = "Fail")

原理:INT(条件)会将TRUE转为1,FALSE转为0,累加后得到符合条件的列数。

方案2:用行构造函数批量判断

如果后续列数可能变动,可将目标列放入临时表统计:

Count Pass = 
COUNTROWS(
    FILTER(
        {
            'Result'[Initiation],
            'Result'[Methodology],
            'Result'[Regulations],
            'Result'[Innovation],
            'Result'[Overall]
        },
        [Value] = "Pass"
    )
)
Count Fail = 5 - 'Result'[Count Pass]

原理:用{}构造当前行的目标列集合,筛选出等于"Pass"的项后统计行数;Count Fail直接用总列数(5)减去Count Pass,减少重复计算。

操作步骤

  1. 打开Power BI的数据视图
  2. 选中Result表
  3. 点击顶部菜单栏的新建列
  4. 输入上述任意一组公式,按回车生成计算列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:22:22