函数周期表丨信息丨值丨CONTAINS

2021-08-31 11:14:39 浏览数 (1)

CONTAINS函数

CONTAINS函数,隶属于“信息”类函数。

用途:适用于多列条件判定。

@流景大佬提过,这个函数有点落后了,但是白茶觉得这个函数相对于其他多列判定而言,更容易被理解。

语法

代码语言:txt复制
DAX=
CONTAINS(<表>, <被比较的列>, <比较值>[, <被比较的列>, <比较值>]…)

参数

表:可以是现有列,也可以是表达式。

被比较的列:(可重复)物理列,不能是表达式,但是可以是第一参数表达式中的列。

比较值:(可重复)标量值,也可以是物理列。

注:因为此函数第一参数支持表达式,这点很有用。

返回结果

判定比较值是否在被比较的列中,返回TRUE或者FALSE。

例子

模拟数据:

这是白茶随机模拟的一份数据,一份事实表,一份维度表,从例子中我们能看出来,维度并不是完全对应事实例子的。

例子1:度量值中使用。

代码语言:txt复制
CONTAINS例子1 =
CONTAINS ( '例子', '例子'[类别], "白" )

判定类别是否是“白”,结果返回TRUE或者FALSE。

例子2:搭配虚拟表使用。

代码语言:txt复制
CONTAINS例子2 =
VAR TLL =
    SUMMARIZE ( '例子', '例子'[类别], "日期", CALCULATE ( MAX ( '例子'[日期] ) ) )
RETURN
    FILTER ( '例子', CONTAINS ( TLL, [日期], '例子'[日期] ) )

利用虚拟表,筛选出每个类别的最大日期,通过虚拟表筛选出每个类别最大日期所对应的所有数据。

(此处体现CONTAINS函数可以调用表表达式作为第一参数。)

例子3:搭配FILTER函数使用。

代码1:

代码语言:txt复制
CONTAINS例子3 =
FILTER ( '例子', CONTAINS ( '维度', '维度'[类别], '例子'[类别] ) )

筛选出事实表中,类别在维度类别中存在的数据。

代码2:

代码语言:txt复制
CONTAINS例子4 =
FILTER ( '维度', CONTAINS ( '例子', [类别], '维度'[类别] ) )

筛选出维度表中,类别在事实类别中存在的数据。

小伙伴们❤GET了么?

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

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

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

0 人点赞