集团公司(嵌入ETL工具)财务报表系统解决方案

集团公司(嵌入ETL工具)财务报表系统解决方案

一、项目背景:

某集团公司是一家拥有100多家子公司的大型集团公司,旗下子公司涉及各行各业,包括:金矿、铜矿、房产、化纤等。由于子公司在业务上的差异,子公司的财务报表也存在很多不同之处。因此,各个子公司需要根据自己的情况,制作符合自己个性化需求的报表模版,然后再部署到集团服务器进行统一管理。

集团使用的是SAP,所有子公司正是因这个系统而产生大量数据且这些数据保存在一起。此外,各子公司也有一些自己的系统,所以各自也会产生一些数据。

出于数据安全等因素的考虑,各个子公司的数据统一集中在集团总部的数据库。子公司的报表开发人员使用FineReport连接到总部数据库时,只能看到自己权限内的数据。

二、项目建设目标:

定期的将总数据源中数据导入到各子公司内的数据库表中,此时各子公司在开发报表时就只需连自己的数据库表即可,这样就实现了数据权限的控制,同时也较好的将各子公司的数据放在各子公司的数据库表内。

三、项目建设方案:

1. 所用工具Kettle简介

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

ETL即数据抽取、转换、装载的过程。它是构建数据仓库的重要环节。数据仓库是面向主题的、集成的、稳定的且随时间不断变化的数据集合用以支持经营管理中的决策制定过程。Kettle 的中文名称叫水壶,含义就是希望把各种数据放到一个壶里,然后以一种指定的格式流出。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

  作为Pentaho的一个重要组成部分,现在在国内项目应用上逐渐增多。FineReport报表软件可以实现和Kettle工具的完美集成应用。

2. Kettle工具的优势:

(1)kettle开源、高效

(2)kettle 非常强大而且易于使用的设计界面

(3)有非常强大而且众多的使用群体,应用广泛

(4)可用java进行集成开发:

提供了基于JAVA的脚步编写功能,可以灵活地自定义ETL过程,使自行定制、批量处理等成为可能,这才是一个程序员需要做的工作,而不仅是象使用Word一样操作kettle用户界面。

3. Kettle工具工作原理:

(1)Kettle的四大模块:

Spoon 是一个图形用户界面,它允许你运行转换或者任务,其中转换是用Pan工具来运行,任务是用Kitchen来运行。Pan是一个数据转换引擎,它可以执行很多功能,例如:从不同的数据源读取、操作和写入数据。Kitchen 是一个可以运行利用XML 或数据资源库描述的任务。通常任务是在规定的时间间隔内用批处理的模式自动运行。

以下是一个简单的ETL过程:

(2)原理总结:

Kettle实现数据转换,主要是通过JDBC驱动,建立连接,加载数据,转化数据并储存数据。

4. 利用kettle实现定时导出数据方案

实现定时导出数据,主要实现二个关建点:

1.定时功能

2.从源数据库中提取数据插入目标数据库

利用 kettle工具可以轻松实现以上二点。

1.定时功能:

Kettle是成熟专业的ETL工具,实现定时功能只需对作业进行相应的设置即可,如下所示,表示每天的12点整执行同步任务。

2.从源数据库中提取数据插入目标数据库

Kettle只需简单配置即可从数据库中取出数据,如下图所示。

其中${company}为公司变量名称,存入目标数据库也类似,只需要简单配置即可

详细使用配置见下面的实例。

5. Kettle工具的定时数据提取应用实例:

(1)实例功能:

定期对各个子公司的数据库表进行查询并且通过数据抽取和比较实现数据插入更新。

(2)实例分析:

实现整项作业共需要3个文件,名称和对应功能如下表所示:

(1)文件详细说明:

mainTrans.ktr:

在mainTrans.ktr中生成不同的数据库连接信息和其他变量信息。

示例中为手动输入数据,也可以把信息保存在文本中或者数据库中,设置对应的输入即可。如下所示,table为子公司数据库中的表名,company对应公司,后面的值为子公司数据库的连接信息。

mainTrans.ktr中有个java脚本,具体行为为获取trans1.ktr文件,设置变量并执行。

上面有几条记录就会执行几次trans1.ktr。

trans1.ktr:

具体执行导出的文件,示例中为mysql数据库,表名和字段也是特别设置的,请根据自己的环境进行相应的修改。

表输入:

表输入按照需要导出的总数据库信息配置好,sql示例语句为:

SELECT * FROM kettletb WHERE company=‘${company}‘

表示为只选出对应子公司的数据,其中${company}为传入进来的公司名。

具体配置页面如下图:

表输出:

这里的配置需要根据变量来设置,目标表为${table}来获取要导出的表名。其他配置如下所示,其中的值对应mainTrans.ktr中生成的数据(其中Password为${password}):

插入更新:

示例中对数据库表中的id和name字段进行查询,通过对id的比较来筛选掉原本数据库表里就用的数据,这样的话只需要插入最新更改的数据即可,大大提高了数据转换的效率。

