Filter data by query 做什么
Filter data by query(转换 id 为 filterByRefId)只保留指定查询的结果交给后续转换与面板,同一面板内多条查询分工时用它分流:例如 A 查询画时序图、B 查询进表格,或者用 C 查询的结果参与拼接。它作用在展示层,被过滤掉的查询依然会执行,只是结果不参与后续处理。
基本信息
| 转换标识 | filterByRefId |
|---|---|
| 过滤参数 | include,可一次写多个查询标识,用逗号分隔 |
| 作用位置 | 转换与展示层,不影响查询本身的执行 |
| 面板位置 | 转换列表中的一条,按顺序生效 |
转换配置
转换配置
{"id": "filterByRefId", "options": {"include": "A"}}
// include 支持多个查询标识,例如 "A,B"
// 转换按列表顺序执行,位置会影响最终结果排查要点
排查要点
1 用查询检查器确认每个查询标识是否有数据
2 按顺序核对转换列表,逐条禁用定位是谁在过滤
3 include 写错标识(大小写、逗号)时结果为空但不报错典型使用场景
- 同一面板里一条查询画图、一条查询进表,各自使用不同展示形式
- 先过滤出参与拼接的查询,再执行 Join by field 组合结果
- 把调试用的查询结果排除在最终展示之外,保持面板整洁
- 多查询面板里只在部分转换上生效,控制数据流走向
过滤发生在展示层,查询本身照常执行;要真正减负得从查询层聚合或改即时查询入手,过滤只是把结果丢掉。
多个转换叠加时很难一眼看出是谁过滤了结果,面板空白先逐条禁用转换排查,而不是先怀疑数据源。
排查清单
- 面板空白先确认 include 里的标识与查询标识完全一致
- 转换顺序影响结果,明确过滤应放在拼接之前还是之后
- 复核面板时用查询检查器逐条确认数据流,而不只看图形
- 需要两段结果各自上不同面板时应拆成两个面板,硬塞在一个面板里转换会越来越难维护