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

如何使用DAX计算带筛选的SUM?包含匹配公式返回空值求助

解决DAX公式无法匹配包含"Student"记录的问题

原公式返回空值的核心原因是:DAX中使用=进行字符串匹配时是精确匹配,"*Student*"会被当作普通字符串(包含星号)而非通配符,因此筛选条件永远无法匹配到记录。

以下是几种正确的解决方案:

方法1:使用CONTAINSSTRING函数(推荐)

CONTAINSSTRING是DAX中专门用于检查字符串是否包含指定子串的函数,语法简洁直观:

Total = SUMX(FILTER('Backlog items', CONTAINSSTRING('Backlog items'[Name], "Student")), [Score])

方法2:使用SEARCH函数

SEARCH会返回子串在目标字符串中的起始位置,若找不到则返回错误,配合NOT ISERROR判断是否包含:

Total = SUMX(FILTER('Backlog items', NOT ISERROR(SEARCH("Student", 'Backlog items'[Name]))), [Score])

注:若需要区分大小写,可替换为FIND函数。

方法3:使用CALCULATE + LIKE语法

在CALCULATE的筛选器中支持LIKE通配符语法,写法更简洁:

Total = CALCULATE(SUM('Backlog items'[Score]), 'Backlog items'[Name] LIKE "*Student*")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 15:17:09