设置main.kjb的定时时间,运行即可。设置页面参考如下图:

售后服务体系:

时间: 2024-10-23 02:27:04

集团公司(嵌入ETL工具)财务报表系统解决方案的相关文章

集团公司(嵌入ETL工具)財务报表系统解决方式

集团公司(嵌入ETL工具)財务报表系统解决方式 一.项目背景: 某集团公司是一家拥有100多家子公司的大型集团公司,旗下子公司涉及各行各业,包含:金矿.铜矿.房产.化纤等.因为子公司在业务上的差异.子公司的財务报表也存在非常多不同之处.因此,各个子公司须要依据自己的情况,制作符合自己个性化需求的报表模版,然后再部署到集团server进行统一管理. 集团使用的是SAP,全部子公司正是因这个系统而产生大量数据且这些数据保存在一起.此外,各子公司也有一些自己的系统.所以各自也会产生一些数据. 出于数据

ETL工具总结

ETL的考虑 做 数据仓库系统,ETL是关键的一环.说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具.回忆一下工作这么些年来,处理数据迁移.转换的工作倒 还真的不少.但是那些工作基本上是一次性工作或者很小数据量,使用access.DTS或是自己编个小程序搞定.可是在数据仓库系统中,ETL上升到了一 定的理论高度,和原来小打小闹的工具使用不同了.究竟什么不同,从名字上就可以看到,人家已经将倒数据的过程分成3个步骤,E.T.L分别代表抽取.转换 和装载. 其 实ETL过程就是数据流动的过程

大数据之ETL工具Kettle的--1功能介绍

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用.我这里啊,先描述ETL工具的通用功能,再来描述作为ETL工具其中的一种(Kettle)是如何来提供这些功能的(图文详解) ETL工具的功能之一:连接 任何ETL工具都应该有能力连接到类型广泛的数据源和数据格式.对于最常用的关系型数据库系统,还要提供本地的连接方式(如对于Oracle的OCI),ETL

开源ETL工具之Kettle介绍

What 起源 Kettle是一个Java编写的ETL工具,主作者是Matt Casters,2003年就开始了这个项目,最新稳定版为7.1. 2005年12月,Kettle从2.1版本开始进入了开源领域,一直到4.1版本遵守LGPL协议,从4.2版本开始遵守Apache Licence 2.0协议. Kettle在2006年初加入了开源的BI公司Pentaho, 正式命名为:Pentaho Data Integeration,简称"PDI". 自2017年9月20日起,Pentaho

客户视角:Oracle ETL工具ODI

客户视角:Oracle ETL工具ODI 数据集成已成为企业在追求市场份额中的关键技术组件,与依靠手工编码的方式不同,越来越多的企业选择完整的数据集成解决方案来支持其IT战略,从大数据分析到云平台的集成.Dao Research最近进行的一项研究,比较全球领先的几个数据集成解决方案之间的差异,及这些产品技术对现实企业的影响.他们采访了IBM,Informatica的,和甲骨文的客户.此外,他们也阅读了来自这三个供应商的公开可用的解决方案文档.该研究发现,甲骨文在数据集成领域具有某些方面的领先地位

C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

目       录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章           系统架构... 3 1.1           硬件构架图... 3 1.2           组件构架图... 4 第二章           技术选型与介绍... 5 2.1           开发环境... 5 2.2           数据源... 5 2.3           数据采集... 5 2.4           数据上传服务... 6 2.5      

etl学习系列1——etl工具安装

ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我介绍一个我在工作中使用了3年左右的ETL工具Kettle,本着好东西不独享的想法,跟大家分享碰撞交流一下!在使用中我感觉这个工具真的很强大,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取.质量检测.数据清洗.数据转换.数据过滤等方面有着比较稳定的表现,

3D立体显示大屏幕拼接视频墙系统解决方案【转】

http://shop.souvr.com/thread-123416-1-1.html 随着3D立体视像.全息影像等技术不断取得突破性进展,国内外越来越多的公司投身3D显示领域,产品层出不穷.3D技术将革命性地影响和改变人们的沟通.工作与生活方式.3D显示技术不仅广泛应用于工业领域.建筑领域.军事领域.医疗.教学.娱乐和公共展示等领域,推动传统信息化的升级,而且其正悄悄地融入个人娱乐与数字家庭的诸多领域,如电影.电视.动画.游戏.通讯.摄影.摄像.购物.互联网等.将带动显示器.电视等行业向3D

ETL工具之ODI

ETL工具之ODI 到目前为止,Oracle的ETL工具包括两种,分别是Oracle Warehouse Builder(OWB)和Oracle Data Integrator(ODI).前者是Oracle自己开发的工具,将在以后介绍.本章先介绍ODI,这个产品的前身是Sunopsis Active Integration Platform,Oracle在2006年收购Sunopsis后,这个产品被重新命名成ODI(Oracle Data Integrator).主要定位在数据集成和ETL场景里