background image
集团公司(嵌入 ETL 工具)财务报表系统解决方案
项目背景:
某集团公司是一家拥有 100 多家子公司的大型集团公司,旗下子公司涉及各行各业,包
括:金矿、铜矿、房产、化纤等。由于子公司在业务上的差异,子公司的财务报表也存在很
多不同之处。因此,各个子公司需要根据自己的情况,制作符合自己个性化需求的报表模版,
然后再部署到集团服务器进行统一管理。
集团使用的是 SAP,所有子公司正是因这个系统而产生大量数据且这些数据保存在一
起。此外,各子公司也有一些自己的系统,所以各自也会产生一些数据。
出于数据安全等因素的考虑,各个子公司的数据统一集中在集团总部的数据库。子公司
的报表开发人员使用 FineReport 连接到总部数据库时,只能看到自己权限内的数据。
项目建设目标:
定期的将总数据源中数据导入到各子公司内的数据库表中,此时各子公司在开发报表时
就只需连自己的数据库表即可,这样就实现了数据权限的控制,同时也较好的将各子公司的
数据放在各子公司的数据库表内。
项目建设方案:
1. 所用工具 Kettle 简介
Kettle 是一款国外开源的 ETL 工具,纯 java 编写,可以在 Window、Linux、Unix 上运行,
绿色无需安装,数据抽取高效稳定。
ETL 即数据抽取、转换、装载的过程。它是构建数据仓库的重要环节。数据仓库是面向
主题的、集成的、稳定的且随时间不断变化的数据集合
用以支持经营管理中的决策制定过
程。Kettle 的中文名称叫水壶,含义就是希望把各种数据放到一个壶里,然后以一种指定的
格式流出。
Kettle 这个 ETL 工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的
用户环境来描述你想做什么,而不是你想怎么做。
Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转
换,job 则完成整个工作流的控制。
作为 Pentaho 的一个重要组成部分,现在在国内项目应用上逐渐增多。FineReport 报表
软件可以实现和 Kettle 工具的完美集成应用。