BI学习笔记

函数周期表丨模糊匹配

2021-04-11  本文已影响0人  Fabric丨白茶

CONTAINSSTRING函数

CONTAINSSTRINGEXACT函数

CONTAINSSTRING函数被微软划分为“信息”函数,属于“值函数”,根据判定结果返回TRUE或者FALSE。

CONTAINSSTRINGEXACT函数和其效果几乎是完全一样。

二者总体来说使用的方式差不多,一些细节的地方有些出入,都是用来检查字符是否被包含。

用途:可用于模糊匹配或者查询匹配。

原本白茶的计划是按照微软的函数划分对函数进行逐个的讲解,
但是在2020.9月底左右,微软修改了DAX函数的类别划分,
一度导致白茶的函数思路崩溃...
白茶思考了很久,决定摒弃掉之前的思路,按照函数的实际用途去阐述,总体风格会有细节上的变动。

语法

语法1:

DAX=CONTAINSSTRING(<within_text>, <find_text>)

语法2:

DAX=CONTAINSSTRINGEXACT(<within_text>, <find_text>)

参数

within_text:被查找的范围。

find_text:需要查找的文本内容。

返回结果

TRUE或者FALSE

区别

CONTAINSSTRING支持通配符,不区分大小写;

CONTAINSSTRINGEXACP不支持通配符,区分大小写。

通配符规则

例子

例子1:

输入如下代码。

CONTAINSSTRING =
ROW (
    "例子1", CONTAINSSTRING ( "红橙黄绿", "橙黄" ),
    "例子2", CONTAINSSTRING ( "红橙黄绿", "橙绿" ),
    "例子3", CONTAINSSTRING ( "红橙黄绿", "橙*绿" ),
    "例子4", CONTAINSSTRING ( "红橙黄绿", "黑白" )
)

结果如下:

结果一目了然,根据查找内容决定输出结果。

例子2:

模拟数据:

这是白茶随机模拟的数据,之前的一期白茶使用过这个案例数据。

传送门:《销售需求丨查找问题》

在这个情境中,也可以使用本期的函数来进行单个颜色的模糊匹配。

代码1:

CONTAINSSTRING =
VAR SLL =
    VALUES ( '维度'[维度] )
VAR SQL =
    MAX ( '事实表'[颜色] )
RETURN
    IF ( CONTAINSSTRING ( SQL, SLL ), SQL )

代码2:

CONTAINSSTRINGEXACT =
VAR SLL =
    VALUES ( '维度'[维度] )
VAR SQL =
    MAX ( '事实表'[颜色] )
RETURN
    IF ( CONTAINSSTRINGEXACT ( SQL, SLL ), SQL )

其结果如下:

小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球[PowerBI丨需求圈])

这里是白茶,一个PowerBI的初学者。

上一篇下一篇

猜你喜欢

热点阅读