多张表的关键不是“能不能连上”,而是每一行代表什么、匹配条件是否唯一,以及关联后指标会不会被重复计算。在 Spotfire 中,数据表关系可支持标记继承和跨表筛选;键列则用于唯一标识行,并支撑部分标记、书签和替换场景。
先区分三件事
| 概念 | 解决的问题 | 常见例子 |
|---|---|---|
| 键列 | 唯一识别一张表中的每一行 | 订单明细 ID、检测记录 ID |
| 数据表关系 | 让两个数据表按匹配条件关联、筛选或继承标记 | 设备台账与故障记录 |
| 添加列/联接 | 把字段直接合入同一张最终表 | 订单明细补充客户属性 |
建立关系前必须确认的四个问题
- 两张表各自的粒度是什么:一行代表订单、批次、设备还是某次检测?
- 匹配字段是否稳定:编码是否可能为空、重用或带前导零?
- 关系应是一对一、一对多还是多对多?多对多很容易放大汇总数。
- 筛选和标记应该从哪张表传到哪张表?
Spotfire 中的基本操作
在编辑模式打开数据画布,进入数据表概述并选择“关系”。添加关系后,选择两张数据表,再为每张表选择列或表达式作为匹配条件。官方指南支持添加多个列对;多个条件共同构成匹配,而不是任选其一。若大小写不一致,可以先用表达式标准化,例如把标识符统一为小写,并通过“示例”字段检查实际匹配结果。
键列什么时候要设置?
当需要唯一标识每一行、在未聚合图表中重新应用标记,或希望保存后恢复某些标签、书签和特定值替换时,应设置键列。键列不是“任何名称带 ID 的列”都能直接使用:它必须在当前数据表中真实唯一。官方也说明,即使设置了键列,某些选择仍可能同时依赖其他字段,不能把它理解为恢复任何视图的万能保证。
用一个小样本做验收
- 选取 10 个业务对象,人工核对每一项关联是否正确。
- 关联前后比较行数、金额、数量等关键汇总,警惕突然倍增。
- 从主表筛选一个对象,确认关联表中只出现应有的记录。
- 检查空匹配、重复匹配和编码格式不同的记录并形成处理规则。
结论
关系配置完成并不代表数据可信。先明确粒度,再验证匹配样本和汇总口径,才能让跨表联动真正服务于追溯和诊断。
Spotfire 企业落地进阶教程