不能将文本字符串与比较运算符一起用作Filter()的输入

时间:2019-05-30 02:32:56

标签: powerbi dax

我正在尝试使用切片器中的选定项目作为filter语句的输入。为了获得切片器的选择,我正在构建一个文本字符串,该字符串具有比较运算符。我在其中使用的图表然后给出了一个错误,“度量为类型为true / false的文本的度量中的计算错误”。

我创建了一个指标来统计在给定时间内打开和关闭的项目数。我有一个日期切片器,可以从中成功提取开始/停止日期并将其用作我的Filter语句的输入,并对返回的行进行计数。

我现在正尝试将切片器中的名称选择添加到Filter语句中,但运气不佳。

我要使用以下代码提取从切片器中选择的名称。

Names = CONCATENATEX(
ALLSELECTED(Table[Column]),
"Table[Column]="&Table[Column],
"  || ")

这给了我一个文本字符串,例如'Table [Column] =“ John Smith” ||表格[栏]“简史密斯”

当我将其放入过滤器语句中

Filter(Working Filters && (Names))

那是我遇到错误的时候。如果我直接输入该语句,它将起作用。但这对我没有帮助,因为我不知道选择了什么

Filter(Working Filters && (Table[Column]="John Smith" || Table[column] "Jane Smith")

如何使用文本字符串作为过滤器的输入?还是我可以通过其他方式将切片器选择放入过滤器?

1 个答案:

答案 0 :(得分:0)

FILTER函数不接受这样的文本参数。要从切片器读取值,可以使用SELECTEDVALUE(用于单个值)或VALUES(用于多个值)。但是,通常在大多数情况下,如果表和关系设置正确,除非使用切片器来设置参数而不是作为过滤器,否则不必手动进行操作。

假设您有Table1Table2无关,并且您将Table2[Column2]用作切片器。然后,您可以编写这样的过滤器:

FILTER( Table1, Table1[Column1] IN VALUES( Table2[Column2] ) )

因此,即使Table1Table2不相关,您也只允许Table1[Column1]中的值与通过Table2[Column2]切片器选择的值匹配。 / p>