一句话定义
流变量是一组「名字加值」的参数,沿着红色圆点端口在节点间流动。它的唯一用途是:让下游某个节点的配置项不再写死,而是从上游取值。
数据端口,黑色三角,流的是表变量端口,红色圆点,流的是参数
数据线和变量线的区别
| 数据线 | 变量线 | |
|---|---|---|
| 端口样子 | 黑色三角 | 红色圆点 |
| 流的是什么 | 一整张表,可能几万行 | 一组参数,一次只有一份值 |
| 作用 | 要被处理的数据本身 | 控制节点怎么处理 |
| 能互连吗 | 不能。两种端口类型不同,连不上 | |
看不到红色圆点?多数节点默认不显示变量端口。右键节点,找显示变量端口的选项,它就会在节点上下多出两个红点。
变量从哪来
-
从数据表里来
用 Table Row to Variable 把表的第一行变成一组变量,列名即变量名。这是最常用的一种 – 把易变的值放进一张参数表,改表不改流程。
-
手工创建
用专门的变量创建节点直接定义几个固定值。不需要先造一张表,适合值很少且不常改的场景。
-
循环产生
循环节点每轮会自动提供当前轮次、当前值这类变量,循环体内的节点可以直接用。
怎么把变量绑到配置项上
- 把变量端口连到目标节点。看不到红点就先右键把它打开。
- 打开目标节点的配置,切到管流变量的那一页。多数节点的配置窗口都有这么一个标签页,里面列着这个节点所有可以被参数化的配置项。
- 给要参数化的那一项选一个变量。绑定之后这一项由变量控制,你在主配置页手工填的值会被忽略。
- 验证。改一下参数表里的值重跑,看输出是不是跟着变。这一步别省 – 绑没绑上,光看界面不一定确定。
三个常见坑
- Table Row to Variable 只取第一行。参数表写了十行它也只用第一行,不报错也不提示。要对每一行各跑一遍整条流程,那是循环,得用 Loop Start 版本。
- 变量类型和配置项要求的对不上。变量类型跟着来源列的类型走。文件路径需要文本,阈值需要数字。列类型不对,先转类型再进这个节点。
- Component 里的变量出不去。Component 有独立的变量作用域 – 里面产生的变量默认不会流到外面。Metanode 没有这层隔离,变量会直接穿透。这是两者最实质的差别之一。
什么时候该用它
判断标准很简单:这个值每期会变吗?会变就该参数化。月份、期数、输出目录、业务定的阈值,都属于这一类。
反过来,逻辑本身不该参数化。为了「灵活」把十几个配置项全绑上变量,结果是没人看得懂这条流程实际在做什么 – 可维护性反而降了。

