柳志强
[摘 要] ERP系统内部控制是企业管理信息化研究的一个重要内容,本文应用数据仓库理论中的数据质量概念,借鉴数据预处理方法,从数据质量控制角度,研究数据仓库环境下ERP系统的数据质量控制;在数据安全控制基础上引入数据质量控制内容,将ERP系统内部控制内容之一 —— 数据控制的内涵延伸。
[关键词] 数据仓库;ERP;数据质量控制
[中图分类号]F232[文献标识码]A[文章编号]1673-0194(2009)02-0010-03
近几年,随着ERP系统与数据仓库领域的应用结合,数据仓库环境下ERP系统内部控制成为目前研究的一个前端问题,本文中所讨论的ERP系统数据质量控制,是指应用数据仓库理论中的数据质量概念,通过数据收集、数据识别/匹配、数据标准化、数据清理和数据集成等,实现ERP系统数据优化的过程。
一、数据仓库概念
数据仓库是在数据库发展的基础上产生的,美国W.H.Inmon博士将数据仓库定义为:“一个面向主题的、集成的、非易失的并且随时间而变化的数据集合,用于支持管理层的决策过程”。数据库为数据仓库提供数据,是数据仓库的基础。数据仓库主要应用于联机决策分析。
二、数据质量定义
提到数据质量,人们首先想到的就是控制错误数据的输入,以保证所输入的都是合法的数据值。实际上,数据质量的定义不仅如此。数据质量反映数据仓库中数据的固有属性,可分为数据的完整性、源数据的可信性、数据的正确性、数据的一致性以及数据的唯一性等。
数据仓库中对数据质量的定义如下:
(1)正确性。数据要正确,它的值就必须与数据域一致。
(2)准确性。数据值可能是正确的但不一定准确,而且不准确数据不会符合预先定义好的业务规则。
(3)一致性。数据用户经常会发现一个文件中的某个字段的值与另一文件中相同字段的值不一样。
(4)完整性。我们往往把关注的重点局限于某一个用户或者部门的数据需求上,这样会忽略一些重要的其他相关数据元素。
(5)数据整合。许多企业的数据是散布于众多系统和文件中的,因此数据存在冗余且缺乏一致性。这些系统和文件中的数据模式不同,未经整合将无法使用。
三、数据出现问题的原因
ERP系统数据出现问题的主要原因是:①数据输入不规范,同一部门不同的成员有不同的数据输入格式,造成数据不单一。②数据操作权限混乱,数出多门,同一业务数据在不同部门出现不同值。③企业本身一些业务不规范,没有及时形成业务数据,导致系统中的数据不完整。④数据储存多样性,数据以不同的模式存储在不同的文件和数据库中,数据存储在物理上独立的多个数据中心中,数据存储在不同的硬件平台之上,并且这些平台运行不同的操作系统。⑤多数据源造成的,有的数据来自关系数据库系统,有的来自文档,数据源本身的正确性和质量会直接影响数据质量。
四、数据质量问题分类
ERP系统数据质量问题按照数据源可划分为单数据源问题和多数据源问题两类。
单数据源数据质量问题分为如下4类:
(l)属性(字段)。这类错误仅仅局限于单个属性的值。例如,city=“客户”,属于输入错误。正确的输入是城市名称。
(2)记录。这类错误表现在同一条记录中不同的属性值之间出现的不一致。例如,city=“北京”,zip=300012,属性依赖冲突,城市名称和邮编之间应该是相对应的。
(3)记录类型。这类错误表现在同一个数据源中不同的记录之间的不一致关系。例如,记录1:(“李四”,“三星公司”),记录2:(“李四”,“诺基亚公司”),同一实体被不同的值描述,属于冲突错误。
(4)数据源。这类错误表现在数据源中的某些属性值和其他数据源中相关值的不一致关系。例如,员工:name=“李四”,DEP=15,属于引用错误,存在编号为15的部门,但该员工不在此部门。
多数据源数据质量问题包括:在多数据源集成过程中,每个数据源往往是为了满足特定的服务需求而进行设计、部署和维护的,也就是说它们在设计开发时是相互独立的,因此与这些数据源相关的数据库管理系统、数据模型、数据模式的设计以及数据格式等都存在很大程度的不同。此外,每一个数据源中都可能包含脏数据,不同数据源对同一数据可能存在不同的表示形式、数据重复或者数据冲突。因而相同的数据质量问题在多数据源集成之后,会比在单数据源情形下表现得更为复杂和严重,比如结构冲突、命名冲突、重复记录等。命名冲突是指相同的名字用于不同的数据对象,或者不同的名字用于同一个数据对象。结构冲突存在很多种不同的情况,往往是指在不同数据源中对同一个数据对象的不同表示,比如属性的粒度、不同的组成结构、不同的数据类型、不同完整性约束等。此外,即使不同的数据源之间具有相同的属性名称和数据类型,也仍然可能存在不同的数据值表示(如,在某一个数据源中用M、F分别表示男、女,而在另一个数据源中用0、1来表示)。另外,不同数据源提供的信息可能聚焦在不同的聚合层次(如某个数据源中单条记录描述的是某个产品的销售信息,而另一个数据源中一条记录描述的可能是一组同类产品的销售信息)以及代表的时间地点都有可能不同。
五、数据仓库环境下ERP系统数据质量控制实现
ERP数据质量的控制大体上可分为3种,即对数据源引起的数据质量问题进行控制,对抽取、转换、加载过程引起的数据质量问题进行控制和对数据仓库内部数据进行管理与控制。数据仓库环境下ERP系统数据质量控制主要是通过数据预处理方法来实现的。
按照ERP系统业务处理流程,数据预处理内容划分为3类:
(1)静态数据(或称固定信息),一般是指在生产活动前要准备的数据,即使是静态数据,也要定期维护,保持其准确性。系统运行时,访问静态数据一般不作处理。
(2)动态数据,一般指生产活动中发生的数据,不断发生、经常变动,如客户合同、库存记录、完工报告等,一旦建立,就需要随时维护。
(3)中间数据,是指根据用户对管理工作的需要,由计算机系统按照一定的逻辑程序,综合静态数据和动态数据,经过系统运算形成的各种报表。
静态数据和动态数据是输入数据,中间数据是经过系统处理后的数据。如果输入的数据是不可靠的,那么加工处理后的中间数据也是不可信的,不可能用它做出正确的决策。
ERP系统基础数据来源主要有以下几种:
(1)物料与产品信息,包括生产中所涉及的原材料、中间体、产成品、各种辅料及各种包材,涉及销售、计划、生产、供应、物料、成本、设计、工艺等部门,体现了数据共享和信息集成。
(2)生产管理信息,包括企业进行生产所必需的基础辅助数据,包括企业工作中心、工艺流程和工作日历等。
(3)其他数据信息,包括企业核算编码体系;部门、职员信息;会计科目、货币、计量单位、结算方式的信息;客户/供应商物品资料和价格的信息;客户/供应商资料及权限的信息等。这些数据作为系统管理中的基础数据,在进行系统初始化时,都必须首先准确录入。
在数据仓库环境下,通过提取、转换和加载处理,将数据从数据库中提取出来,转换成与数据仓库一致的格式,加载到数据仓库中集中存储,系统根据需要对数据仓库中的相关数据进行数据挖掘(DM)或联机分析处理(OLAP),然后将生成的结果传递给企业内部的或外部的人员,以满足企业管理和决策的需要。
数据预处理主要包括5个过程:数据提取、数据清理、数据集成、数据变换与数据规约、数据加载。主要是根据要求从异地异构数据源(包括各平台的数据库、文本文件、HTML文件、知识库等)提取相关的数据,然后对前一阶段产出的数据进行再加工,检查数据的完整性及数据的一致性,对其中的噪声数据进行处理,对丢失的数据进行填补。
数据提取是将分散在多个数据源中的信息抽取出需要的数据。在Windows平台环境下,利用基于ODBC等数据引擎的数据访问工具可快捷地访问几乎所有的数据库数据源,即为每个数据源建立相应的系统DSN,然后利用简单的导入/导出(Import/Export)或使用SQL存储过程实现数据提取。如果数据源以文本、表格等非数据形态出现,提取其中的数据需要按不同方式进行考虑。通常情况下,这种文本的格式是固定的或者具备某种特征的,或者在局部范围内按一定规则变化,可以在描述数据格式的基础上利用过程语言内嵌入的SQL语句或库函数调用让系统自动生成所需的提取代码。
数据清理操作是消除噪声或不一致数据,也称为数据净化,是针对原始数据中不完整的、含噪声的、不一致的数据进行整理和补充的过程。噪声数据是数据源中的错误或偏差数据。
数据集成操作是将来自不同数据源的数据整合成一致的存储数据,这些来自不同数据库中的数据按照某一标准进行统一,即将数据源中数据的单位、字长与内容统一起来,将源数据中字段的同名异义、异名同义现象消除掉,这些工作统称为数据的清理。即数据必须加以转换,从而以统一的编码规则表示,将源数据加载进数据仓库后进行某种程度的综合。例如,有两个数据源存储与人员有关的信息,在定义人员性别属性的类型时,一个可能是char(2),存储的数据值为“男”和“女”;而另一个属性类型为char(1),数据值为“F”和“M”。这两个数据源的值都是正确的,但对于目标数据来说,必须以一种统一的方法来表示该属性值,然后交由最终用户进行验证,这样才能保证数据的质量。
数据变换是通过规格化和聚集形成适合挖掘的形式。数据规约操作是压缩现有的数据集,既能减少数据集的大小,又不影响数据挖掘的结果。数据变换与数据规约实际是对数据进行汇总、聚集、压缩,而且不丢失信息。
数据加载主要是将经过转换和清洗的数据加载到数据仓库里面,即入库。用户可以通过数据文件直接装载或直联数据库的方式来进行数据装载,充分地体现其高效性。
六、结束语
随着ERP系统与数据仓库领域应用的紧密结合,以及数据质量概念在ERP系统中的广泛应用,将来ERP系统内部控制内容之一 —— 数据控制,其内涵不再局限于数据安全控制方面,同时数据质量控制也会成为数据控制的一个重要内容。
主要参考文献
[1] 陈京民,等. 数据仓库与数据挖掘技术[M]. 北京:电子工业出版社,2002:5.
[2] 锡德·阿德尔曼,等. 数据仓库项目管理[M]. 薛宇,王剑锋,译. 北京:清华大学出版社,2003:293.
[3] 熊霞. 数据仓库中数据质量控制问题研究[D]. 武汉:武汉大学,2004:24-26.
[4] 喻金龙. 基于ERP的数据管理研究[D]. 成都:西南石油学院,2005:27-29.