商业智能也称作BI是英文单词Business Intelligence的缩写。商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据以及来自企业所处的其他外部环境中的各种数据。而商业智能能够辅助的业务经营决策,既可以是操作层的,也可以是战术层和战略层的决策。为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘等技术。因此,从技术层面上讲,商业智能不是什么新技术,它只是数据仓库、OLAP和数据挖掘等技术的综合运用。
$ G) \6 Z# o& m/ }
7 l( c5 O" C% o1 O. J' m* ] R* j 商业智能的概念最早在1996年提出。当时将商业智能定义为一类由数据仓库(或数据集市)、查询报表、数据分析、数据挖掘、数据备份和恢复等部分组成的、以帮助企业决策为目的技术及其应用。目前,商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商资料及来自企业所处行业和竞争对手的数据,以及来自企业所处的其他外部环境中的各种数据。而商业智能能够辅助的业务经营决策既可以是操作层的,也可以是战术层和战略层的决策。为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘等技术。因此,从技术层面上讲,商业智能不是什么新技术,它只是数据仓库、OLAP 和数据挖掘等技术的综合运用。$ c9 B }# r* r4 ~$ T
7 a2 |0 g8 O. S( u
因此,把商业智能看成是一种解决方案应该比较恰当。商业智能的关键是从许多来自不同的企业运作系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换(Transformation)和装载(Load),即ETL过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具、OLAP工具等对其进行分析和处理(这时信息变为辅助决策的知识),最后将知识呈现给管理者,为管理者的决策过程提供支持。5 t. o7 G; n* e2 k7 p
4 a) R4 ?& t. p, a3 h0 \
目前,商业智能产品及解决方案大致可分为数据仓库产品、数据抽取产品、OLAP产品、展示产品、和集成以上几种产品的针对某个应用的整体解决方案等。& A6 W2 ]. [3 s$ e4 p
) Y) t3 {$ j. p( V U7 M9 P一、商业智能应具有的功能
2 U& Q/ x9 Y* p. h. I4 c4 R4 S7 a& ]; E5 F) |
目前,很多厂商活跃在商业智能(下面称BI)领域。事实上,能够满足用户需要的BI产品和方案必须建立在稳定、整合的平台之上,该平台需要提供用户管理、安全性控制、连接数据源以及访问、分析和共享信息的功能。BI平台的标准化也非常重要,因为这关系到与企业多种应用系统的兼容问题,解决不了兼容问题, BI系统就不能发挥出应有效果。这里我们通过对一个实验室的BI系统模型(我们将其称为D系统)进行功能解剖,来介绍BI系统。
4 P7 l0 J4 E! {0 Y4 P& \) x( G) y; d: A* m7 G; Z& O
D系统是一个面向终端使用者,直接访问业务数据,能够使管理者从各个角度出发分析利用商业数据,及时地掌握组织的运营现状,作出科学的经营决策的系统。D系统可实现从简单的标准报表浏览到高级的数据分析,满足组织内部人员的需求。D系统涵盖了常规意义上商业智能(BI)系统的功能,主要构架包括以下几个方面。, L$ k$ d% M9 \4 Z( K# h8 k
' L6 \! b# k& q' N
读取数据! a: l+ u: |% _ ?; h3 Z1 }5 _
+ _# p1 O" V; A* U) O8 P D系统可读取多种格式(如Excel、Access、以Tab分割的txt和固定长的txt等)的文件,同时可读取关系型数据库 (对应ODBC)中的数据。在读取文本和数据的基础上,D系统还可以完成:" e1 B. t f0 F* w& S* b. s
+ Z1 B6 b+ d1 ^! B2 N' L 连接文本 把2个CSV文件中的共同项目作为键(Key),将所需的数据合并到一个文件,这样可以象操作数据库一样方便,但无须用户编程即可实现。
' g$ k4 c, ]; K5 W) K) _+ W6 |
$ ~& g$ C5 H# t @! [ 设置项目类型 作为数据的项目类型,除按钮(button)(文字项目)、数值项目以外,还可以设置日期表示形式的日期数据项目、多媒体项目和不需要生成按钮但在列表显示中能够浏览的参照项目。
- L1 M2 ^6 l' ?% o4 N8 g3 t" L% {+ L# d
期间设置 日期项目数据可以根据年度或季度等组合后生成新的期间项目。同样,时间项目数据可以根据上午、下午或时间带等组合后生成新的时间项目。
4 `7 \& E B3 `3 z5 b$ O# t& I# t" z4 @; p' v- T+ ]
设置等级 对于数值项目,可以任意设置等级,生成与之相对应的按钮。例如,可以生成与年龄项目中的20岁年龄段、30岁年龄段的等级相对应的按钮。
# K0 E' \3 s8 _8 ]% A2 @: P5 a
3 z9 X: d* J6 }) I: B* y 分析功能
1 F; p% `. k( U2 |- y9 D, u" z/ ]) y% U' I, @3 E: L
关联/限定关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是,事件发生的概率和条件概率应该符合一定的统计意义。D系统把这种关联的分析设计成按钮的形式,通过选择有/无关联,同时/相反的关联。对于结构化的数据,以客户的购买习惯数据为例,利用D系统的关联分析,可以发现客户的关联购买需要。例如,一个开设储蓄账户的客户很可能同时进行债券交易和股票交易。利用这种知识可以采取积极的营销策略,扩展客户购买的产品范围,吸引更多的客户。4 |. B* d0 v! ]# W( }7 j
( E* F% J& ]* \
显示数值比例/指示显示顺序 D系统可使数值项目的数据之间的比例关系通过按钮的大小来呈现,并显示其构成比,还可以改变数值项目数据的排列顺序等。选择按钮后,动态显示不断发生变化。这样能够获得直观的数据比较效果,并能够凸显差异,便于深入分析现象背后的本质。
1 {6 _5 P7 e' {1 a" b& R4 ~+ p0 ?; e. y
监视功能 预先设置条件,使符合条件的按钮显示报警(红)、注意(黄)信号,使问题所在一目了然。比如说:上季度营业额少于100万元的店警告(黄色标出),少于50万元的报警(红色标出)。执行后,D系统就把以店名命名的按钮用相应的颜色表示出来。
) |0 c$ [6 e; q; R) y' D
+ M) H1 S B8 w8 s' H7 m/ J- n* O l$ {5 k 按钮增值功能 可将多个按钮组合,形成新的按钮。比如:把[4月]、[5月]、[6月]三个按钮组合后得到新的按钮[第2季度]。8 l3 |' B1 ^% K
/ o- J6 j3 `! | 记录选择功能 从大量数据中选择按钮,取出必要的数据。挑出来的数据可重新构成同样的操作环境。这样用户可以把精力集中在所关心的数据上。4 n3 U3 Y9 q. ]- R/ q- F
: [0 A7 h% s: C6 ]: R4 t
多媒体情报表示功能 由数码相机拍摄的照片或影像文件、通过扫描仪输入的图形等多媒体文件、文字处理或者电子表格软件做成的报告书、HTML等标准形式保存的文件等,可以通过按钮进行查找。
8 Z* y1 S9 e0 T( P
% k( {! A) `# r8 m4 { 分割按钮功能 在分割特定按钮类的情况下,只需切换被分割的个别按钮,便可连接不断实行已登录过的定型处理。2 I Q! {. Q) o5 s0 E# G0 B% x2 ^
* [1 L9 @3 }" b 程序调用功能 把通过按钮查找抽取出的数据,传给其他的软件或用户原有的程序,并执行这些程序。, H% x; @+ l" R9 M) j* y1 O
5 M4 Z6 s/ d; B6 K( R9 }
查找按钮名称功能 通过按钮名查找按钮,可以指定精确和模糊两种查找方法。另外,其他的按钮类也可以对查找结果相关的数据进行限定。
% G3 J7 W$ m5 c
|8 F% n) `# Q$ h [0 w- |/ v 丰富的画面
% L7 H0 e% C; e8 T( k8 q& d/ u5 ^7 H
列表画面 可以用and/or改变查找条件,可以进行统计/排序。统计对象只针对数值项目,统计方法分三种:合计、件数、平均,而且可以按照12种方式改变数值的显示格式。
/ b9 i- N e4 B( C. i$ `, p4 u1 Z2 F# b+ _+ l# M
视图画面提供切换视角和变换视图功能,通过变换与设置条件相应的数值(单元格)的颜色表示强调。依次变换视角可进行多方面的数据分析。视图的统计对象只针对数值项目,统计方法有合计、平均、构成比(纵向、横向)、累计(纵向、横向)、加权平均、最大、最小、最新和绝对值等12种。
4 m: E( C% Z% |
' Y% a+ C' h, `: I 数值项目切换 通过按钮类的阶层化(行和列最多可分别设置8层),由整体到局部,一边分层向下挖掘,一边分析数据,可以更加明确探讨问题所在。
+ ~2 O% c# ~; G! J1 d, O9 P/ H5 d# j; N5 i& F5 f$ ?
图表画面 D系统使用自己开发的图形库,提供柱形图、折线图、饼图、面积图、柱形+折线五大类35种。在图表画面上,也可以像在阶层视图一样,自由地对层次进行挖掘和返回等操作。
5 g n" ~8 c+ t- r0 G: v( J7 N8 i
4 z$ F: x4 U% A! d! [- M& N7 B 数据输出功能. N% w, ~9 _. S L6 t; C2 d
- |* _( U( Z9 ]; H/ H 打印统计列表和图表画面等,可将统计分析好的数据输出给其他的应用程序使用,或者以HTML格式保存。0 [9 G/ Z2 h* t* _: u
4 x2 O# |: b* w4 C3 l 定型处理
+ Z3 L- B, t- {1 q% T7 \0 T9 C& t r8 r% f
所需要的输出被显示出来时,进行定型登录,可以自动生成定型处理按钮。以后,只需按此按钮,即使很复杂的操作,也都可以将所要的列表、视图和图表显示出来。
, x; U7 l7 u! L3 j2 H* w, f# I4 H% h0 o
D系统应用范围/ d& J0 k% |4 n
, J! t# |$ m5 r0 s 商业智能系统可辅助建立信息中心,如产生各种工作报表和分析报表。用作以下分析:3 |5 Z2 p& S2 w& H& E$ g
$ l$ B' h* {, Z0 }4 J4 U 销售分析 主要分析各项销售指标,例如毛利、毛利率、交叉比、销进比、盈利能力、周转率、同比、环比等等;而分析维又可从管理架构、类别品牌、日期、时段等角度观察,这些分析维又采用多级钻取,从而获得相当透彻的分析思路;同时根据海量数据产生预测信息、报警信息等分析数据;还可根据各种销售指标产生新的透视表。/ z, d9 V# o" v! B. l
4 d% D; `$ `- J, z! g 商品分析商品分析的主要数据来自销售数据和商品基础数据,从而产生以分析结构为主线的分析思路。主要分析数据有商品的类别结构、品牌结构、价格结构、毛利结构、结算方式结构、产地结构等,从而产生商品广度、商品深度、商品淘汰率、商品引进率、商品置换率、重点商品、畅销商品、滞销商品、季节商品等多种指标。通过D 系统对这些指标的分析来指导企业商品结构的调整,加强所营商品的竞争能力和合理配置。
9 x* u; V6 z! B! `" s' d; d* A( d8 y4 T
人员分析通过D系统对公司的人员指标进行分析,特别是对销售人员指标(销售指标为主,毛利指标为辅)和采购人员指标(销售额、毛利、供应商更换、购销商品数、代销商品数、资金占用、资金周转等)的分析,以达到考核员工业绩,提高员工积极性,并为人力资源的合理利用提供科学依据。主要分析的主题有,员工的人员构成、销售人员的人均销售额、对于销售的个人销售业绩、各管理架构的人均销售额、毛利贡献、采购人员分管商品的进货多少、购销代销的比例、引进的商品销量如何等等。' ^$ T) R/ u5 s% A' X7 `
1 ]1 x# Q" ?$ \8 p1 N& t二、商业智能定义为下列软件工具的集合! g% {) D1 s# D) P
, v) ]* Z" c @1 \/ a1 |1 u' n 终端用户查询和报告工具。专门用来支持初级用户的原始数据访问,不包括适应于专业人士的成品报告生成工具。
: t- b: f3 ]0 N6 ]; R% J. P$ l9 M. E( n5 G& y+ C. Z9 x' _
OLAP工具。提供多维数据管理环境,其典型的应用是对商业问题的建模与商业数据分析。OLAP也被称为多维分析。) R/ i9 x( u0 a
" X, @6 p9 W% G4 M v 数据挖掘(Data Mining)软件。使用诸如神经网络、规则归纳等技术,用来发现数据之间的关系,做出基于数据的推断。7 u4 d) h1 Q; m) e: i+ n
8 |4 n: t+ {# ^* ~
数据仓库(Data Warehouse)和数据集市(Data Mart)产品。包括数据转换、管理和存取等方面的预配置软件,通常还包括一些业务模型,如财务分析模型。
: ^ |% w0 @7 ^0 i3 g% h$ `; _' I, a7 n
联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。
$ d/ U& r( [# C' W: m$ s
, K. F0 C) a/ {& p 当今的数据处理大致可以分成两大类:联机事务处理OLTP(On-Line Transaction Processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
0 [# ]7 E, B6 T A
. H" v- `/ Z7 ]% a' Q OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"维"这个概念。
: p- J9 l( J9 Q
5 ? y; F8 l* r0 o, h3 g “维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。3 G0 b3 l H+ {
2 ?" W: }) i8 }
OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等。
: K2 a5 u# u( X$ v) D9 [0 x" e p; T7 n1 ?$ L: }
钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
- i' i+ m3 z4 X" ]4 i o
/ u, d( @. o* ~) Z& ?& n& } 切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。2 x" r# a% A; T' Y! y: A
旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。
5 C3 o& V9 @5 n0 f+ M" SOLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP。
* o. j+ r$ H+ c* W' p# P7 S2 A& E, @; R4 N# @0 ?5 v0 P
ROLAP表示基于关系数据库的OLAP实现(Relational OLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了“星型模式”。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为“雪花模式”。) T$ |9 B ?3 S" x8 g" G
4 e, ^3 C+ A3 s! b MOLAP表示基于多维数据组织的OLAP实现(Multidimensional OLAP)。以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。多维数据在存储中将形成“立方块(Cube)”的结构,在MOLAP 中对“立方块”的“旋转”、“切块”、“切片”是产生多维数据报表的主要技术。0 m% m$ V* I2 E. T
) }4 ]: u. m' _/ {* b/ z0 v HOLAP表示基于混合数据组织的OLAP实现(Hybrid OLAP)。如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。: D9 d+ q% M G
) `$ _' ?) I, n% M7 l 还有其他的一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪片型)提供对SQL查询的特殊支持。2 k% z( A, x- u! z' ?0 B. y
$ k, @+ ~. c0 B" E' E OLAP工具是针对特定问题的联机数据访问与分析。它通过多维的方式对数据进行分析、查询和报表。维是人们观察数据的特定角度。例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础,可形式化表示为(维1,维2,……,维n,度量指标),如(地区、时间、产品、销售额)。多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。
+ U. o5 v/ o+ }" }+ M/ p$ r2 G, d( G3 R% T, \ q
主流的商业智能工具包括BO、COGNOS、BRIO。一些国内的软件工具平台如KCOM(http://www.kcomsoft.com/)也集成了一些基本的商业智能工具。
+ |# w1 p+ t! r( g
' d5 L: z+ P, N9 z& b$ i 根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。
: }( n; h6 p, r; Q/ l
6 t0 g4 b1 H6 u; J2 G3 A G
3 O* t' i$ p. L+ q' v三、商业智能的三个层次! x3 ~$ i3 L5 _! D
来自:中国计算机报 " n! [1 [2 V9 d' `
: m6 l, k4 s$ r g. m6 v3 S3 g
经过几年的积累,大部分中大型的企事业单位已经建立了比较完善的CRM、ERP、OA等基础信息化系统。这些系统的统一特点都是:通过业务人员或者用户的操作,最终对数据库进行增加、修改、删除等操作。上述系统可统一称为OLTP(Online Transaction Process,在线事务处理),指的就是系统运行了一段时间以后,必然帮助企事业单位收集大量的历史数据。但是,在数据库中分散、独立存在的大量数据对于业务人员来说,只是一些无法看懂的天书。业务人员所需要的是信息,是他们能够看懂、理解并从中受益的抽象信息。此时,如何把数据转化为信息,使得业务人员(包括管理者)能够充分掌握、利用这些信息,并且辅助决策,就是商业智能主要解决的问题。; x: \4 w6 }% w( S Q$ j6 W7 m' J: v
4 \5 y+ h: v3 @3 y) d9 r
如何把数据库中存在的数据转变为业务人员需要的信息?大部分的答案是报表系统。简单说,报表系统已经可以称作是BI了,它是BI的低端实现。3 z. Q3 b" L' o) `- S. C
E5 m5 k- w" B5 c
现在国外的企业,大部分已经进入了中端BI,叫做数据分析。有一些企业已经开始进入高端BI,叫做数据挖掘。而我国的企业,目前大部分还停留在报表阶段。
3 s4 L& c# ?; g% U
! r; M. H8 ~" ^' ]) s" |7 L9 x# p+ A 数据报表不可取代4 I9 @( j0 o+ U8 E
5 F$ q% A; L8 h* s t, i* V# B
传统的报表系统技术上已经相当成熟,大家熟悉的Excel、水晶报表、Reporting Service等都已经被广泛使用。但是,随着数据的增多,需求的提高,传统报表系统面临的挑战也越来越多。4 ^ E. W! }3 u3 K$ Z: o' K
1 s: ]1 k+ H0 \6 e* e4 \
1. 数据太多,信息太少 O: d7 ?" T: J" ~1 u5 A+ a' U
8 ^4 R; F2 a. s% R$ o
密密麻麻的表格堆砌了大量数据,到底有多少业务人员仔细看每一个数据?到底这些数据代表了什么信息、什么趋势?级别越高的领导,越需要简明的信息。如果我是董事长,我可能只需要一句话:目前我们的情况是好、中还是差?
$ Q/ g- Q# c Z* }( o& I5 Z: W' f4 f- S
2. 难以交互分析、了解各种组合& G1 x* B. a2 m& {
; O/ D2 }8 T' S4 `- w 定制好的报表过于死板。例如,我们可以在一张表中列出不同地区、不同产品的销量,另一张表中列出不同地区、不同年龄段顾客的销量。但是,这两张表无法回答诸如“华北地区中青年顾客购买数码相机类型产品的情况”等问题。业务问题经常需要多个角度的交互分析。. r i' Q/ S- E" {% E
0 a8 w& m9 u# _/ g1 b- L# E 3. 难以挖掘出潜在的规则
* U! H! |; ?6 s! X O
0 N( c) t& n J# w 报表系统列出的往往是表面上的数据信息,但是海量数据深处潜在含有哪些规则呢?什么客户对我们价值最大,产品之间相互关联的程度如何?越是深层的规则,对于决策支持的价值越大,但是,也越难挖掘出来。
& I$ T6 f( _3 \; p, S( i5 \
) c, V% U2 x1 I. m: K 4. 难以追溯历史,数据形成孤岛1 t4 ?3 S& ~. R8 f, i- G: J) D; q
7 K5 W( J& f- p, X
业务系统很多,数据存在于不同地方。太旧的数据(例如一年前的数据)往往被业务系统备份出去,导致宏观分析、长期历史分析难度很大。+ H6 v" a. X+ \' k% ]+ I
/ X( \' F1 j3 M% z6 D- {
因此,随着时代的发展,传统报表系统已经不能满足日益增长的业务需求了,企业期待着新的技术。数据分析和数据挖掘的时代正在来临。值得注意的是,数据分析和数据挖掘系统的目的是带给我们更多的决策支持价值,并不是取代数据报表。报表系统依然有其不可取代的优势,并且将会长期与数据分析、挖掘系统一起并存下去。
1 C" @4 h. d$ X( s0 \' h' V: I% a0 G+ L- q7 u0 w$ M* l
八维以上的数据分析. t: H3 Q% i' w
6 G$ W- Q# q' G& C2 f 如果说OLTP侧重于对数据库进行增加、修改、删除等日常事务操作,OLAP(Online Analytics Process,在线分析系统)则侧重于针对宏观问题,全面分析数据,获得有价值的信息。( H( ]2 E1 d2 a6 Q
3 p/ y& Y. N8 d! m( V4 B 为了达到OLAP的目的,传统的关系型数据库已经不够了,需要一种新的技术叫做多维数据库。; j4 L) v. f. F) D5 A
5 ^) x7 f2 ~0 \2 l6 E; w 多维数据库的概念并不复杂。举一个例子,我们想描述2003年4月份可乐在北部地区销售额10万元时,牵扯到几个角度:时间、产品、地区。这些叫做维度。至于销售额,叫做度量值。当然,还有成本、利润等。: ]$ K# n5 R6 ~$ ]7 O
- }$ C+ @7 R. o' n# V9 P
如图2,每个维度分别代表了时间、产品和地区,立方体上的单元代表了度量值。进一步,维度可以分为不同的层次。
; x' a/ [: F1 P- G" X0 x( T. J& _# k0 b$ U7 [/ H# \& o! z
图1 某案例中对销售额的解析及当前产品的分类
. t7 D( D# c3 z/ z
* C# k5 G+ I1 [ J. Z# s 图2 使用多维数据分析的案例/ r G8 Q4 K4 O/ Q
5 n5 v4 ?5 f5 H1 l# n2 I& m
图3 某案例的数据分析投影图# E* s3 j) ` T" @/ K
# U' A9 v+ W; s' W& ]" v 除了时间、产品和地区,我们还可以有很多维度,例如客户的性别、职业、销售部门、促销方式等等。实际上,使用中的多维数据库可能是一个8维或者15维的立方体。& l$ _/ L6 w1 p8 H" u5 {
2 O( g3 b5 U7 j5 N5 V8 p/ }, k
虽然结构上15维的立方体很复杂,但是概念上非常简单。
" s$ u2 y6 i8 r% ?7 O& P- a/ B/ e# ^) ]7 s0 H: ]
数据分析系统的总体架构分为四个部分:源系统、数据仓库、多维数据库、客户端。- o# R: g2 d% r- Y% a7 H/ L9 H
$ o9 Y P+ y7 v
·源系统:包括现有的所有OLTP系统,搭建BI系统并不需要更改现有系统。
+ S$ Y% n: W) z( d! V- n5 g, R8 c8 Q T. @- K7 `) d% A
·数据仓库:数据大集中,通过数据抽取,把数据从源系统源源不断地抽取出来,可能每天一次,或者每3个小时一次,当然是自动的。数据仓库依然建立在关系型数据库上,往往符合叫做“星型结构”的模型。
; e* H% T5 b; R; }3 G f- U# a4 p; S, e
·多维数据库:数据仓库的数据经过多维建模,形成了立方体结构。每一个立方体描述了一个业务主题,例如销售、库存或者财务。
+ C% I( U/ }9 y Y; c: a+ n9 ^. x4 @7 u1 z
·客户端:好的客户端软件可以把多维立方体中的信息丰富多彩地展现给用户。* y% x1 u/ G& m5 M \$ g8 @( I
. `& Q* g( N' B' H9 r* g" l 数据分析案例:
4 g0 p3 t7 R. g; ], Y# y9 }* R/ A" [7 s1 i/ F5 W A- X. J+ }8 x
在实际的案例中,我们利用Oracle 9i搭建了数据仓库,Microsoft Analysis Service 2000搭建了多维数据库,ProClarity 6.0 作为客户端分析软件。
4 J9 N1 `' l2 I4 \0 p4 F/ b! j- o5 G5 a% M0 {5 e" x$ B2 v6 c
分解树好像一个组织图。分解树在回答以下问题时很有效:
' L8 v( Q# F: y2 u. n/ W& ]' G$ [3 R; T/ F k4 t" A$ T$ n' l
·在指定的产品组内,哪种产品有最高的销售额?
. k0 T; G9 c6 p; G3 Q7 F# s" w. n" @5 x" y: s
·在特定的产品种类内,各种产品间的销售额分布如何?
* b8 g# l1 M8 ~0 ]6 D: \# L6 h0 y. A3 C, I* @$ F
·哪个销售人员完成了最高百分比的销售额?0 b7 ` X4 j' w
: h4 r/ X) t9 d 在图1中,可以对PC机在各个地域的销售额和所占百分比一目了然。任意一层分解树都可以根据不同维度随意展开。在该分解树中,在大区这一层是按国家展开,在国家这一层是按产品分类展开。' L6 f" g; [ C$ h" ^
! h- f& o& p7 C. F! d- v/ p# Z
投影图(图3)使用散点图的格式,显示两个或三个度量值之间的关系。数据点的集中预示两个变量之间存在强的相关关系,而稀疏分布的数据点可能显示不明显的关系。/ g9 N8 V+ t( h, ^: Q
7 m0 Y& ^) x7 c
投影图很适合分析大量的数据。在显示因果关系方面有明显效果,比如例外的数据点就可以考虑进一步研究,因为它们落在“正常”的点群范围之外。( h/ f: j8 i. F. `( L1 ?
7 u6 o5 ?) H* a 数据挖掘看穿你的需求5 r3 U: F# ^$ P- A) V: p6 s
0 c3 X9 t9 N3 T- ^) g* V( p( \5 J
广义上说,任何从数据库中挖掘信息的过程都叫做数据挖掘。从这点看来,数据挖掘就是BI。但从技术术语上说,数据挖掘(Data Mining)特指的是:源数据经过清洗和转换等成为适合于挖掘的数据集。数据挖掘在这种具有固定形式的数据集上完成知识的提炼,最后以合适的知识模式用于进一步分析决策工作。从这种狭义的观点上,我们可以定义:数据挖掘是从特定形式的数据集中提炼知识的过程。数据挖掘往往针对特定的数据、特定的问题,选择一种或者多种挖掘算法,找到数据下面隐藏的规律,这些规律往往被用来预测、支持决策。 [3 G; R- y. R+ K2 F% a
. ~1 h' i" a9 b3 U5 e0 z 关联销售案例:0 e, a% U5 Q) Y, |
+ L2 p$ C/ v% t- [
美国的超市有这样的系统:当你采购了一车商品结账时,售货员小姐扫描完了你的产品后,计算机上会显示出一些信息,然后售货员会友好地问你:我们有一种一次性纸杯正在促销,位于F6货架上,您要购买吗?. o0 \7 g; t- [, S3 h4 ]+ i4 ~2 k
( @3 n% l9 q! \7 v
这句话决不是一般的促销。因为计算机系统早就算好了,如果你的购物车中有餐巾纸、大瓶可乐和沙拉,则86%的可能性你要买一次性纸杯。结果是,你说,啊,谢谢你,我刚才一直没找到纸杯。
9 M0 Q" ~6 j ^9 F! i: r' W7 N9 ~8 o" d3 x2 T, a% U
这不是什么神奇的科学算命,而是利用数据挖掘中的关联规则算法实现的系统。9 G. |; g+ b0 E5 V( I
x' n) h# K9 ?9 `! Z; F0 K4 Y9 Z 每天,新的销售数据会进入挖掘模型,与过去N天的历史数据一起,被挖掘模型处理,得到当前最有价值的关联规则。同样的算法,分析网上书店的销售业绩,计算机可以发现产品之间的关联以及关联的强弱。
/ v' O: \8 Y2 r) R
' H( t2 o+ l' m5 A3 b 数据报表、数据分析、数据挖掘是BI的三个层面。我们相信未来几年的趋势是:越来越多的企业在数据报表的基础上,会进入数据分析与数据挖掘的领域。商业智能所带来的决策支持功能,会给我们带来越来越明显的效益。
+ P5 s; @7 _' \8 |( j- j3 o& F
8 P- B1 a# O+ A2 m6 Y* a四、商业智能能为企业带来效益吗?
. T2 @5 {$ w3 k5 x( y. e1 ]5 m% U: `
商业智能帮助企业的管理层进行快速, 准确的决策, 迅速的发现企业中的问题, 提示管理人员加以解决. 但商业智能软件系统不能代替管理人员进行决策, 不能自动处理企业运行过程中遇到的问题.因此商业智能系统并不能为企业带来直接的经济效益, 单必须看到,商业智能为企业带来的是一种经过科学武装的管理思维,给整个企业带来的是决策的快速性和准确性, 发现问题的及时性, 以及发现那些对手未发现的潜在的知识和规律,而这些信息时企业产生经济效益的基础, 不能快速,准确的指定决策方针等于将市场送给对手, 不能及时发现业务种的潜在信息等于浪费自己的资源.比如:通过对销售数据的分析可发现各类客户的特征和喜欢购买商品之间的联系,这样就可进行更有针对性的精确的促销活动或向客户提供更具有个性的服务等, 这都会为企业带来直接的经济效益.7 Q8 A/ _, e7 O$ K) n% b \- w4 k. K
% l5 r+ n2 W1 N9 _五、实施商业智能的步骤如何?
& B3 u& v$ _5 A& j
3 ^7 v% F3 I3 p2 I5 {1 ` 实施商业智能系统是一项复杂的系统工程,整个项目涉及企业管理, 运作管理, 信息系统, 数据仓库, 数据挖掘, 统计分析等众多门类的知识. 因此用户除了要选择合适的商业智能软件工具外还必须按照正确的实施方法才能保证项目得以成功. 商业智能项目的实施步骤可分为:
, o+ W8 t+ b" f7 i- X: r8 {4 J5 D
5 ~1 q1 ?4 s% F6 x4 P! \ (1) 需求分析: 需求分析是商业智能实施的第一步, 在其他活动开展之前必须明确的定义企业对商业智能的期望和需求, 包括需要分析的主题, 各主题可能查看的角度(维度); 需要发现企业那些方面的规律. 用户的需求必须明确.
8 Q% i' o5 z; `" \! m4 T% R9 z' S* ?" Z& A& O& b
(2) 数据仓库建模:通过对企业需求的分析, 建立企业数据仓库的逻辑模型和物理模型,并规划好系统的应用架构,将企业各类数据按照分析主题进行组织和归类.! J* X: Q7 B- X" k4 K
! j' n& {2 H) o2 O
(3) 数据抽取: 数据仓库建立后必须将数据从业务系统中抽取到数据仓库中, 在抽取的过程中还必须将数据进行转换, 清洗, 以适应分析的需要.
' u0 W8 H6 Y% D" {0 O+ B/ ?6 n' |
4 C: I# D1 f7 a# H (4) 建立商业智能分析报表: 商业智能分析报表需要专业人员按照用户制订的格式进行开发, 用户也可自行开发(开发方式简单,快捷) .
2 |, p/ {3 r8 U8 M& d" u
, q7 \6 `3 ?7 Y+ h (5) 用户培训和数据模拟测试: 对于开发—使用分离型的商业智能系统, 最终用户的使用是相当简单的, 只需要点---击操作就可针对特定的商业问题进行分析.( p7 |/ P m$ t# B
: d4 L( {2 A- H0 e9 Y( d; f6 B
(6) 系统改进和完善: 任何系统的实施都必须是不断完善的. 商业智能系统更是如此, 在用户使用一段时间后可能会提出更多的,更具体的要求, 这时需要再按照上述步骤对系统进行重构或完善
" Z" ~1 ?) [- g$ |0 F1 W: Z2 V
, L6 J: X0 O% g; \$ f: } r3 k8 U K5 w
六、商业智能的发展趋势
0 C5 e- ]# n! x# m4 n
6 _1 u) \" ^) K+ f K0 F9 V 与DSS、EIS系统相比,商业智能具有更美好的发展前景。近些年来,商业智能市场持续增长。IDC预测,到2005年,BI市场将达到118亿$,平均年增长率为27% (Information Access Tools Market Forecast and Analysis: 2001-2005, IDC#24779, June 2001)。随着企业CRM、ERP、SCM等应用系统的引入,企业不停留在事务处理过程而注重有效利用企业的数据为准确和更快的决策提供支持的需求越来越强烈,由此带动的对商业智能的需求将是巨大的。
8 ^: \: e, I6 D, @ D( i
5 d5 e3 L7 h3 j% |7 f; x' u+ J: K 商业智能的发展趋势可以归纳为以下几点:
7 H7 K- p" j5 X" P8 ^; F& ]3 {" c. e6 S" h2 k# a
功能上具有可配置性、灵活性、可变化性! W+ r. ~! q5 s1 u" v0 L
BI系统的范围从为部门的特定用户服务扩展到为整个企业所有用户服务。同时,由于企业用户在职权、需求上的差异,BI系统提供广泛的、具有针对性的功能。从简单的数据获取,到利用WEB和局域网、广域网进行丰富的交互、决策信息和知识的分析和使用。5 K- P: O1 u- N' A
* K, S1 K. c& x/ d! \ 解决方案更开放、可扩展、可按用户定制,在保证核心技术的同时,提供客户化的界面* _/ ?' _2 e- E
针对不同企业的独特的需求,BI系统在提供核心技术的同时,使系统又具个性化,即在原有方案基础上加入自己的代码和解决方案,增强客户化的接口和扩展特性;可为企业提供基于商业智能平台的定制的工具,使系统具有更大的灵活性和使用范围。
" ~: r0 g: V+ @- C: g% I
$ F; w5 P7 W+ v1 ^4 o) S 从单独的商业智能向嵌入式商业智能发展
& `3 [7 Z( v; I% U 这是目前商业智能应用的一大趋势,即在企业现有的应用系统中,如财务、人力、销售等系统中嵌入商业智能组件,使普遍意义上的事务处理系统具有商业智能的特性。考虑BI系统的某个组件而不是整个BI系统并非一件简单的事,比如将OLAP技术应用到某一个应用系统,一个相对完整的商业智能开发过程,如企业问题分析、方案设计、原型系统开发、系统应用等过程是不可缺少的。7 d5 m* v1 S& a' d; F7 C7 @
6 ]! z5 L2 E+ |* C 从传统功能向增强型功能转变
. a3 Y: A5 |. W* U6 r0 q 增强型的商业智能功能是相对于早期的用SQL工具实现查询的商业智能功能。目前应用中的BI系统除实现传统的BI系统功能之外,大多数已实现了图2中数据分析层的功能。而数据挖掘、企业建模是BI系统应该加强的应用,以更好地提高系统性能。
6 e4 h6 p( }& h5 ?
6 A( N1 G: n- I% `) v# b七、商业智能市场分析——制造业是商业智能的重要市场+ t2 O! }2 N) T. ]/ @1 x
: j- h: D. {- p' [" S1 u7 r
Manufacturing Insights(IDC 公司附属公司)的报告显示,2004年亚太区(不含日本)制造业IT市场规模为137亿美元,预计该市场将以 11.4% 的年复合增长率平稳增长,到2008年市场规模将达210亿美元。 2004年底,亚太区(不含日本)制造业IT支出共137亿美元,其中离散制造占78.6%,流程制造占22.4% 。由于市场全球化和自由化带来了更加激烈的竞争和复杂性,亚太区(不含日本)的许多制造商继续对IT进行投资,以提高运营效率,更好地控制不断增长的业务成本。随着越来越多的制造商在华建立了生产基地,降低成本并占领巨大的国内市场,这些制造商需要对主要的IT基础架构、应用和服务进行投资以使其运营能够健康平稳地发展,并获得领先优势。这将继续促进中国和海外制造商的制造业IT投资。在对基础架构投入大量资金的同时,在中国和印度这样的新兴大型市场的许多制造商将继续对企业资源管理(ERM)和商务智能(BI)解决方案进行投资,从而为更好的内部协作和决策制定提供基础平台。; p: o- S" p N1 e1 D, O# c
, V9 d+ ~, }8 R5 y* X8 ?+ n/ ^2 V0 {
IDC的报告显示,2004年亚太区(不含日本)商务智能(BI)工具软件市场规模为2.332亿美元,预计该市场将以12.3%的年复合增长率迅猛增长,到2009年市场规模将达4.173亿美元,增长预计主要源于中国和印度日益发展的经济。这两国近几年更加健康的经济环境和不断增多的应用系统部署为未来5年BI工具的采用打下了基础。有关专家指出,随着互联网的普及,在决策支持系统基础上发展商业智能已成为必然。随着基于互联网的各种信息系统在企业中的应用,企业将收集越来越多的关于客户、产品及销售情况在内的各种信息,这些信息能帮助企业更好地预测和把握未来。所以,电子商务的发展也推动了商业智能的进一步应用。
/ z6 _% B6 l6 J( {# ?; T# f3 t1 F$ }) V0 i# f
从行业发展来看,商业智能作为业务驱动的决策支持系统,其发展是以较为完善企业的信息系统和稳定的业务系统为基础的。商业智能未来的应用与行业内信息化的基础状况密切相关,以制造型企业为主,其次是流通企业,这两个领域将是商业智能不可忽视的新市场。企业随着信息化水平的提高,商业智能产品将会与ERP和CRM等管理软件进一步融合,目前很多ERP厂商都把商业智能嵌入到相应的ERP系统内,比如SAP的ERP就嵌套了BO公司的商业智能产品,AD 也与和勤软件进行了类似的合作。
; k9 H7 b3 t+ l/ H0 v6 c3 K6 y, H# D% e, H
当然,商业智能如ERP一样,实施中存在着一定的风险,企业首先要认清自身的需求情况,在选择合作伙伴的同时也要进行充分的了解。各主流厂商都有各自的优势,比如SAS的数据挖掘、Hyperion的预算与报表合并、BO的数据分析与报告等。而商业智能产品的发展趋势必将是整合平台基础上的集成化应用。如何切实了解自身需求、选择具有优势的厂商产品,将是企业实施商业智能成功的关键。 |