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

Power BI多列重复值统计问题:现有方法仅返回首列结果

Power BI 多列"Yes"统计与不同产品计数解决方案

一、修复多列"Yes"统计仅返回第一列的问题

问题根源(针对示例2)

UNION函数要求合并的表列名完全一致(包括大小写),你示例2中第三个SELECTCOLUMNS的列名是Containsyes(小写y),其余是ContainsYes(大写Y),导致该列被UNION忽略,最终只统计了第一列数据。

修正后的DAX写法

方法1:修复UNION列名一致性

Count Yes =
SUMX (
    UNION ( 
        SELECTCOLUMNS ( 'Table1', "ContainsYes", 'Table1'[Dim1] ), 
        SELECTCOLUMNS ( 'Table1', "ContainsYes", 'Table1'[Dim2] ), 
        SELECTCOLUMNS ( 'Table1', "ContainsYes", 'Table1'[Dim3] ), 
        SELECTCOLUMNS ( 'Table1', "ContainsYes", 'Table1'[Dim4] ) 
    ), 
    IF ( [ContainsYes] = "Yes", 1, 0 ) 
)

方法2:迭代行求和(更简洁)

如果作为度量值使用,直接用SUMX迭代每行计算各列"Yes"的总和:

Count Yes =
SUMX (
    'Table1',
    IF ( 'Table1'[Dim1] = "Yes", 1, 0 )
    + IF ( 'Table1'[Dim2] = "Yes", 1, 0 )
    + IF ( 'Table1'[Dim3] = "Yes", 1, 0 )
    + IF ( 'Table1'[Dim4] = "Yes", 1, 0 )
)

二、统计不同产品数量

基础不同产品计数

假设产品列名为[Product],直接使用DISTINCTCOUNT函数:

Distinct Product Count = DISTINCTCOUNT('Table1'[Product])

进阶:统计含至少一个"Yes"的不同产品数量

如果需要筛选出任意一列是"Yes"的产品,再统计去重数量:

Distinct Products with Yes =
CALCULATE (
    DISTINCTCOUNT('Table1'[Product]),
    FILTER (
        'Table1',
        'Table1'[Dim1] = "Yes"
        || 'Table1'[Dim2] = "Yes"
        || 'Table1'[Dim3] = "Yes"
        || 'Table1'[Dim4] = "Yes"
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 04:46:01