找文章 / 找答案

[数据处理] 数据库中的数据每天更新,如何实现每天将前一天的数据...

王静静白银一 显示全部楼层 发表于 2021-4-13 18:37:31 |阅读模式 打印 上一主题 下一主题
数据库中的数据每天更新,如何实现每天将前一天的数据追加到数据集市?
回复

使用道具 举报

精彩评论2

Yonghong-Club 显示全部楼层 发表于 2021-4-13 19:20:37
使用定时任务增量导入数据,每天只导入前一天新增的数据。前提是数据库中有这样一个字段标明数据是哪一天的。
实现步骤:
1.首先新建定时任务增量导入数据不勾选增量,将某个查询的所有数据放到数据集市,其中会填写文件夹和文件前缀,这个在后面还会使用到。可以在定时任务中设置执行时间,选择系统空闲的时间执行定时任务。



2.步骤1完成后新建另一个定时任务增量导入数据,实现每天新增前一天的数据。勾选增量,其中文件夹和步骤1中的一致,前缀可以不一致。定时任务的时间执行设置为每天晚上空闲时间执行一次。需要在定时任务脚本中写如下脚本:
var b=formatDate(dateAdd(today(),'dayofmonth',-1),'yyyy-MM-dd')
param['sdate']=parseDate(b,'yyyy-MM-dd') //参数sdate表示开始时间,昨天
param['edate']=parseDate(formatDate(today(),'yyyy-MM-dd'),'yyyy-MM-dd') //参数edate表示结束时间 ,今天。




3.定时任务建好保存之后,打开这个定时任务增量导入数据的sql数据集 .在sql中使用定时任务中定义的两个参数。sql如下:
select * from test
where 1=1
and date >= ?{sdate}
and date

4.定时任务每天执行之后会在永洪安装目录下对应位置生成一个zb文件,保存的就是定时任务增量的导入的数据。如图:




5.使用增量导入的数据,在数据集处新建集市查询,文件夹选择步骤1中定时任务设置的文件夹,刷新元数据,保存数据集之后就可以愉快的使用这个数据集制作报表了,每天数据集的数据会自动新增前一天的数据,报表中的数据也是每天都可以更新的,不需要每天手动更新。

操作过程中需要注意的问题:
1.定时任务执行成功了,但是数据集和报表的数据没有更新,原因可能是昨天没有数据库中没有新增数据,这种情况定时任务可以执行成功,但是底层不会生成zb文件。
2.脚本中开始时间和结束时间的定义需要根据需要修改,比如每月或每周导入一次数据。
3.定时任务执行的时间需要根据需要设置,最好选在空闲时候,比如晚上。

回复 支持 反对

使用道具 举报

雨淋的猫白银四 显示全部楼层 发表于 2022-9-1 14:08:41
1
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部