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

如何在PowerBI中使用DAX通过通配符筛选实现多条件行数统计?

正确DAX写法及问题分析

原公式的问题

  1. CONTAINSSTRING函数用法错误:该函数的正确格式是CONTAINSSTRING(要检查的文本列, 目标子字符串),你错误地传入了整个表和一个等式判断,且不需要给目标字符串加通配符*。
  2. 逻辑结构混乱:IF函数缺少闭合括号,且未同时关联两个筛选条件,导致筛选规则失效,最终统计了所有行。

推荐的正确写法

写法一:CALCULATE + COUNTROWS(最常用简洁)

满足条件的行数 = 
CALCULATE(
    COUNTROWS('BI - 22'),
    'BI - 22'[Category] = "Image and Data",
    CONTAINSSTRING('BI - 22'[Creator], "Support")
)
  • 原理:CALCULATE修改上下文,仅统计同时满足两个筛选条件的行数量。

写法二:COUNTROWS + FILTER(逻辑更直观)

满足条件的行数 = 
COUNTROWS(
    FILTER(
        'BI - 22',
        'BI - 22'[Category] = "Image and Data" && 
        CONTAINSSTRING('BI - 22'[Creator], "Support")
    )
)
  • 原理:先用FILTER筛选出符合两个条件的行子集,再统计子集的行数。

可选:使用通配符的写法(用LIKE)

如果你习惯用通配符*,可以替换成LIKE表达式:

满足条件的行数 = 
CALCULATE(
    COUNTROWS('BI - 22'),
    'BI - 22'[Category] = "Image and Data",
    'BI - 22'[Creator] LIKE "*Support*"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 11:03:28