QlikSense 中有没有办法使用单个过滤器值来搜索多个对象?
因此,在上面的示例中,我希望能够选择一个值,但让它查看每个对象。这些行也都是相关的。以下是 SQL 数据的示例:
最直接的路径是为药物设置 3 个单独的过滤器(药物 1、药物 2 和药物 3),但我更喜欢对所有 3 个药物进行一个过滤器搜索。希望这对我正在尝试做的事情有一个足够清晰的解释。
我尝试在过滤器窗格中使用表达式:
= drug1 OR drug2 OR drug3
但这不起作用。
您可以通过使用变量、变量输入对象(文本框)和一些集合分析来实现这一点。
vSearchString
的新空变量。vSearchString
变量。drug1
维度:->
=Aggr(Only({
<[drug1] = P({< [drug1]={"*$(vSearchString)*"} >})>
+ <[drug1] = P({< [drug2]={"*$(vSearchString)*"} >})>
+ <[drug1] = P({< [drug3]={"*$(vSearchString)*"} >})>
} [drug1]), [drug1])
...然后,使用它作为您的
drug2
尺寸:
=Aggr(Only({
<[drug2] = P({< [drug1]={"*$(vSearchString)*"} >})>
+ <[drug2] = P({< [drug2]={"*$(vSearchString)*"} >})>
+ <[drug2] = P({< [drug3]={"*$(vSearchString)*"} >})>
} [drug2]), [drug2])
...最后,使用它作为您的
drug3
维度:
=Aggr(Only({
<[drug3] = P({< [drug1]={"*$(vSearchString)*"} >})>
+ <[drug3] = P({< [drug2]={"*$(vSearchString)*"} >})>
+ <[drug3] = P({< [drug3]={"*$(vSearchString)*"} >})>
} [drug3]), [drug3])
这应该足以让它工作:
上面显示的 Qlik 表达式利用了一些不同的概念:
Aggr()
功能
GROUP BY
子句。=Aggr(Sum([Profit]), [RegionDim], [SalespersonDim])
。Only()
聚合(请参阅下一个要点)来使用集合分析(请参阅下一个要点)。Only()
功能
WHERE
子句。{<[SomeField] = {'Some value or expression'}>}
。