1. 概述
1.1 版本说明
FineReport 版本 | 插件版本 | 功能变动 |
---|---|---|
10.0.18 | V1.7 |
|
V2.0 |
|
1.2 应用场景
用户希望上游节点运行的结果,能够被下游节点中的 SQL 语句使用。
我们可以通过参数承载上游节点运行的结果,然后在下游节点中使用该结果。
1.3 注意事项
当参数类型是字符串时,例如参数名称为 a,值为:苹果,使用时需要加单引号:'${a}'
参数名和参数值中不允许包含${}
用户设置的参数只归属于当前任务
2. 示例
例如在上游节点「水果销量统计」中已求出各种水果的销量,并将得到的结果插入表「fruit_sale」中。
在下游中我们想看一下销售数量最多的水果的单价如何。
2.1 参数赋值
1)在任务中拖入「参数赋值」节点,如下图所示:
2)双击进入参数赋值节点,设置参数的数据来源,如下图所示:
在上游节点中,我们已经计算得到每种水果的销量保存到「fruit_sale」表中,选择「fruit_sale」所在的数据源类型和数据连接。
使用 SQL 语句筛选得到销量最高的水果的数据,如下图所示:
点击「数据预览」,可以看到水果名在第 1 列,如下图所示:
3)设置输出参数
输出参数的参数值为指定的左侧来源表的行列数据,只有以下三中指定规则:「指定列,所有行」、「指定行、所有列」、「指定列、指定行」,参数值不可设置为「所有列所有行」。设置参数名为「a」,参数值为「第1列,第1行」,如下图所示:
参数是支持多值的,当参数为多值时,需要设置分隔符,数值型参数选第一个,文本型参数选第二个,由于本示例中参数只是第一行第一列,也就是单值这种情况,所以不需要设置「分隔符」这个选项。
「默认值」设置与否不影响参数传递给下一个节点,但是如果想要下一个离线同步节点可以数据预览,那么必须要设置默认值,但是不必担心这个值对预览结果的影响,因为执行预览时会用实际值把这个默认值替换掉。本示例中就不设置了。
注:数值型和文本型的参数值都是支持多值的。
4)点击「确定」,完成参数赋值节点设置。
2.2 使用参数
添加离线同步节点,利用刚刚创建的参数 ${a} 从「fruit_price」表中取出销量最高水果的单价,放入到另一个数据表中。如下图所示:
继续点击「下一步>确定」,完成离线同步设置。
2.3 连接节点并运行
将三个节点串联,保存并运行,如下图所示:
2.4 查看结果
在数据库中可查看到最高销量水果的单价,如下图所示: