You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qlik Sense中如何通过ProcessTaskId关联Action与ProcessStep数据集

解决方案:Qlik中关联Action与ProcessStep表实现筛选同步

你之前用Concatenate是错误的,这个语句是追加拼接表(把一个表的行加到另一个表后面),而非建立表间关联。另外你用了Qualify *,会给所有字段加上表名前缀,导致两个表的ProcessTaskId变成Action.ProcessTaskId和ProcessStep.ProcessTaskId——字段名不同,Qlik无法自动建立关联,自然筛选器没法同步影响。

正确实现关联的方法有两种:

方法一:取消关联字段的Qualify标记

如果不需要给ProcessTaskId加表名前缀,修改代码让两个表的ProcessTaskId字段名一致,Qlik会自动基于同名字段建立关联:

// 先取消全局Qualify中对ProcessTaskId的标记,再Qualify其他所有字段
Unqualify ProcessTaskId;
Qualify *;

Action:
sql exec [StoredProcedure];

ProcessStep:
SELECT distinct
    MRN = pat.CPR_PatientId
    , pt.ProcessTaskId
    , pts.ProcessTaskStepId
    , pts.CreatedDTM
    , tsd.Name
FROM Table A
inner join Table B on A.column1= B.column1;

// 若后续需要,可恢复对ProcessTaskId的Qualify标记
Qualify ProcessTaskId;

方法二:手动统一关联字段名(保留全量Qualify)

如果必须给所有字段加表名前缀,手动重命名其中一个表的ProcessTaskId,让两个表的关联字段同名:

Action:
Qualify *;
sql exec [StoredProcedure];

ProcessStep:
Qualify *;
// 把ProcessTaskId重命名为Action.ProcessTaskId,与Action表的关联字段名保持一致
SELECT distinct
    MRN = pat.CPR_PatientId
    , pt.ProcessTaskId as [Action.ProcessTaskId]
    , pts.ProcessTaskStepId
    , pts.CreatedDTM
    , tsd.Name
FROM Table A
inner join Table B on A.column1= B.column1;

这样两个表就会通过ProcessTaskId(或重命名后的同名字段)建立关联,工作表中使用筛选器时,两个表的内容会同步响应筛选操作。

内容的提问来源于stack exchange,提问作者jw11432

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 00:32:43