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的初学者。