PowerBI中使用CONTAINSSTRING实现多字符串匹配列计算求助
PowerBI多字符串匹配计算列解决方法
你的DAX代码存在语法错误,比如条件判断结构不规范、列名引用错误(原代码里出现'Name'[Creator],正确应为'Creator'[Name]),以下是两种可行的解决方案:
方案一:使用SWITCH函数(推荐多场景条件)
SWITCH搭配TRUE()可以清晰实现多条件分支判断,按顺序匹配第一个符合条件的结果:
New Column = SWITCH( TRUE(), CONTAINSSTRING('Creator'[Name], "Que"), "Need to report", CONTAINSSTRING('Creator'[Name], "In/Waiting"), "Need to wait", CONTAINSSTRING('Creator'[Name], "In/Landing"), "Need to release", BLANK() // 所有条件都不匹配时返回空值,可改为自定义文本如"Other" )
方案二:使用嵌套IF函数(适合少量条件)
如果条件数量较少,嵌套IF也能实现需求:
New Column = IF( CONTAINSSTRING('Creator'[Name], "Que"), "Need to report", IF( CONTAINSSTRING('Creator'[Name], "In/Waiting"), "Need to wait", IF( CONTAINSSTRING('Creator'[Name], "In/Landing"), "Need to release", BLANK() ) ) )
注意事项
- 条件顺序会影响结果:如果某行
Name同时包含多个关键词(比如同时有"Que"和"In/Waiting"),会返回第一个匹配的结果,可根据优先级调整顺序 - 确保表名和列名与数据模型一致,避免引用错误
内容的提问来源于stack exchange,提问作者Cheries
相关产品推荐
相关产品推荐

