反馈已提交

网络繁忙

自定义参数(任务参数)

  • 文档创建者:Wendy123456
  • 历史版本:17
  • 最近更新:Wendy123456 于 2024-04-09
  • 1. 概述

    1.1 版本

    FineDataLink 版本功能变动
    1.7
    支持自定义参数功能:「参数设置」
    2.0允许定义值相同的参数,但是会给出提醒,详情参见本文 4.1 节
    4.0.19

    支持定义的参数类型,从日期、字符串、整型、双精度型、布尔型,改为日期、文本、数值、布尔

    4.0.24支持参数 yy
    4.1.0参数设置」改名为参数列表,分为任务内参数、全局参数、内置参数;在参数列表」界面中,可查看该任务可用的参数

    1.2 应用场景

    业务流程中有时需要根据实际业务情况设置参数便于进行后续的数据处理和开发,FineDataLink 支持用户自定义参数,在数据开发中直接引用参数即可。

    1.3 功能简介

    用户可在「参数列表」中添加「任务参数」,即自定义参数,定义好的参数可在当前任务中引用。如下图所示:

    2. 注意事项

    • 参数名和参数值中不允许包含${} 

    • 用户添加的任务参数只归属于当前任务

    • 若参数为整型、双精度型、布尔型,直接用${参数名}的方式引用参数。

    • 若参数值为字符类型、日期类型,需要加上单引号引用参数:'${参数名}'

    3. 自定义时间参数

    自定义时间参数需要基于系统内置参数 ${cyctime},通过对 ${cyctime} 加减实现时间的自定义,自定义的格式为:${时间格式+N} 或${时间格式-N}

    「时间格式」可以通过 yyyy、yy、mm、dd、hh、mi、ss 自由组合成 yyyy、mm、dd、yyyymm、mmdd、yyyymmdd、yyyy-mm-dd、yyyy-mm-dd hh:mi:ss 等,其中:

    注:参数格式不支持:mi:ss、mi、ss

    时间格式说明
    yyyy

    表示 4 位的年份,取值为 ${cyctime} 的年份。

    mm表示月,取值为 ${cyctime} 的月份。
    dd表示天,取值为 ${cyctime} 的天。
    hh表示小时(24小时制),取值为 ${cyctime} 的小时。
    mi表示分钟,取值为 ${cyctime} 的分钟。
    ss表示秒,取值为 ${cyctime} 的秒。

    例如要自定义时间参数 para_time,默认值为 ${cyctime} 所在年份的前年,写法如下图所示:

    注:默认参数为时间类型。

    54.png

    目的输入方式
    示例(假设${cyctime}的值为 2021-09-09 20:45:50)
    后 N 年yyyy+N若N为 1,则值为 2022
    前 N 年yyyy-N若N为 1,则值为 2020
    后 N 月

    yyyymm+N

    或者

    yyyy/mm+N

    若N为 6,则值为 202203
    前 N 月

    yyyymm-N

    或者

    yyyy/mm-N

    若N为 6,则值为 202103
    后 N 周

    yyyymmdd+7*N

    或者

    yyyy/mm/dd+7*N

    若N为 1,则值为 20210916
    前 N 周

    yyyymmdd-7*N

    或者

    yyyy/mm/dd-7*N

    若N为 1,则值为 20210902
    后 N 天,年月日加 N 天

    yyyymmdd+N

    或者

    yyyy/mm/dd+N

    若N为 1,则值为 20210910
    前 N 天,年月日减 N 天

    yyyymmdd-N

    或者

    yyyy/mm/dd-N

    若N为 1,则值为 20210908
    前 N 小时

    yyyymmdd hh:mi:ss-N/24

    或者

    yyyy/mm/dd hh:mi:ss-N/24

    若N为 1,则值为 20210909 19:45:50
    后 N 小时

    yyyymmdd hh:mi:ss+N/24

    或者

    yyyy/mm/dd hh:mi:ss+N/24

    若N为 1,则值为 20210909 21:45:50
    前 N 分钟yyyy-mm-dd hh:mi:ss-N/24/60若N为 5,则值为 2021-09-09 20:40:50
    后 N 分钟yyyy-mm-dd hh:mi:ss+N/24/60若N为 5,则值为 2021-09-09 20:50:50
    前 N 秒yyyy-mm-dd hh:mi:ss-N/24/60/60

    若N为 5,则值为 2021-09-09 20:45:45  

    定义时间参数的一个简单示例如下:

    1)新建一个 ETL 任务,自定义一个 para_time 参数,默认值为 yyyy-mm-1(意为取值为 ${cyctime} 的前一个月)。如下图所示:

    注:参数设置的值类型需要和 SQL 语句中的时间字段类型一致,比如示例中使用的参数值是yyyy-mm-1,则下面步骤中 SQL 语句中「mytime」日期字段类型也应该是 yyyy-mm-dd 类型,而不能是 yyyy/mm/dd 类型。

    55.png

    2)任务拖入一个「数据同步」节点,设置数据来源,输入 SQL 语句,只取出日期字段中小于参数的数据。

    58.png

    3)点击「数据预览」,可以看到取出了运行前一个月之前的数据。如下图所示:

    1698113468956133.png

    4. 自定义常量参数

    除了可以自定义时间参数,用户还可以自定义常量参数,可以是数字或文本等。

    常量参数支持设置的类型有:「文本」、「数值」、「布尔」。

    定义常量参数的示例如下:

    1)创建一个定时任务,定义一个文本类型的参数「para_a」,默认参数值有多个,用逗号将'销售经理''销售代表'分开,如下图所示:

    60.png

    2)在其他节点的 SQL 语句中可以使用该参数,比如「数据同步」节点中只取出职务为销售经理销售代表的数据。如下图所示:

    61.png

    3)点击「数据预览」,可查看取出的数据。如下图所示:

    1698114027883253.png

    需要注意的是,当参数类型是文本时:

    • 若参数值是单个值,可以直接输入文本,例如参数名称为 a,值为:苹果,使用时需要加单引号:'${a}'

    • 若参数值是多个值,参数值需要用单引号和逗号分开,例如参数名称为 a ,值为:'苹果','香蕉',使用时不需要加单引号:${a}



    附件列表


    主题: 数据开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持