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

Qlik Sense图表中按ID统计CODE_A与CODE_B不匹配的错误次数

Qlik Sense 直表实现按ID统计CODE_A未匹配CODE_B的错误次数

需求说明

  • 输出直表:每行对应一个ID,显示该ID的错误次数
  • 错误判定规则:对于某个ID,若其下的唯一CODE_A值未出现在该ID的所有CODE_B值集合中,则该CODE_A计为一次错误

图表实现方案(无需修改脚本)

创建直表,配置如下:

  1. 维度:选择字段 ID
  2. 度量:使用以下表达式二选一即可

表达式1:基于Exists函数

Count(DISTINCT If(Not Exists({<ID=P({<ID=[$ID]>})>} CODE_B, CODE_A), CODE_A))

逻辑解释:

  • {<ID=P({<ID=[$ID]>})>}:获取当前ID对应的所有CODE_B值的集合
  • Not Exists(...):判断当前CODE_A是否不在上述集合中
  • Count(DISTINCT ...):统计符合条件的唯一CODE_A数量,即该ID的错误次数

表达式2:基于Aggr聚合函数

Sum(Aggr(
  If(Count({<ID=[$ID], CODE_B=CODE_A>}) = 0, 1, 0),
  ID, CODE_A
))

逻辑解释:

  • Aggr(..., ID, CODE_A):按ID和CODE_A进行分组计算
  • Count({<ID=[$ID], CODE_B=CODE_A>}) = 0:判断当前分组的CODE_A在对应ID的CODE_B中是否无匹配项
  • Sum(...):对每个ID下的分组结果求和,得到总错误次数

示例验证(基于提供的测试数据)

ID错误次数说明
10CODE_A的AA在该ID的CODE_B集合(AA、BB)中存在
21CODE_A的CC未在该ID的CODE_B(DD)中出现
30CODE_A的EE在该ID的CODE_B集合(EE、FF)中存在
40CODE_A的FF在该ID的CODE_B集合(FF、GG)中存在
52CODE_A的AA、BB均未在该ID的CODE_B集合(FF、GG)中出现
61CODE_A的EE未在该ID的CODE_B集合(DD、CC)中出现(注:原示例说明此处描述可能有误)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:43:10