节点手册 · 进阶

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 微信咨询二维码

使用微信扫描上方二维码