如何配置Set Expression实现单表达式忽略维度筛选且保留表格整体过滤
解决方案
你原来的写法问题在于直接清空了ProjectLead的筛选条件,导致整个聚合表达式完全不受ProjectLead筛选的影响,最终返回所有项目的全量负责人列表,所有项目行都会被展示。
可以使用Qlik的P()集合函数实现需求,修改后的表达式如下:
Concat({< ProjectLead = , ID = P(ID) >} Distinct ProjectLead, '; ')
逻辑说明
P(ID)会在当前全局筛选状态下计算,返回所有符合筛选条件的ID值集合。当你筛选ProjectLead = Josh时,P(ID)的返回结果为{1}- 集合表达式
{< ProjectLead = , ID = P(ID) >}同时实现两个规则:- 忽略
ProjectLead字段的筛选,保证拼接时可以取到对应项目的所有负责人 - 仅处理
ID属于符合当前筛选集合的记录,保证只有满足筛选的项目行才会被展示
- 忽略
如果你的业务中Project字段是项目唯一标识,也可以把ID替换为Project,效果完全一致:
Concat({< ProjectLead = , Project = P(Project) >} Distinct ProjectLead, '; ')
效果验证
筛选ProjectLead = Josh时,返回结果和你预期完全一致:
ID Project Project Lead 1 Dog Josh; Marc
内容的提问来源于stack exchange,提问作者user17156214
相关产品推荐
相关产品推荐

