如何使用DAX创建计算列实现跨表多关键词字符串匹配判断
DAX多关键词子串匹配计算列实现方案
直接在Sentences表中新建计算列,使用以下DAX表达式:
Col2 = VAR CurrentSentence = Sentences[Col1] RETURN NOT ISEMPTY( FILTER( FindTheseWords, CONTAINSSTRING(CurrentSentence, FindTheseWords[Col1]) ) )
- 函数说明:
CONTAINSSTRING为不区分大小写的子串匹配函数,若需要严格区分大小写可替换为CONTAINSSTRINGEXACT - 逻辑原理:遍历关键词表
FindTheseWords的所有值,只要存在任意一个关键词是当前句子的子串,FILTER返回的结果表就不为空,最终返回TRUE,否则返回FALSE - 适配性:无需硬编码任何关键词,新增、修改、删除关键词表内容时,计算列会自动同步计算结果
性能优化提示:若关键词表数据量较大,建议先对关键词列做去重处理后再参与计算,可降低运算开销提升性能。
内容的提问来源于stack exchange,提问作者maximumViable
相关产品推荐
相关产品推荐

