1 ERP简介
ERP(EntERPri se Resource Planning)是企业资源计划的简称,起源于上个世纪90年代美国,经过几十年的发展,如今,它已成为国际上最先进的企业管理模式,它将企业的物流、人流、资金流和信息流集成为一个有机的整体,进行统一管理,也就是说,它可以将企业的采购、库存、生产、销售、人力资源、财务等等原本可以分开运行的各个业务处理系统集成道义,统一规划,从而可以最大限度的利用企业的现有资源,实现企业经济效益最大化。
伴随着中国经济的飞速发展以及企业信息化的水平的显著提高,企业老总纷纷意识到借助现代化的管理工具来提高管理水平的重要性,企业资源计划软件当然是首选。然而,随着ERP系统的长期运用,企业积累了大量的业务型的数据,但是多数企业的数据的利用率并没有得到相应的提高。企业高层很难在海量的数据中找到有价值的信息和知识。本文就是在ERP的环境下,运用数据仓库技术,打造一个企业强大的管理决策平台。
2 数据仓库简介
数据仓库的英文是Data Warehouse,通常被简写为Dw。数据仓库概念创始人W.H.Inmon对数据仓库的定义是:数据仓库就是面向主题的、集成的、相对稳定的、随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决策制定过程。
数据仓库中的数据一定是按照主题域进行组织的。每一个主题对应一个宏观的分析领域,比如,在银行业实施的数据仓库的主题可以是客户、账号、汇率等等:数据仓库的集成特性是指将来自多个数据源的,可能存在编码、属性或者命名不一致的数据按照某种规则进行重组后,在加载到数据仓库中,对于数据仓库来讲,这也是最关键的步骤。数据仓库的稳定性是指数据仓库反映的是长期积累下来的历史数据,是经过ETL的(抽取,转换,加载),因此,这写数据极少或根本不修改的;数据仓库中的数据时随时间变化的体现在这些数据是不同时间的数据集合,其中保存着大量的历史和现阶段产生的数据,时间元素在数据仓库中是必不可少的,以便进行趋势分析等。
数据仓库最重要的作用是通过查询分析数据(包括报表、OLAP、挖掘),把隐藏在海量数据中的信息找出来,为领导正确决策提供技术支持。
3 SQL Server 2008中商业智能简介
Microsoft SQL Server 2008提供了一个全面的商业智能(BI)平台,服务器组件包括SQL SERVER数据库引擎、Analysis Services、Reporting Services 和Integration Services。它为数据存储、多维分析、生成报表及数据挖掘提供了一个扩展的数据平台。
SQL Server Integration Services,通常被简写为SSIS,用于开发ETL(用于提取、转换和加载)包,用ETL包填充OLAP多维数据集(Cube)和挖掘结构;SQL Server Analysis Services,通常被简写为SSAS,用于构建OLAP多维数据集和数据挖掘模型,可对数据进行多维分析和各种商业预测;SQL Server Reporting Services,通常被简写为SSRS,是报表服务平台, 是一个广泛的报表解决方案,使得很容易在企业内外创建、发布和发送详细的商业报表。
4 数据仓库建立过程
4.1 模型设计
对于逻辑上的多维数据模型,可以使用不同的存储机制和表示模式实现多维数据模型。目前,使用的多维数据模型主要有星型模型、雪花模型。星型模型由事实表和维度表构成,事实表居中,多个维表呈辐射状分布于其四周,并与事实表连接。换句话说,每个维度表都与事实表直接相连。在星型模型的基础上,进一步对维度表进行标准化。在雪花模型中,某些维度表是通过其他维度表间接地连接到事实表的。无论哪种模型中,事实表中存放的数据量非常大,维度表中存放描述性的数据,数据量相对较小。
经过大量业务调研与数据分析,建立了星型模型。
质量检验结果事实表:产品关键字、设备关键字、时间关键字、设备关键字、班组关键字、车间关键字、合格品数量、废品数量。
检验员维度表:人员关键字(PK)、职工编号、姓名、性别、年龄、文化程度、身份证号、出生年、出生月、出生日、入厂年、入厂月、入厂日、技术等级、职称资格、聘任资格
时间维度表:时间关键字(PK)、年、月、日
班组维度表:班组关键字(PK)、班组名称
车间维度表:车间关键字(PK)、车间编号、车间名称、车间负责人
产品维度表:产品关键字(PK)、产品类别号、产品图号、产品名称、产品类型、产品数量
4.2 设计与实现
ETL是数据抽取、转换和加载的总称。在Microsoft SQL Server中,Integration Services提供一系列支持业务应用程序开发的内置任务、容器、转换和数据适配器。无需编写一行代码,就可以创建SSIS解决方案来使用ETL和商业智能解决复杂的业务问题。在本系统设计过程中,应用了SSIS将ERP等生产过程中数据经过一系列转换、分割、合并等操作,最终将其加载到数据仓库中供分析使用。
4.3 设置维度和多维数据集
首先指定事实数据表FactQty,指定维度表DimProduct、DimTime、DimWorker、Diminspector。然后定义维度的层次结构: 时间维度(YEAR-QUARTER-MONTH-DAY),产品维度(CATEGORY-SUBCATEGORY-NAME), 职工维度(SHOP-CLASS-WORKER_ID),并且确定度量值为合格量、废品量。
4.4 通过OLAP技术对数据进行分析
建立多维立方体后,即可进行多维数据分析。分析操作通常包括切片、切块、钻取、旋转等。
切片是在某两个维上取一定区间的维成员或全部维成员,而在其余的维上选定一个维成员的操作。例如,选定WORKER维度和工序维度,在时间维度选取一个属性成员(如2011年5月),就得到了立方体在WORKER维度和工序维度两个维度上的一个切片(操作者、工序、合格量,废品量):切块可以看作是由多个切片重叠起来构成的数据块,如2011年5月~2011年6月,就得到了一个切块;钻取分为上钻操作和下钻操作。下钻可以得到细节性的数据,反之,上钻得到的是相对概括性的数据。钻取的深度与维度的层次结构紧密相关;在立方体中,将横、纵坐标转换,即称为旋转,旋转可以得到不同视角的数据。
5 结语
本文以某机械加工工厂为背景,在其现行的ERP(企业资源计划)管理系统的基础上,基于SQL Server 2008的BI系统,实现了数据仓库的建立,数据加载过程,并结合EXCEL2007工具,实现了数据的前端展现。目前,该系统已正式使用,初步显现出了BI系统在生产管理中的作用。本文对BI系统的设计与实现进行研究,对基于SQL Server 2008的BI系统的创建具有一定指导意义。