CONTAINSSTRING函数
CONTAINSSTRINGEXACT函数
CONTAINSSTRING函数被微软划分为“信息”函数,属于“值函数”,根据判定结果返回TRUE或者FALSE。
CONTAINSSTRINGEXACT函数和其效果几乎是完全一样。
二者总体来说使用的方式差不多,一些细节的地方有些出入,都是用来检查字符是否被包含。
用途:可用于模糊匹配或者查询匹配。
原本白茶的计划是按照微软的函数划分对函数进行逐个的讲解, 但是在2020.9月底左右,微软修改了DAX函数的类别划分, 一度导致白茶的函数思路崩溃... 白茶思考了很久,决定摒弃掉之前的思路,按照函数的实际用途去阐述,总体风格会有细节上的变动。
语法
语法1:
代码语言:txt复制DAX=CONTAINSSTRING(<within_text>, <find_text>)
语法2:
代码语言:txt复制DAX=CONTAINSSTRINGEXACT(<within_text>, <find_text>)
参数
within_text:被查找的范围。
find_text:需要查找的文本内容。
返回结果
TRUE或者FALSE
区别: CONTAINSSTRING支持通配符,不区分大小写; CONTAINSSTRINGEXACP不支持通配符,区分大小写。
通配符规则
- 问号(?):问号匹配任何单个字符
- 星号(*):星号匹配任何字符序列
- 如果你想找到的是问号或星号本身,请在字符前键入一个波浪号(~)
例子
例子1:
输入如下代码。
代码语言:txt复制CONTAINSSTRING =
ROW (
"例子1", CONTAINSSTRING ( "红橙黄绿", "橙黄" ),
"例子2", CONTAINSSTRING ( "红橙黄绿", "橙绿" ),
"例子3", CONTAINSSTRING ( "红橙黄绿", "橙*绿" ),
"例子4", CONTAINSSTRING ( "红橙黄绿", "黑白" )
)
结果如下:
结果一目了然,根据查找内容决定输出结果。
例子2:
模拟数据:
这是白茶随机模拟的数据,之前的一期白茶使用过这个案例数据。
传送门:《销售需求丨查找问题》
在这个情境中,也可以使用本期的函数来进行单个颜色的模糊匹配。
代码1:
代码语言:txt复制CONTAINSSTRING =
VAR SLL =
VALUES ( '维度'[维度] )
VAR SQL =
MAX ( '事实表'[颜色] )
RETURN
IF ( CONTAINSSTRING ( SQL, SLL ), SQL )
代码2:
代码语言:txt复制CONTAINSSTRINGEXACT =
VAR SLL =
VALUES ( '维度'[维度] )
VAR SQL =
MAX ( '事实表'[颜色] )
RETURN
IF ( CONTAINSSTRINGEXACT ( SQL, SLL ), SQL )
其结果如下:
小伙伴们❤GET了么?
白茶会不定期的分享一些函数卡片
(文件在知识星球PowerBI丨需求圈)
这里是白茶,一个PowerBI的初学者。