第13章商务智能系统商务智能系统是应用人工智能、数据挖掘、数据仓库等先进技术,按照企业既定的业务目标,对大量的企业数据进行分析和挖掘,揭示出隐藏的、未知的知识或验证已知的规律,从而支持企业的智能管理与决策,提高企业核心竞争力。本章将详细讨论商务智能系统的起源、体系结构、工作原理和关键技术,并以知名的商务智能系统为例,剖析商务智能系统的实现原理和商务智能解决方案。13.1商务智能概述商务智能将业务数据转换成明确的、基于事实的、能够执行的信息,并且使得业务人员能够发现客户趋势,创建客户忠诚度,增强与供应商的关系,减少金融风险,以及揭示新的销售商机。商务智能的目标是了解变化的意义——从而理解甚至预见变化本身。通过访问当前的、可靠的和易消化的信息,帮助企业从各个侧面及不同的维度灵活地浏览信息和建立模型。它是提高和维持竞争优势的一条有效的途径。1商务智能的产生原因企业对社会环境变化的需求、技术进步的拉动以及经营理念发展的结果。(1)企业运营模式的变化。(2)“数据=资产”新企业观念的建立。(3)传统分析工具的整合能力有限。(4)信息技术的推动。2商务智能的定义GartnerGroup最早提出商务智能概念,它认为:商业智能技术提供使企业迅速分析数据的技术和方法,包括收集、管理和分析数据,将这些数据转化为有用的信息,然后分发到企业各处,辅助商业决策的制定。商务智能专家利奥托德这样描述商务智能:商务智能指将存储于各种商业信息系统中的数据转换成有用信息的技术。它允许用户查询和分析数据库,可以得出影响商业活动的关键因素,最终帮助用户做出更好、更合理的决策。国内商务智能专家王茁给商务智能下了这样一个定义:商务智能是企业利用现代信息技术收集、管理和分析结构化和非结构化的商务数据和信息,创造和累计商务知识和见解,改善商务决策水平,采取有效的商务行动,完善各种商务流程,提升各方面商务绩效,增强综合竞争力的智慧和能力。国内外一些知名的厂商也根据自身的产品提出独特的见解:IDC将商务智能定义为:终端用户查询和报告工具、OLAP工具、数据挖掘软件、数据集市和数据仓库产品等软件工具的集合。IBM认为:商业智能是一系列由系统和技术支持的以简化信息收集、分析的策略的集合,它应该包括企业需要收集什么信息、谁需要去访问这些数据、如何把原始数据转化为最终导致战略性决策的智能、客户服务和供应链管理。Microsoft认为:商业智能是任何尝试获取、分析企业数据以更清楚地了解市场和客户、改进企业流程、更有效地参与竞争的努力。SAP认为:商业智能是一大类收集、存储、分析和访问数据以帮助企业用户更好进行决策的应用程序与技术。SAS认为:商业智能是关于在组织内部和组织周围正在发生的智能或知识。MSTR认为:商业智能是一系列能够使公司分析数据库中的数据并根据收集的信息获得的洞察力来做决策的软件系统。DWReview认为:从数据分析的观点,商业智能是收集与研究主题相关的、高质量的、有意义的信息、以帮助分析信息、得出结论或做出假设的过程。商务智能是一个综合的概念,不同的人从不同的角度,会得出不同的见解:从技术角度看,商务智能是以企业中的数据仓库为基础,经由联机分析处理工具、数据挖掘工具加上决策人员的专业知识,从根本上帮助公司把运营数据转化成为高价值的可以获取的信息(或者知识),并且在恰当的时候通过恰当的方式把恰当的信息传递给恰当的人的过程。从数据分析的角度看,商务智能是为了解决商业活动中遇到的各种问题,利用各种信息系统进行的高质量和有价值的信息收集、分析、处理过程,其基本功能包括个性化的信息分析、预测和辅助决策。从应用的角度看,商务智能帮助用户对商业数据进行在线分析处理和数据分析,帮助解决商业问题、预测发展趋势、辅助决策,对客户进行分类、挖掘潜在客户等等,以便更好地实现商业目的。3商务智能的特点现有的商务智能系统主要具有以下特点:(1)成熟的数据仓库管理能力(2)强大的数据挖掘和OLAP能力(3)便捷的报表功能存在的缺陷:(1)主动性较差(2)智能性较低(3)难以与企业中已有的商务系统集成4商务智能的发展趋势商务智能的出现是一个渐进的复杂的演变过程,而且仍处在发展之中。它经历了事务处理系统(TransactionProccssSystem,TPS)、高级管理人员信息系统(ExecutiveInformationsystem,EIS)、管理信息系统(ManagementInformationSystem,MIS)和决策支持系统(DecisionSupportSystem,DSS)等阶段,最终演变成今天的企业商务智能。5商务智能的应用目前商务智能在全球的应用主要集中在保险业、银行业、电信业、制造业、零售业、税务和电子商务等领域。我国这方面的应用虽然才刚刚起步,但市场空间十分广阔。据IDC预测,亚太地区商务智能软件市场正以每年23%的速度增长,而中国是亚太地区商务智能增长最为迅速的市场之一;如果中国经济继续保持高速增长,商务智能软件在中国内地市场的年销售额平均增长速度至少在65.6%。BusinessObjects和Cognos等BI提供商已直接或者通过其代理商进入中国市场。BusinessObjects等公司成立了中国研究中心,其对中国市场的重视程度可见一斑。IDC公司认为医疗、教育和服务等领域将是商务智能增长最快的行业。13.2商务智能系统的体系结构所谓体系结构(Architecture)是指一整套的规则和结构,为一个系统或产品的整体设计提供主框架。而一个商业智能的体系结构是指通过识别和理解数据在系统中的流动过程和数据在企业中的应用过程来提供商业智能系统应用的主框架。1商务智能系统的处理流程商务智能系统是一种提高企业生存能力的有效工具,从系统的观点来看,一个典型的商务智能系统包括明确需求、数据准备、数据存储、知识挖掘以及应用反馈几个主要的处理流程。(1)外部数据源通过运行环境(ERP、CRM、SCM等)流入BI循环(包含有关客户、供应商、竞争对手、产品以及企业本身的信息);(2)进入数据仓库/数据集市等数据存储部分——对加入数据仓库的数据进行净化和转换,纠正错误的数据和统一格式,使其满足数据仓库应当具有的数据格式和质量标准;将其存储在中央存储库中(充当中央存储库的可以是关系型数据库或者多维数据库),数据的抽取、净化、转换和存储是BI循环的核心组成部分;(3)数据分析和知识挖掘部分——从数据仓库/数据集市中获取数据,并利用数据分析和知识挖掘工具,挖掘出对决策有用的知识,将所得结果提交给业务决策者。这部分是商务智能系统的灵魂,它满足了从简单报表经由OLAP扩展到数据挖掘范围内的各种需要;(4)BI将所得的知识以及决策者自身的反馈信息再次带入运作环境中,根据情况变化,表达新的需求,提高商务智能流程内在质量。从商务智能系统的循环流程中可以看出,数据仓库、OLAP(On-LineAnalyticalProcessing:联机分析处理)和数据挖掘(DataMining)是其主要的技术支柱:数据仓库是处理海量数据的基础,存储按照商务智能要求重新组织的来自业务系统的数据;联机分析处理不仅进行数据汇总/聚集,同时还提供切片、切块、下钻、上钻和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析;数据挖掘的目标则是挖掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面临的问题。2商务智能系统的体系结构从对处理流程的分析可以看出,商务智能系统主要由三个子系统组成:数据集成子系统、数据存储子系统以及BI应用子系统。如下图:(1)数据集成子系统数据集成子系统提供了一个解决企业的数据一致性与集成化问题的方案,它通过数据整合、数据集中、数据交换等数据处理手段,将企业各个业务系统面向应用的数据重新按照面向统计分析的方式进行组织,屏蔽数据资源的异构性与分布性,从而实现统一的数据访问和数据集成。目前,数据集成主要通过ETL工具软件、基于ETL的数据交换技术实现。(2)数据存储子系统——数据仓库数据仓库在现有各业务系统的基础上,对数据进行抽取、清理,并有效集成后,按照主题进行重新组织,最终确定数据仓库的物理存储结构,同时组织存储数据仓库元数据(具体包括数据仓库的数据字典、记录系统定义、数据转换规则、数据加载频率以及业务规则等信息)。(3)BI应用子系统通过对分析需要的数据按照多维数据模型进行再次重组,以支持用户多角度、多层次的分析,并利用数据分析工具从中发现有用的知识,支持企业的决策过程。它主要包括各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库或数据集市开发的应用。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具既针对数据仓库,同时也针对OLAP服务器。3商务智能系统的实施商业智能系统主要实现将来自不同企业运作系统的数据转换为企业决策信息的过程。与一般的信息系统不同,它在处理海量数据、数据分析和信息展现等多个方面都具有突出性能。商务智能的体系结构可以指导商务智能系统的实施,其步骤为:选择数据源数据预处理数据存储数据分析(1)选择数据源数据源包括了企业中所有的信息系统,以及根据决策分析需求可能涉及的其他外部数据资源,为了确保商务智能系统的成功,在识别和确定数据源时应遵循一些原则:①保证数据的真实性②保证数据的针对性③保证数据的完整性(2)数据预处理ETL是商务智能系统整合异构数据源的解决方案,简单的讲,ETL就是抽取、转换和装载,同时提供数据质量的管理,并且贯穿整个商务智能解决方案的全过程,完成整个系统的数据处理与调度。①数据抽取数据抽取是在对数据仓库的主题和数据本身内容理解的基础上,选择主题所涉及的相关数据。a.数据的更新方式量更新还是批量更新。实时更新还是周期更新。b.数据的传输模式数据传输是通过网络把远程的数据文件运用FTP传输到本地目录下。数据的传输模式即数据仓库中的数据是采用拉(Pull)的方式还是采用推(Push)的方式从数据源中获取。②数据转换数据转换主要是针对数据仓库建立的模型,通过一系列的转换将数据从业务模型数据转换为分析模型数据,通过内建的库函数、自定义脚本或其他的扩展方式,实现多种复杂转换,并且支持调试环境,监控转换状态。数据转换是将源数据变为目标数据的关键环节,它包括数据格式转换、数据类型转换、数据汇总计算数据拼接等等。但转换工作可以视具体情况在不同的过程中实现,比如可以在数据抽取时转换,也可以在数据加载时转换。③数据清洗数据清洗实际就是利用有关技术如数理统计、数据挖掘或预定义的数据清洗规则将脏数据转化成满足数据质量要求的数据。按数据清洗的实现方式与范围,可将数据清洗分为四种:①手工实现方式:用人工来检测所有的错误并改正。这只能针对小数据量的数据源。②通过专门编写的应用程序:通过编写程序检测/改正错误。但通常数据清洗是一个反复进行的过程,这就导致清理程序复杂、系统工作量大。③某类特定应用领域的问题,如根据概率统计学原理查找数值异常的记录。④与特定应用领域无关的数据清洗,这一部分的研究主要集中于重复记录的检测/删除。③数据清洗④数据装载数据装载主要是将经过转换和清洗的数据加载到数据仓库里面,即入库。可以通过数据文件直接装载或直连数据库的方式来进行,充分体现高效性。数据装载有两个部分,一部分是把合法数据文件装入回滚表中,该装入过程没有汇总部分;另一部分是把初次汇总表加载到临时汇总表,根据不同类型的数据,可能会有二次汇总。当加载临时汇总表的过程完毕以后,再把临时中间表的数据装入到中间表中。在实施中,它的步骤如下:a.读取汇总数据文件、无需进行汇总的源数据文件或需以后汇总的源数据文件,调用数据文件对应操作配置表,加载到相应数据表(中间表或回滚表)中;b.读取需进行实时汇总的合法数据文件,调用数据文件对应操作配置表,对数据库进行更新操作;c.程序根据生成的不同数据文件,同时生成汇总数据,同先前步骤的汇总文件进行对比,如出现不一致,提供系统预警。(3)数据存储对于一个