温炎耿 王保民
摘要决策能力是现代企业的核心竞争力。我国企业在数据信息化和流程信息化建设方面发展迅速,但在决策支持层面上则相对滞后。本文从决策需求变化和信息资源利用两方面进行分析,提出构建决策支持平台的企业信息化建设新思路。
关键词决策企业信息化数据SSIS
从管理角度看,企业信息化是对企业中的信息进行自动化、系统化、集成化以及深度挖掘的过程,是对企业信息系统的规划、实施、运行和管理的过程。
我国企业信息化现状
根据企业不同的发展阶段,企业信息化主要集中在以下三个层面:数据信息化、流程信息化和管理决策信息化。数据信息化即把客户信息、产品库存、销售金额等各种固定数据以一定的数据库格式录入到计算机里,以数字的形式保存管理,这是企业信息化的初级阶段。流程信息化是利用信息技术将企业的运营流程规范化和科学化,这是在数据信息化的基础上对企业更深层次的信息化改造。通过流程改造,去掉企业运行中的不合理环节,把更加科学、高效的运营流程以信息系统的方式固化下来,进一步提升企业的整体运行状况。管理决策信息化是通过对已有信息资源的搜集、整理,以及通过一定的算法或工具对其进行深层次加工处理,从而得到有效数据,能够对管理决策起到重要的支持作用。
由于信息技术的日渐成熟和企业对信息化建设观念的转变及投入的增加,当前我国大多数企业已实现第一层面和第二层面的信息化应用,即面向事务的信息化建设,但在管理决策层的应用上,则还有很长的路要走。
影响决策信息化的问题分析
我国企业整体决策能力不强,决策支持信息化发展缓慢,究其原因,主要有以下几点:
首先,企业外部环境变化致使决策需求发生变化。在现代网络环境下,企业需要的是更加全面、及时、完整的数据情报。随着企业信息化的建设,信息获取、传递、存储已不再成为问题,影响企业决策的不再是信息的匮乏,而是信息的过于庞杂,如何在海量信息中提取有效数据成为支持决策的关键。
其次,企业信息化建设的阶段性致使信息资源的利用率不高。在企业发展的不同阶段,各种信息系统得以实现和应用。例如最初可能使用的库存管理系统,而后增加了财务管理,后面又有了CRM、ERP等,由于企业在不同阶段其经济、人员、技术等情况并不相同,使得这些系统的数据内容、定义、结构、质量互不相同。现代企业需要的是准确、全面、完整的数据支持,包括各部门以及外部环境甚至竞争对手的相关资料,以及对这些数据内在联系的进一步挖掘分析。
构建企业决策支持平台
由于企业的数据和流程相对固定,因此我国企业在实现这两个层次的信息化方面发展较快。而决策行为本身具有不确定性,故而围绕决策支持的信息化建设的难度也较大。企业信息化建设无法替代人类做出决策,但可以帮助企业提高决策效率。科学决策的基础是数据,企业应该建立一个结构统一、数据完整的数据平台,决策者可以依据此平台快捷、方便地得到自己所需要的资料,做出最准确的判断。
通用数据平台建设的关键问题不是信息资源匮乏,而是怎样解决“信息孤岛”,怎样对大量分布、异构的数据源中的数据进行抽取、清洗、转换,最终整合在一起构成企业通用的数据仓库,即决策支持平台。该平台是根据各种需求进行分析处理和数据挖掘的基础,是为管理者提供决策支持的数据保障,是企业信息化发展的需要,也是企业增强自身竞争力的需要。
决策支持平台的具体实现
许多公司提供了实现数据抽取、清洗转换、集成装载,即ETL的商业智能工具,例如IBM的Warehouse Manag-er、Oracle的Oracle ETL Server等。微软公司的SOL Server 2005提供了完整的数据整合服务Integration Set-vices(SSIS),使构建企业的决策支持平台变得简单高效。基于SSIS的完备高效,企业可以通过SSIS将企业的各种异构数据转换、整合、装载,构建决策支持平台,为企业决策提供服务。
一、SSIS的工作原理。SSIS基于工作流环境,提供了数据流和控制流两种工作流,“包”是SSIS项目中最基本的部署和执行单位,其装载了SSIS工作流,一个SSIS项目能够包含多个包,每个包只能有一个控制流,但可以包含多个数据流。SSIS通过控制流、数据流、事件处理程序等组件来处理数据整合任务。控制流也叫任务流,由容器、任务和优先约束等控制流元素构造而成。容器提供包中的结构并给任务提供服务,任务在包中提供功能,优先约束将容器和任务连接成一个控制流。控制流中每个节点就是一个任务,这些任务按照事先定义的顺序执行,可以根据执行结果的不同而有不同的分支。数据流由提取数据的源、修改和聚合数据的转换、加载数据的目标、将数据流组件的输出和输入连接为数据流的路径等元素组成,是专门针对数据操作的工作流,数据的提取、转换和加载主要通过数据流完成。
二、数据提取。数据提取前,首先要清楚数据来自于哪几个信息系统,各自运行的是哪些数据库管理系统,其数据结构是怎样的,有没有手工数据,是否存在非结构化的数据,数据有多少等问题,当收集完这些信息之后才可以进行数据抽取设计。
SSIS中,源是使数据流中的其它组件可以访问来自不同外部数据源数据的数据流组件,包括Data Reader源、Excel源、平面文件源、XML源、OLE DB源、原始文件源和脚本组件,通过源组件,SSIS可以连接到各种各样的数据源,进而从中提取数据。
三、数据的清洗转换。在集成各数据源数据构建通用数据仓库时,最大的困难是数据类型的转换。数据来自不同的数据源,包括企业内部的各部门以及企业外部的一些系统,因此这些数据的格式以及使用标准各不相同。这就需要对数据进行转换处理,然后才能够使用。例如性别可以表示为“1”和“0”,也可以表示为“男”和“女”,这些都需要转换统一。另外,数据的质量也会有较大差别,数据的遗漏、乱序甚至错误在所难免,数据清洗成为建设过程中必不可少的一个环节。
1、数据清洗。数据清洗是指将那些没用的、不完整的和错误的数据过滤掉,然后才能对这些数据进一步转换。不符合要求的数据主要是有以下四种:1)数据不完整。此情况主要指应有数据的缺失,例如主要客户联系方式、代理商区域信息、供应商地址等。2)数据格式错误。例如数据格式非法、数据值超出规定范围等。3)数据不一致。由于考虑性能或其他方面的原因,有些数据源可能会舍弃外键约束,从而导致数据不一致。例如在某个库中出现了一个客户表中没有的客户编号。4)重复错误。由于员疏忽或其它原因,有可能出现数据重复。
2、数据转换。数据转换的任务主要是将各数据源的数据标准化以及统一商务规则,其主要包括以下几个方面。1)多值数据的统一。即将不同业务系统中相同类型的数
据进行统一,例如某客户在终端系统的编码是AA1000,而在客户管理系统中是BB1000,则要将其转换成同一编码。2)统一商务规则。不同企业其业务规则和相应的数据指标不尽相同,这些指标的转换有时也很复杂,这就需要将这些指标转换为统一标准,然后将其存储在数据仓库中供分析使用。3)字符串操作。一些特定信息如身份证号等常可以从数据源的某个字符串字段中获得,并且,常会有数值型的值用字符串的形式来表现,因而对字符串常有字符串截取、类型转换等操作,由于字符型字段的随意性常会造成脏数据,因此通常要加上异常处理。4)日期转换。在数据仓库中日期一般都有不同于日期类型、特定的表示方式,而在数据源中,这种字段一般都是日期型的,因而要处理转换。
3、SSIS的数据清理转换机制。SQL Server 2005的SSIS主要提供了三种机制实现数据的清理转换。1)SSIS包含一些内置转换,将其添加到包中能够实现数据清理、标准化数据、将数据的大小写进行更改、转换数据类型或格式以及根据表达式创建新列值。此机制适合应用于多数据源的数据不一致,从而需对数据进行不同的格式处理的情况。2)将数据集中类似的值分组在一起来进行数据清理,有可能部分记录有重复,因而不应该未经过进一步的计算就将这些数据插入到数据库中。此转换适用于这种情况。例如,可以通过比对用户记录中的姓名信息而识别出重复的客户。3)SSIS可以使用精确查找或模糊查找来清理数据,其查找到引用表中的值并用其替换列中的值。此情况多用于购买或租用的数据,确保其满足业务标准。
四、数据加载。目标是将数据流中的数据写入特定数据存储区或创建内存中数据集的数据流组件。数据清洗转换完成后,即可装载到企业通用数据仓库,构成企业决策支持平台。但由于企业各系统的数据不断变化,这就要求通用数据仓库的数据也应及时更新。为确保数据的一致性,可以建立一个Job每天执行ETL包。
注释
①郭朝彬,张天桥:“基于SQL SERVER 2005的第三代数据挖掘系统构建分析”,《电脑开发与应用》,2008,21(8),34页。
②王亮,葛玮:“ETL过程的思考”,《计算机技术与发展》,2008,18(10),131-132页
③朱德利:《SQL Server 2005数据挖掘与商业智能》,北京:电子工业出版社,2007年。