节点手册 · 进阶

KNIME Table Row to Variable 行转变量用法

Workflow Abstraction → Variables

把表里一行数据变成参数,喂给下游节点的配置。让「输出路径」「筛选阈值」这些原本写死的东西随数据变。

先理解流变量是什么

平时节点之间流动的是数据表 – 黑色三角端口,一张表几千行。流变量是另一条通道,流动的是配置参数 – 红色圆点端口,一次只有一组值。

用途只有一个:让下游节点的某个配置项不再写死,而是从上游取值。比如输出文件名带上当月月份,或者筛选阈值来自一张参数表。

参数表一行:月份、阈值
Table Row to Variable转成参数
红色变量线
Row Filter阈值来自变量
Excel Writer文件名带月份

数据端口,流的是表变量端口,流的是参数

同一个变量可以接给多个下游节点。改一次参数表,整条流程跟着变。

它解决什么问题

一条工作流每月要跑一次,输出文件名要带当月月份;或者筛选的金额阈值业务每季度调一次。写死在节点里意味着每次都要有人进去改配置 – 改错了还不容易发现。

把这些值放进一张参数表,用这个节点转成变量喂给下游,以后只改表不改流程。

这是把易变的部分从流程里抽出去的通用思路。和「分档标准做成对照表用 Joiner 接进来」是同一个道理:让业务能改的东西留在数据里,让流程本身保持稳定。

基本信息

英文原名Table Row to Variable
中文名称行转变量(iModel 中文界面)
输入端口1 个数据表
输出端口1 个流变量端口 – 红色圆点,不是数据表
取几行只取第一行。其余行直接忽略
变量名就是列名。每一列变成一个同名变量
只取第一行是最容易被忽略的一点。参数表有十行,它只用第一行,不报错也不提示。要对每一行都跑一遍整条流程,那是循环,用 Table Row to Variable Loop Start。

怎么用变量

  1. 把变量端口连到下游节点。下游节点如果没有变量输入端口,右键节点选显示变量端口,会多出一个红点。
  2. 打开下游节点的配置,找变量设置页。多数节点的配置窗口有一个专门管流变量的标签页。
  3. 把要参数化的那一项绑到变量上。在列表里找到那个配置项,右边选一个变量。绑定之后这一项就由变量控制,手工填的值被忽略。
怎么确认绑对了:执行后看节点。绑定成功的配置项在界面上通常会有标记。最直接的验证是改一下参数表里的值重跑,看输出是不是跟着变。

三个常见坑

  1. 忘了它只取第一行。参数表有多行时结果不符合预期,而且不报错。要循环处理请换 Loop Start 版本。
  2. 变量类型和配置项要求的类型对不上。变量类型跟着列类型走。文件路径需要字符串,阈值需要数字。列类型不对时先转类型再进这个节点。
  3. 红线连错了端口。变量端口是红色圆点,数据端口是黑色三角,两者不能互连。看不到红点就右键节点打开变量端口。

什么时候该换别的节点

情况换成
要对参数表的每一行各跑一遍Table Row to Variable Loop Start,配 Loop End
只想造一个固定的变量,不来自数据直接用变量创建类节点,不必先造一张表
要把变量变回表里的一列Variable to Table Row,方向相反
只是想按条件筛行不需要变量,用 Row Filter 就行

变量绑上了但没生效

先确认参数表第一行的值是对的,再确认下游那个配置项确实绑到了变量而不是还留着手填值。

iModel 专属客服
网页直接对话,无需微信
4008568196 拨打此号码联系我们

微信扫码咨询

iModel 微信咨询二维码

使用微信扫描上方二维码