历史版本21 :定时自动填报 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

FineReport 支持定时填报,通过借助报表模板,定时实现数据的加载、汇总、填入库。

比如,每月定时统计各个公司销售业绩,这些数据均存在分公司的数据库中,利用定时填报功能,即可将各分工公司总业绩存储到总公司数据库中。

1.2 实现思路

1)制作报表,汇总统计各分公司每个月的销售业绩。

2)通过定时调度任务每月定时调用月报表,汇总各分公司的销售额,并保存至数据库中。

1.3 方案对比

本文场景:A 数据库中的数据定时同步到 B 数据库中。

对比项
方案一方案二
方案简介本文方法,通过「填报模板+定时调度」实现

本文不做介绍

数据不需要进行复杂处理:使用 FineDataLink 的 数据同步 功能,定期同步数据

示例
38.png

数据需要复杂处理:使用 FineDataLink 的 数据转换 功能,定期同步数据

示例
40.png

注:若数据对实时性有要求,可使用 数据管道 功能

操作成本用户需要配置繁琐的报表填报属性,同时数据执行插入目标库前需要经过报表的单元格计算,导致数据插入性能低使用 FDL 数据同步/数据转换批量采集数据,将「数据生产层-业务系统」和「数据目标层-数据仓库」完成连接,定时自动完成数据采集,提高数据采集效率

2. 示例编辑

2.1 制作月报表

制作一张报表用于统计数据,可以通过年份与月份参数查询订单金额跨年累计信息,如下图所示:

模板制作步骤请参见: 定时任务之月报与年报

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Accumulative_4.cpt

点击下载模板:Accumulative_4.cpt

222

2.2 设置填报属性

用户需要实现的是,定期将统计后的数据自动保存至数据库,如将上图中年、月、总额、累计等自动保存到总部数据库。那么就必须先给模板设置填报属性。

编辑月报表模板,点击「模板>报表填报属性」,选择总部的数据库及表,把需要保存到总数据库中的数据绑定到对应列。

填报属性设置可参考文档:报表填报属性

定时填报的模板就设置完了,就可以使用定时器调用该报表进行定时填报了。

2.3 添加任务

管理员登录数据决策系统,点击「管理系统>定时调度>任务管理」,点击「添加任务」,添加一个定时调度任务。如下图所示:

2.4 基本设置

1)「任务名称」设置为「今日销售明细」。

2)「默认用户组」无需设置。

如下图所示:

2.5 调度对象

1)对象类型选择「报表模板」,选择2.2节设置好填报属性的模板「定时自动填报.cpt」。

2)类型选择「填报」。

3)参数设置,点击「设置参数默认值」,出现模板参数。

  • 参数 month 的值为=month(today())

  • 参数 year 的值为=year(today())

点击「下一步」,如下图所示:

2.6 调度周期

执行频率选择「明细频率设置」,点击「添加」。

设置执行时间为「18时0分」,执行日为「每月」的「最后一天」,执行月为「全选」,点击「确定」,即可成功添加明细频率。

点击「下一步」。如下图所示:

2.7 文件处理

无需额外勾选处理方式,点击「保存」,如下图所示:

2.8 效果预览

由于该任务的执行频率是每月最后一天晚上 18 时执行一次,无法立刻看到任务效果。

为了立刻看到任务效果,可在「管理系统>定时调度>任务管理」界面找到该任务,选择「执行一次」。

执行后,打开数据库,可以看到上个月信息自动填报到了指定数据库里面(设计器:模板-报表填报属性里面指定的数据库)。