Knime 中两个表的条​​件连接

Conditional join of two tables in Knime

我是 Knime Analytics 的新手。

我有两个表,我需要连接它们不是通过相等,而是通过两个字段值之间的差异。 (在 sql 中它看起来像 "table1 join table2 on abs(table1.mass - table2.mass)<0.005 ")但在节点中我发现只有节点,它通过相等连接。

是否有条件连接表或类似的节点?[​​=10=]

我能想到的唯一方法如下。使用 Cross Joiner 节点将每个 table 的所有行连接到第二个 table 的所有行。现在在加入的 table 上使用 Java Snippet Row Filter,使用以下代码片段

return Math.abs($mass$.doubleValue() - $mass (#1)$.doubleValue()) < 0.005;

(假设传入的两个table都有一个名为'mass'的列,在Cross Joiner[=14之后会变成'mass'和'mass (#1)' =]