1. 概述
1.1 版本
FineReport 版本 | 插件版本 | 功能变动 |
---|---|---|
10.0.18 | V1.7 | - |
1.2 应用场景
插件提供了一些内置参数,这些参数无需定义直接调用。
1.3 功能简介
目前可以使用的内置参数如下:
参数写法 | 参数说明 |
---|---|
${cyctime} | ${cyctime} 为任务在 调度配置 中设置的每次运行的时间节点; 格式为 yyyy-mm-dd hh:mm:ss,输出的实际值格式为:2021-09-09 20:45:50,取值精确到时分秒; 且这个时间是任务进入运行队列的时间,并非实际运行的时间,实际运行的时间比进入运行队列的时间要晚一些 当我们需要使用到任务运行的时间做一些操作时,就可以使用到内置的 ${cyctime} 参数。例如: 某个任务 30 天运行一次,那每次只需更新运行时间节点( ${cyctime})前 30 天的数据就可以了 |
${workname.opresult} | workname 是 ETL 任务的名称,opresult 是最近一次运行的结果,可以输出三个值:
这个参数一般用于设置 条件分支 节点的判断条件 |
2. ${cyctime}
使用内置参数 ${cyctime},可以实现每次运行任务时,都离线同步运行时间点前一个月的数据。
1)新建一个 ETL 任务并命名为「任务1」,如下图所示:
2)进入任务设计页面,拖入离线同步节点并编辑,如下图所示:
节点释义:「任务1」运行时,会从表「fine_backup_node」中取出 backupTime (备份日期)在前 30 天的数据。并取出来的数存储到新建的表「111」中。
注:点击「数据预览」时 cyctime 的默认值为系统的当前时间;而当任务运行时 cyctime 的值为任务调度执行的时间,所以数据预览的数据与实际运行写入到数据库的数据可能不一致。
3)运行「任务1」,如下图所示:
运行成功后,在数据库中可以看到成功取到 backupTime 在三十天内的数据,如下图所示:
4)最后,我们就可以将「任务1」的定时调度设置为三十天运行一次。这样「任务1」每次运行前都会自动更新数据前三十天的备份数据,如下图所示:
3. ${workname.opresult}
内置参数 ${workname.opresult} 一般用于设置 条件分支 节点的判断条件。
1)将一个离线同步节点和一个条件分支节点拖到设计界面,并将它们连接起来,如下图所示:
2)双击离线同步节点,设置离线同步将 sales 表数据抽取到 presale 表中,如下图所示:
3)给条件分支设置判断条件,参数栏直接填「销售核算.opresult」然后回车,最右侧文本框填「success」,如下图所示:
这个条件的意思是,当销售核算这个 ETL 任务最近一次执行成功时,当前这个任务就执行下面的离线同步节点,否则不之行。