反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

参数赋值节点

  • 文档创建者:Leo.Tsai
  • 历史版本:3
  • 最近更新:Leo.Tsai 于 2021-11-04
  • 1. 概述

    1.1 版本说明

    FineReport 版本
    插件版本功能变动
    10.0.18V1.7
    • 新增一种节点类型:「参数赋值」

    V2.0
    • 文本型参数也支持多值

    • 新增参数预览功能,详情参见本文 3.1 节

    • 新增参数值分隔符功能,详情参见本文 3.2 节

    • 允许定义值相同的参数,但是会给出提醒,详情参见本文 3.3 节

    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 查看结果

    在数据库中可查看到最高销量水果的单价,如下图所示:


    3. 功能变动

    3.1 参数预览

    参数设置好了之后,可以点击「参数预览」按钮查看参数包含哪些值以及参数的输出格式是什么。


    参数预览的效果如下图所示:


    3.2 分隔符

    参数为多值时,可以使用分隔符隔开这些值。数值型和文本型参数值需要选择不同的分隔符选项。


    使用参数预览功能,数值型多值参数分隔效果如下图所示:


    使用参数预览功能,文本型多值参数分隔效果如下图所示:


    3.3 允许定义相同值参数

    定义参数时,允许参数的值相同,但是出现这样的参数时,会给出提醒:参数值存在重复值,如下图所示:

    附件列表


    主题: ETL作业
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526