返回列表 回复 发帖
Google

Datastage ETL, Data warehouse && BI

数据仓库中的数据来自于多种业务数据源,这些数据源可能是不同硬件平台上,使用不同的操作系统,数据模型也相差很远,因而数据以不同的方式存在不同的数据库中。如何获取并向数据仓库加载这些数据量大、种类多的数据,已成为建立数据仓库所面临的一个关键问题。针对目前系统的数据来源复杂,而且分析应用尚未成型的现状,强烈推荐使用专业的数据抽取、转换和装载工具DataStage。
8 e' K* q; @% k6 }  DataStage 是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集市或数据仓库目标数据库的集成工具。
6 H: T* t& H4 E2 S$ ~# E! w+ Z  DataStage 能够处理多种数据源的数据,包括主机系统的大型数据库、开放系统上的关系数据库和普通的文件系统等,以下列出它所能处理的主要数据源:
, T, k  r5 w! T) \2 a! B, T/ J  大型主机系统数据库:IMS,DB2,ADABAS,VSAM等
; t6 o- X; }8 R# g- x" x7 l  开放系统的关系数据库:Informix,Oracle,Sybase,DB2,Microsoft SQL Server等
+ G* t0 y% z- H8 O7 C6 r8 e6 ]% j  ERP系统:SAP/R3,PeopleSoft系统等( _! ^9 h" H+ E/ g$ L
  普通文件和复杂文件系统,FTP文件系统,XML等
: q) |4 @7 S0 X" M/ C  IIS,Netscape,Apache等Web服务器系统
9 W3 x5 p1 j7 |  Outlook等Email系统
$ a, ^' x& V) B2 |# }
  T  U8 L7 [& @! P  DataStage可以从多个不同的业务系统中,从多个平台的数据源中抽取数据,完成转换和清洗,装载到各种系统里面。其中每步都可以在图形化工具里完成,同样可以灵活的被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等多种复杂而实用的功能。其中简单的数据转换可以通过在界面上拖拉操作和调用一些DataStage预定义转换函数来实现,复杂转换可以通过编写脚本或结合其他语言的扩展来实现,并且 DataStage提供调试环境,可以极大提高开发和调试抽取、转换程序的效率。
" q2 B, W. Z7 H+ g& E. {
" A. ?8 x" s2 c' ~$ P  根据以往的项目实施经验,通常数据抽取工作分抽取、清洗、转换、装载几个步骤:
- N' G0 C' _$ N  抽取主要是针对各个业务系统及不同网点的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取的定义。
2 }5 f9 l: Q, ?: `6 A# t  清洗主要是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题,允许通过试抽取,将有问题的纪录先剔除出来,根据实际情况调整相应的清洗操作。% N6 v: Q( s9 A: d0 q2 a
  转换主要是针对数据仓库建立的模型,通过一系列的转换来实现将数据从业务模型到分析模型,通过内建的库函数、自定义脚本或其他的扩展方式,实现了各种复杂的转换,并且支持调试环境,清楚的监控数据转换的状态。
0 q& ^, G: i) |2 \8 f. V  F  装载主要是将经过转换的数据装载到数据仓库里面,可以通过数据文件直接装载或直连数据库的方式来进行数据装载,可以充分体现高效性。在应用的时候可以随时调整数据抽取工作的运行方式,可以灵活的集成到其他管理系统中
1

评分次数

  • waiqi8

数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。
/ @0 @6 u0 ^& I! I, a
, z0 i% c% h, Y) R      数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。数据仓库技术是为了有效的把操作形数据集成到统一的环境中以提供决策型数据访问,的各种技术和模块的总称。所做的一切都是为了让用户更快更方便查询所需要的信息,提供决策支持。. q& W) d# V" |- Q

% `" o' m5 u0 A! h* N5 V& s- T' D) n3 v7 L6 G; w
一、数据仓库拥有的四个特点
; y. @6 R" y1 K: U3 J$ v- q0 ^( ]0 `( O2 w5 U5 M, i5 Z' y8 c( |
      1、面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。1 K2 U% |, g0 H) _0 }

% P& v$ D- U+ Y; b  {! o( q      2、集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。6 V7 x2 ]( f  ?& E; L( S7 F% X! m
7 X0 u7 ~! }, L1 s* y
      3、相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。9 Y( c/ q* w. U5 D8 l/ [
3 X7 c( q& b5 Y5 f# N( E, v
      4、反映历史变化。操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
# a+ |& K9 \5 d3 ]! g/ w+ I. E, A2 [2 S9 q- j& A
二、数据仓库的组成7 d& m; l: C  ^8 c
0 Z1 K: _  E: R( E1 z4 r
      数据仓库数据库
# M) a, E- S! F+ n1 J4 Z5 i$ |      是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。
& u: t, p7 m- A' A) W$ d) u. C0 p" R  n$ l. R
      数据抽取工具& e% X4 L1 ]' ]3 n
      把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内。对各种不同数据存储方式的访问能力是数据抽取工具的关键,应能生成COBOL程序、MVS作业控制语言(JCL)、UNIX脚本、和SQL语句等,以访问不同的数据。数据转换都包括,删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。
) o3 h3 g3 Z  P% E% F1 x3 v* Y( U# h3 j5 c, B+ y/ S  O
      元数据$ Y2 b1 C0 D  ^6 q% D0 v0 D
      元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不同分为两类,技术元数据和商业元数据。/ c3 t7 A' R3 Y* J( O5 e
/ d6 u) s& J" a6 k" O
      技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库是用的数据。包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。/ k" d  _5 P2 F. M7 `
8 d0 q4 |0 {; [0 P
      商业元数据从商业业务的角度描述了数据仓库中的数据。包括:业务主题的描述,包含的数据、查询、报表;
9 b; k0 l3 {3 R1 q; s  ]/ M+ S8 l- e. b/ ^5 d' _2 _8 \
      元数据为访问数据仓库提供了一个信息目录(informationdirectory),这个目录全面描述了数据仓库中都有什么数据、这些数据怎么得到的、和怎么访问这些数据。是数据仓库运行和维护的中心,数据仓库服务器利用他来存贮和更新数据,用户通过他来了解和访问数据。
6 i( ?" ?7 b- u5 [2 I4 L4 i
- [% \/ q- ?6 M9 @! @      访问工具
7 o4 O9 C3 l! J) a: [8 K& t      为用户访问数据仓库提供手段。有数据查询和报表工具;应用开发工具;管理信息系统(EIS)工具;在线分析(OLAP)工具;数据挖掘工具。1 r/ I% g) `( _, L
  K7 R8 }9 B3 V4 u2 Q1 f: F
      数据集市(DataMarts)
9 u& n: Z0 l0 C1 O( i      为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(subjectarea)。在数据仓库的实施过程中往往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要注意的就是再实施不同的数据集市时,同一含义的字段定义一定要相容,这样再以后实施数据仓库时才不会造成大麻烦。8 ~8 J( u* M' ^$ w

5 b$ V; L" r. F$ D( s      数据仓库管理:安全和特权管理;跟踪数据的更新;数据质量检查;管理和更新元数据;审计和报告数据仓库的使用和状态;删除数据;复制、分割和分发数据;备份和恢复;存储管理。/ Z) Y* u% h# y

0 ]& G1 g$ @  ]: r5 h  p- x      信息发布系统:把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基于Web的信息发布系统是对付多用户访问的最有效方法。3 _5 W# k$ e2 `$ l5 N
. R" ]5 p4 `. e7 v  |  d( I1 d
三、设计数据仓库的九个步骤
% h9 L5 U- U% q, p9 m2 L" d- d* e2 y4 M3 V! P8 a. I; i
      1)选择合适的主题(所要解决问题的领域)
$ c, L+ t4 K1 o6 @3 n5 y5 i: |      2)明确定义fact表
' @% K8 k! A4 d: B) V      3)确定和确认维, c( Y; _$ t" ]6 g3 S) [; @+ ~
      4)choosingthefacts- I) f* x. B1 K+ R: L
      5)计算并存储fact表中的衍生数据段4 L% v& ]. w( k$ L9 R9 y3 G
      6)roundingoutthedimensiontables9 `( M2 o" W$ |5 A/ h5 z) S
      7)choosingthedurationofthedatabase
5 R+ Q1 X" S# B/ U      8)theneedtotrackslowlychangingdimensions# f: l5 k) h8 v1 U$ i6 s
      9)确定查询优先级和查询模式。) E2 }7 I4 M2 }( ^3 d6 ?6 U# ~1 F

) H5 v, C" W  \. L8 R# t      技术上! |6 Q. k0 M% [) x
      硬件平台:数据仓库的硬盘容量通常要是操作数据库硬盘容量的2-3倍。通常大型机具有更可靠的性能和和稳定性,也容易与历史遗留的系统结合在一起;而PC 服务器或UNIX服务器更加灵活,容易操作和提供动态生成查询请求进行查询的能力。选择硬件平台时要考虑的问题:是否提供并行的I/O吞吐?对多CPU的支持能力如何?8 k  _- _1 b" c* i% v
3 }$ {1 J- @/ |) O. ^% p. W
      数据仓库DBMS:他的存储大数据量的能力、查询的性能、和对并行处理的支持如何。
: a+ P8 @$ L  A9 t- X2 F  n/ C" V7 |
      网络结构:数据仓库的实施在那部分网络段上会产生大量的数据通信,需不需要对网络结构进行改进。
" o% B. i& Z  {  w实现上3 _3 y; [) ^7 h  X3 n( ~- _

% C! T, B# m0 R四、建立数据仓库的步骤5 r  l. W5 v( B

; a% q# ?  s- n/ p- C1)收集和分析业务需求! |& J" ?$ v2 i( \- Y+ }1 W
2)建立数据模型和数据仓库的物理设计+ e& ]+ l2 c; Z0 A; o/ {6 O' G& A% i4 A
3)定义数据源
" w3 P$ C# A4 `) q2 f2 I/ t4)选择数据仓库技术和平台4 i# l& k, r/ u- s+ ~% ~# ~
5)从操作型数据库中抽取、净化、和转换数据到数据仓库
9 f1 x% w  l! J$ K" Q; U6 F6)选择访问和报表工具. m- L  G( n* Q( F
7)选择数据库连接软件
  `5 L0 X  `( t4 r8)选择数据分析和数据展示软件6 m) Y: c* L( {" \' p) V/ W7 _  W9 N5 y
9)更新数据仓库
1 V) E* h. i2 O$ ~+ Q  w3 G  N: Y3 z8 O# c+ V! B
      数据抽取、清理、转换、和移植8 y/ k" Z- |* M8 ?' D! f  N  a
' G# ?* R  F* F5 K( T1 l+ y* K
1)数据转换工具要能从各种不同的数据源中读取数据。0 ]* ^1 |% _9 y- r# x1 v
2)支持平面文件、索引文件、和legacyDBMS。$ x+ h; O- [5 N# W% e9 `( a
3)能以不同类型数据源为输入整合数据。
- \/ a6 z" N7 `1 r/ y- h: b4)具有规范的数据访问接口. A8 P! B7 {9 O+ i" |& j: x
5)最好具有从数据字典中读取数据的能力
4 h% m; G% _. B. O6)工具生成的代码必须是在开发环境中可维护的& E& c* C- ?3 P; e) C/ R
7)能只抽取满足指定条件的数据,和源数据的指定部分
* n* U" Y  g0 B8)能在抽取中进行数据类型转换和字符集转换
0 F( D! v) L  ?% C/ T% `+ s8 U9)能在抽取的过程中计算生成衍生字段
* R8 z7 A# N" r' s* D- ^4 r- X10)能让数据仓库管理系统自动调用以定期进行数据抽取工作,或能将结果生成平面文件* r% Y# m! x9 a
11)必须对软件供应商的生命力和产品支持能力进行仔细评估2 n, x3 j5 n& h! g
      主要数据抽取工具供应商:Prismsolutions.Carleton'sPASSPORT.InformationBuildersInc.'s) |8 V8 L, A7 p+ v
EDA/SQL.SASInstituteInc.1 M: e8 ~6 b: A- R

% E- x( ]6 S+ G5 e# K五、数据仓库带来了什么
. D8 \# s3 H" |$ r; Q
7 m+ e6 k/ z; C' y# S      每一家公司都有自己的数据。并且,许多公司在计算机系统中储存有大量的数据,记录着企业购买、销售、生产过程中的大量信息和客户的信息。通常这些数据都储存在许多不同的地方。6 s# H1 r  ~) V( i, m
5 m6 G! I% f% Z
      使用数据仓库之后,企业将所有收集来的信息存放在一个唯一的地方——数据仓库。仓库中的数据按照一定的方式组织,从而使得信息容易存取并且有使用价值。
' p% S6 v: X6 Q
( S$ U! Q( y; G: y      目前,已经开发出一些专门的软件工具,使数据仓库的过程实现可以半自动化,帮助企业将数据倒入数据仓库,并使用那些已经存入仓库的数据。
7 ^$ r( \6 v  g% Q% c, Y7 `
: X" ]5 u. t9 T9 B" O% X+ Q      数据仓库给组织带来了巨大的变化。数据仓库的建立给企业带来了一些新的工作流程,其他的流程也因此而改变。3 F, T; m; K+ |3 s& }

9 ^& w% o# ~; E# f& g      数据仓库为企业带来了一些“以数据为基础的知识”,它们主要应用于对市场战略的评价,和为企业发现新的市场商机,同时,也用来控制库存、检查生产方法和定义客户群。
9 }) P, Z3 y( }. n* O
5 X9 P' U/ V" t4 U2 e+ h      每一家公司都有自己的数据。数据仓库将企业的数据按照特定的方式组织,从而产生新的商业知识,并为企业的运作带来新的视角。: n: e, Y  _4 V4 E

# @' I$ J0 ~4 h  H6 ?1 Y" M六、为何要建立数据仓库
" K# M) o# L& ^- `' B& z) S0 s+ G% ?) ?8 P: R, K3 M! p
      计算机发展的早期,人们已经提出了建立数据仓库的构想。“数据仓库”一词最早是在1900年,由Bill Inmon先生提出的,其描述如下:数据仓库是为支持企业决策而特别设计和建立的数据集合。
$ Q0 {6 a9 p3 m4 @! J& a5 z9 [& \
      企业建立数据仓库是为了填补现有数据存储形式已经不能满足信息分析的需要。数据仓库理论中的一个核心理念就是:事务型数据和决策支持型数据的处理性能不同。
, @9 I+ a4 f  j  u6 X/ e3 m) a; e- F# L: c" }$ J0 i+ W
      企业在它们的事务操作收集数据。在企业运作过程中:随着定货、销售记录的进行,这些事务型数据也连续的产生。为了引入数据,我们必须优化事务型数据库。
6 B. m# ^2 s6 {( q
# H9 c) z: d& Y) I% j* ~. E7 C3 l2 |      处理决策支持型数据时,一些问题经常会被提出:哪类客户会购买哪类产品?促销后销售额会变化多少?价格变化后或者商店地址变化后销售额又会变化多少呢?在某一段时间内,相对其他产品来说哪类产品特别容易卖呢?哪些客户增加了他们的购买额?哪些客户又削减了他们的购买额呢?5 o/ y4 q3 u' Y7 j$ h
0 h) z# Q) o! V- R; A+ `
      事务型数据库可以为这些问题作出解答,但是它所给出的答案往往并不能让人十分满意。在运用有限的计算机资源时常常存在着竞争。在增加新信息的时候我们需要事务型数据库是空闲的。而在解答一系列具体的有关信息分析的问题的时候,系统处理新数据的有效性又会被大大降低。另一个问题就在于事务型数据总是在动态的变化之中的。决策支持型处理需要相对稳定的数据,从而问题都能得到一致连续的解答。
' E- D  S! V" j+ y4 D
  S* ?. g% W9 k2 J' J9 u      数据仓库的解决方法包括:将决策支持型数据处理从事务型数据处理中分离出来。数据按照一定的周期(通常在每晚或者每周末),从事务型数据库中导入决策支持型数据库——既“数据仓库”。数据仓库是按回答企业某方面的问题来分“主题”组织数据的,这是最有效的数据组织方式。' q! l5 @( u; a: E3 \. u

" a7 u9 a2 `1 R, ^% b9 `/ y
& |6 n1 O) t$ e" N5 x' Y6 t/ q七、数据仓库和数据集市: p3 @" i0 R! p1 S# U8 F9 j

, j* f  S2 f' A9 [7 [9 z3 I2 b      有关决策支持型数据库的数据集市是面向企业中的某个部门或是项目小组的。一些专家顾问将数据集市的建造描述为建立数据仓库全过程中的一步。首先,一个储存企业全部信息的数据仓库被创建,其中,数据均具备有组织的、一致的、不变的格式。数据集市随后被创立,其目的是为不同部门提供他们所需要的那部分信息。数据仓库聚集了所有详细的信息,而数据集市中的数据则是针对用户们的特定需求总结而出的。' m: ?# x8 C! z2 L% v

( Y2 A* v" l( M7 i! `6 G      而另外一些专家则认为数据集市的建立并不需要首先建立一个数据仓库。在这个模型中,数据直接由事务型数据库转入数据集市中。一个公司可能建立有多个数据集市,而彼此之间毫无联系。6 u4 J+ N9 y% f- E4 D
* q* L& Z; _  y5 }
      这种不在建立数据仓库的基础上创建数据集市的方式会更便宜、更快速,因为它的规模更加易于管理。
1 y5 |0 r5 n* d6 l% U8 x! U  E8 W4 p
      第二种观点的缺陷在于无法实现最初创建数据仓库的最主要的目的——将企业所有的数据统一为一致的格式。现有的事务处理系统的数据往往是不一致、冗余的。如果首先建立起一个全公司范围的数据仓库,组织就能够获得一个统一关于企业的活动和客户的知识库。如果先建立起一个个独立的数据集市,那么数据仓库的诸多优势都能够得以实现,但是企业远远无法做到对数据的一致的储存。
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)作为BI/DW(Business Intelligence)的核心和灵魂,能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,约占整个项目的60%~80%,这是国内外从众多实践中得到的普遍共识。
! p) }  G; L% m4 g0 V; ~8 ^+ P5 r( X- T. N1 Y6 F( W- v3 g
      ETL是数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
; A3 o" v; m5 O6 B( ?2 C* g: R7 W8 f: u/ {0 M% h* l. H  _& {
  信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以致于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。而ETL则是主要的一个技术手段。如何正确选择 ETL工具?如何正确应用ETL?1 @1 v/ h& n( l% b/ I

) ?- U! x$ {. h2 l/ s  d  目前,ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS……7 s4 A; u) U1 {. ^, K
. W+ }" ]6 S2 f2 k" J* q* p1 a9 k; J
  数据集成:快速实现ETL; Z) t; n8 b/ c2 r
2 G& B9 j9 M+ f0 L9 u! O0 T* b& D+ X9 e
  ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期系统之间数据模型不一致;业务系统不同时期业务过程有变化;旧系统模块在运营、人事、财务、办公系统等相关信息的不一致;遗留系统和新业务、管理系统数据集成不完备带来的不一致性。2 i: n; x5 x2 v5 Q

1 f" d# I' \+ {$ s4 H) m4 t0 _  实现ETL,首先要实现ETL转换的过程。它可以集中地体现为以下几个方面:3 Z$ ^+ y) u* ]; J' o

# s5 l1 u; H( E$ e4 W: ^  空值处理 可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。( M7 S( K1 m3 }9 ~2 r9 b
) x0 Q% i" d; ~- ]* t, ?
  规范化数据格式 可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。/ ?  y- l- G) `  x! n: I7 M

) h* a# a- b& N6 X6 s  拆分数据 依据业务需求对字段可进行分解。例,主叫号 861084613409,可进行区域码和电话号码分解。6 F% y4 q/ H, h6 k
3 R' h# F( }# m
  验证数据正确性 可利用Lookup及拆分功能进行数据验证。例如,主叫号861084613409,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。* ~$ S" t; _) ?& Y6 N1 K
; R6 a+ A$ d3 u! H8 K. N
  数据替换 对于因业务因素,可实现无效数据、缺失数据的替换。( K* R: V5 k3 f& M+ o/ Q
! L( S0 I3 U) Y9 a; z9 T
  Lookup 查获丢失数据 Lookup实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。8 ^7 Y& i2 q2 L

  |4 H- Q) x/ z: T' C! y  建立ETL过程的主外键约束 对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键惟一记录的加载。: ~: ]' ?1 ]3 u/ w) {" e- Q8 }6 h1 S
" u: t; j8 q* i, \0 b+ `6 f" n
  为了能更好地实现ETL,笔者建议用户在实施ETL过程中应注意以下几点:+ Z2 J! R, S" d5 u" h, F
# r# v* w( ?* w! c& l- n
  第一,如果条件允许,可利用数据中转区对运营数据进行预处理,保证集成与加载的高效性;
, ?# p" M* F% {# E4 k1 [! W% W0 H$ y4 H# ^5 |1 `" d
  第二,如果ETL的过程是主动“拉取”,而不是从内部“推送”,其可控性将大为增强;8 F$ _  E+ ?" ^  c8 Q, N7 q

% v) {( W9 _2 @% j$ e7 K# i  第三,ETL之前应制定流程化的配置管理和标准协议;) \9 }! u' u/ i2 W# P* ~/ E: Q

& ]% [2 ^5 ?2 Y- Y5 n1 U  第四,关键数据标准至关重要。目前,ETL面临的最大挑战是当接收数据时其各源数据的异构性和低质量。以电信为例,A系统按照统计代码管理数据,B系统按照账目数字管理,C系统按照语音ID管理。当ETL需要对这三个系统进行集成以获得对客户的全面视角时,这一过程需要复杂的匹配规则、名称/地址正常化与标准化。而ETL在处理过程中会定义一个关键数据标准,并在此基础上,制定相应的数据接口标准。
. W/ a# O5 X3 A  ]( g% g2 L
* ?( @, I! r" _) A# y" \/ _  ETL过程在很大程度上受企业对源数据的理解程度的影响,也就是说从业务的角度看数据集成非常重要。一个优秀的ETL设计应该具有如下功能:( N: l) q. q: R! N( \' F

0 I2 @, I8 ]+ O' s  Y. C  管理简单;采用元数据方法,集中进行管理;接口、数据格式、传输有严格的规范;尽量不在外部数据源安装软件;数据抽取系统流程自动化,并有自动调度功能;抽取的数据及时、准确、完整;可以提供同各种数据系统的接口,系统适应性强;提供软件框架系统,系统功能改变时,应用程序很少改变便可适应变化;可扩展性强。
4 z4 ]3 H7 C; M2 ~6 _; [5 \6 q
2 r* t6 o+ {( `8 L4 G  Y; g1 X2 l3 ^, n0 M5 i
  数据模型:标准定义数据: ~# t3 m. P) p1 z  l

1 h  z: ^) T# L1 h. f7 A" D5 y+ \' o" S9 w3 c7 b/ @% b/ M
  合理的业务模型设计对ETL至关重要。数据仓库是企业惟一、真实、可靠的综合数据平台。数据仓库的设计建模一般都依照三范式、星型模型、雪花模型,无论哪种设计思想,都应该最大化地涵盖关键业务数据,把运营环境中杂乱无序的数据结构统一成为合理的、关联的、分析型的新结构,而ETL则会依照模型的定义去提取数据源,进行转换、清洗,并最终加载到目标数据仓库中。! F: [6 E4 {! ^

" ?; d3 F! u6 |. G. a' Y. b5 R  模型的重要之处在于对数据做标准化定义,实现统一的编码、统一的分类和组织。标准化定义的内容包括:标准代码统一、业务术语统一。ETL依照模型进行初始加载、增量加载、缓慢增长维、慢速变化维、事实表加载等数据集成,并根据业务需求制定相应的加载策略、刷新策略、汇总策略、维护策略。
/ C5 n1 h8 ]8 _; S, X  [3 V
, x! [1 O0 m7 p' I
1 A# E0 ~  Y$ j! Y( w3 O& U' n  元数据:拓展新型应用9 T6 X4 ^& g( I/ S6 m' R
8 h! U* [4 g* N9 Q

' e+ e$ D$ A( A0 \9 p; [  对业务数据本身及其运行环境的描述与定义的数据,称之为元数据(metadata)。元数据是描述数据的数据。从某种意义上说,业务数据主要用于支持业务系统应用的数据,而元数据则是企业信息门户、客户关系管理、数据仓库、决策支持和B2B等新型应用所不可或缺的内容。- B# F+ j" `" s5 {: U7 n
) ?7 g3 Z( I! d: _' @( Y
  元数据的典型表现为对象的描述,即对数据库、表、列、列属性(类型、格式、约束等)以及主键/外部键关联等等的描述。特别是现行应用的异构性与分布性越来越普遍的情况下,统一的元数据就愈发重要了。“信息孤岛”曾经是很多企业对其应用现状的一种抱怨和概括,而合理的元数据则会有效地描绘出信息的关联性。. N( S- q9 G6 ?& h
8 [2 J& n/ N! I6 Q/ R
  而元数据对于ETL的集中表现为:定义数据源的位置及数据源的属性、确定从源数据到目标数据的对应规则、确定相关的业务逻辑、在数据实际加载前的其他必要的准备工作,等等,它一般贯穿整个数据仓库项目,而ETL的所有过程必须最大化地参照元数据,这样才能快速实现ETL。+ g& G+ e, j! `5 Q1 @

; n" m; G* O+ o) N9 S  ETL体系结构4 u6 G% U6 U* G
' O+ [' W' M9 i3 ]
  下图为ETL体系结构,它体现了主流ETL产品框架的主要组成部分。ETL是指从源系统中提取数据,转换数据为一个标准的格式,并加载数据到目标数据存储区,通常是数据仓库。
: l0 K$ V/ R  O! W; l/ B+ f7 Q& R5 ^& N/ B, B/ Q, ?! Q5 @  q9 p
  ETL体系结构图
: g! M# O, W# O5 g' J# r; K0 H& n& |
  Design manager 提供一个图形化的映射环境,让开发者定义从源到目标的映射关系、转换、处理流程。设计过程的各对象的逻辑定义存储在一个元数据资料库中。0 t1 X8 p6 U8 [7 J: s
  y& S, C& ]$ p$ p: `) Y) k
  Meta data management 提供一个关于ETL设计和运行处理等相关定义、管理信息的元数据资料库。ETL引擎在运行时和其它应用都可参考此资料库中的元数据。
9 E7 F. Z$ N$ W& o0 q
! m8 s3 U) _; p0 r, |+ ]  Extract 通过接口提取源数据,例如ODBC、专用数据库接口和平面文件提取器,并参照元数据来决定数据的提取及其提取方式。
/ j# b+ d- g+ ]! y: m3 s0 K0 q7 d& `2 @1 w! E% U* M9 o
  Transform 开发者将提取的数据,按照业务需要转换为目标数据结构,并实现汇总。( @% c/ A" g9 i2 ~4 J4 d. k8 v2 D
  P7 k  W/ {7 h
  Load 加载经转换和汇总的数据到目标数据仓库中,可实现SQL或批量加载。1 O+ p$ C* r- ?6 F. O3 z, |
* `4 B, p& T3 s0 K. P5 d- S
  Transport services 利用网络协议或文件协议,在源和目标系统之间移动数据,利用内存在ETL处理的各组件中移动数据。% J1 L4 U/ r7 C& o% y/ i% r/ C4 O4 C

! ^& ^  |+ z' t7 |" u/ A+ \  Administration and operation 可让管理员基于事件和时间进行调度、运行、监测ETL作业、管理错误信息、从失败中恢复和调节从源系统的输出。
商业智能也称作BI是英文单词Business Intelligence的缩写。商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据以及来自企业所处的其他外部环境中的各种数据。而商业智能能够辅助的业务经营决策,既可以是操作层的,也可以是战术层和战略层的决策。为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘等技术。因此,从技术层面上讲,商业智能不是什么新技术,它只是数据仓库、OLAP和数据挖掘等技术的综合运用。0 u% ]$ @, R% Y1 ~; ]2 f) |
5 d& Y; f+ t& ~5 O& _# J( \1 Y7 b
      商业智能的概念最早在1996年提出。当时将商业智能定义为一类由数据仓库(或数据集市)、查询报表、数据分析、数据挖掘、数据备份和恢复等部分组成的、以帮助企业决策为目的技术及其应用。目前,商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商资料及来自企业所处行业和竞争对手的数据,以及来自企业所处的其他外部环境中的各种数据。而商业智能能够辅助的业务经营决策既可以是操作层的,也可以是战术层和战略层的决策。为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘等技术。因此,从技术层面上讲,商业智能不是什么新技术,它只是数据仓库、OLAP 和数据挖掘等技术的综合运用。
7 d& D1 K5 z3 M7 [& ]$ A3 i' I- G6 d- ?
      因此,把商业智能看成是一种解决方案应该比较恰当。商业智能的关键是从许多来自不同的企业运作系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换(Transformation)和装载(Load),即ETL过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具、OLAP工具等对其进行分析和处理(这时信息变为辅助决策的知识),最后将知识呈现给管理者,为管理者的决策过程提供支持。% t/ ^* O% A3 G' r* P2 R

3 ]+ p" w- ~$ Z3 {# a     目前,商业智能产品及解决方案大致可分为数据仓库产品、数据抽取产品、OLAP产品、展示产品、和集成以上几种产品的针对某个应用的整体解决方案等。1 w& P; G) J! W4 p
  h7 v# W! @( L4 D3 _" M/ v1 e3 J
一、商业智能应具有的功能      * B3 O2 S# b: E+ E$ P# B2 J
% j9 l' l1 e# W( W: R8 y% N- E
      目前,很多厂商活跃在商业智能(下面称BI)领域。事实上,能够满足用户需要的BI产品和方案必须建立在稳定、整合的平台之上,该平台需要提供用户管理、安全性控制、连接数据源以及访问、分析和共享信息的功能。BI平台的标准化也非常重要,因为这关系到与企业多种应用系统的兼容问题,解决不了兼容问题, BI系统就不能发挥出应有效果。这里我们通过对一个实验室的BI系统模型(我们将其称为D系统)进行功能解剖,来介绍BI系统。9 _' D3 H- J/ ^' p, F+ \% l

4 k7 y0 c6 E; T8 @      D系统是一个面向终端使用者,直接访问业务数据,能够使管理者从各个角度出发分析利用商业数据,及时地掌握组织的运营现状,作出科学的经营决策的系统。D系统可实现从简单的标准报表浏览到高级的数据分析,满足组织内部人员的需求。D系统涵盖了常规意义上商业智能(BI)系统的功能,主要构架包括以下几个方面。: b0 Z6 {, [& x3 T4 I. t' \

) d9 p: }7 M: S: I9 p      读取数据
3 U- q6 h1 r& p. o' w5 H9 T- j4 d) x9 T2 i; Y4 `* V
      D系统可读取多种格式(如Excel、Access、以Tab分割的txt和固定长的txt等)的文件,同时可读取关系型数据库 (对应ODBC)中的数据。在读取文本和数据的基础上,D系统还可以完成:( n( W6 o# H! K& k

) c4 f, x1 b  H  a8 ]' h      连接文本 把2个CSV文件中的共同项目作为键(Key),将所需的数据合并到一个文件,这样可以象操作数据库一样方便,但无须用户编程即可实现。, U2 z  T2 i0 l' \8 n7 v
5 E3 P8 `" C* p6 R
      设置项目类型 作为数据的项目类型,除按钮(button)(文字项目)、数值项目以外,还可以设置日期表示形式的日期数据项目、多媒体项目和不需要生成按钮但在列表显示中能够浏览的参照项目。
/ ?" G2 n5 J: [: [
% ?/ T* r" d  _. A) @* D# |9 L      期间设置 日期项目数据可以根据年度或季度等组合后生成新的期间项目。同样,时间项目数据可以根据上午、下午或时间带等组合后生成新的时间项目。
, Q9 n- a% H* _" Z! @% u  B/ Q) R3 ~
      设置等级 对于数值项目,可以任意设置等级,生成与之相对应的按钮。例如,可以生成与年龄项目中的20岁年龄段、30岁年龄段的等级相对应的按钮。
2 y6 k( ]0 L' {5 M8 p( {. G/ v3 U3 O9 v' G9 |7 b1 W( {
      分析功能
- n* \: i  V, |' D7 K  {. e, g) @1 C$ o, R9 \% v
      关联/限定关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是,事件发生的概率和条件概率应该符合一定的统计意义。D系统把这种关联的分析设计成按钮的形式,通过选择有/无关联,同时/相反的关联。对于结构化的数据,以客户的购买习惯数据为例,利用D系统的关联分析,可以发现客户的关联购买需要。例如,一个开设储蓄账户的客户很可能同时进行债券交易和股票交易。利用这种知识可以采取积极的营销策略,扩展客户购买的产品范围,吸引更多的客户。0 k; W1 j- O- F/ N5 k
! l8 D: B, |( J7 b; I
      显示数值比例/指示显示顺序 D系统可使数值项目的数据之间的比例关系通过按钮的大小来呈现,并显示其构成比,还可以改变数值项目数据的排列顺序等。选择按钮后,动态显示不断发生变化。这样能够获得直观的数据比较效果,并能够凸显差异,便于深入分析现象背后的本质。) s$ o# I2 E+ I4 ^0 H2 @  A& p
, f/ l0 X) U8 _1 D4 {! G+ M# a
      监视功能 预先设置条件,使符合条件的按钮显示报警(红)、注意(黄)信号,使问题所在一目了然。比如说:上季度营业额少于100万元的店警告(黄色标出),少于50万元的报警(红色标出)。执行后,D系统就把以店名命名的按钮用相应的颜色表示出来。
; w( ~, y# Z% X0 c% G
; I# t. M' M8 f. Y      按钮增值功能 可将多个按钮组合,形成新的按钮。比如:把[4月]、[5月]、[6月]三个按钮组合后得到新的按钮[第2季度]。: `- s9 A+ i; _3 E( V7 t7 ?
- R) u& c: n; G. V/ C
      记录选择功能 从大量数据中选择按钮,取出必要的数据。挑出来的数据可重新构成同样的操作环境。这样用户可以把精力集中在所关心的数据上。, C+ ]4 t( a8 W4 _. B; Z0 j

& c. c0 }! C) i" j1 _      多媒体情报表示功能 由数码相机拍摄的照片或影像文件、通过扫描仪输入的图形等多媒体文件、文字处理或者电子表格软件做成的报告书、HTML等标准形式保存的文件等,可以通过按钮进行查找。8 c, M$ D! Z7 t6 i4 }: ~

. t6 {  O, d' B+ k1 ?: P2 M9 q2 w      分割按钮功能 在分割特定按钮类的情况下,只需切换被分割的个别按钮,便可连接不断实行已登录过的定型处理。
6 E2 w# _2 g( L; U+ h
  j2 l: ?9 ^9 R- @' [* h      程序调用功能 把通过按钮查找抽取出的数据,传给其他的软件或用户原有的程序,并执行这些程序。% p; J/ L( z  ], f% V( z5 ]

; Q- ?3 f' v# X" ~      查找按钮名称功能 通过按钮名查找按钮,可以指定精确和模糊两种查找方法。另外,其他的按钮类也可以对查找结果相关的数据进行限定。9 ~% R4 w4 M0 C7 R2 k: ]
$ f4 j  w" |. |. p
      丰富的画面
9 r9 s8 ^4 Y4 T& ]4 q7 L+ m! }7 I/ h! f* N: d. c7 f, ]- E( C4 x2 }
      列表画面 可以用and/or改变查找条件,可以进行统计/排序。统计对象只针对数值项目,统计方法分三种:合计、件数、平均,而且可以按照12种方式改变数值的显示格式。
4 n+ t) @0 u; p6 H- z9 F( I
& o6 r' j7 ^5 F1 F. L. x      视图画面提供切换视角和变换视图功能,通过变换与设置条件相应的数值(单元格)的颜色表示强调。依次变换视角可进行多方面的数据分析。视图的统计对象只针对数值项目,统计方法有合计、平均、构成比(纵向、横向)、累计(纵向、横向)、加权平均、最大、最小、最新和绝对值等12种。  c) _$ \2 l% |

& x7 k  W4 |- k* x      数值项目切换 通过按钮类的阶层化(行和列最多可分别设置8层),由整体到局部,一边分层向下挖掘,一边分析数据,可以更加明确探讨问题所在。- ]# X1 `! O9 I- R( O5 w- W* y* g
, @+ u7 k) O7 \- `! m9 g7 ]: P
      图表画面 D系统使用自己开发的图形库,提供柱形图、折线图、饼图、面积图、柱形+折线五大类35种。在图表画面上,也可以像在阶层视图一样,自由地对层次进行挖掘和返回等操作。
# T# D; e* \' ~9 f' G9 W" I0 ^; V* }' O. H# g* _
      数据输出功能
" b' Q6 |: @, ~( t& p5 i+ u. t( g, P/ @* `+ F" N/ d* F
      打印统计列表和图表画面等,可将统计分析好的数据输出给其他的应用程序使用,或者以HTML格式保存。
* P  P0 Q, \2 |# l* b0 p6 y% z. z5 f8 q2 i9 K7 n" n
      定型处理
# c# O+ a1 c0 W
3 C# q6 ]0 Z  V2 Y) x( ~- ~      所需要的输出被显示出来时,进行定型登录,可以自动生成定型处理按钮。以后,只需按此按钮,即使很复杂的操作,也都可以将所要的列表、视图和图表显示出来。
2 M* M, ^$ V" v( c& B! R  E# m: B' @  X! s2 {' J$ g
      D系统应用范围
1 t$ r5 R! e) e: p9 c0 c4 v# E& c3 c6 t4 C! f; w; R3 C
      商业智能系统可辅助建立信息中心,如产生各种工作报表和分析报表。用作以下分析:
4 a! }# H: _6 O& N! R2 q0 _! v, T6 T. K4 ^$ c/ h- i
      销售分析 主要分析各项销售指标,例如毛利、毛利率、交叉比、销进比、盈利能力、周转率、同比、环比等等;而分析维又可从管理架构、类别品牌、日期、时段等角度观察,这些分析维又采用多级钻取,从而获得相当透彻的分析思路;同时根据海量数据产生预测信息、报警信息等分析数据;还可根据各种销售指标产生新的透视表。
0 g7 \+ `1 d9 H' }8 N4 R' K. K4 M6 J0 Y* @' e
      商品分析商品分析的主要数据来自销售数据和商品基础数据,从而产生以分析结构为主线的分析思路。主要分析数据有商品的类别结构、品牌结构、价格结构、毛利结构、结算方式结构、产地结构等,从而产生商品广度、商品深度、商品淘汰率、商品引进率、商品置换率、重点商品、畅销商品、滞销商品、季节商品等多种指标。通过D 系统对这些指标的分析来指导企业商品结构的调整,加强所营商品的竞争能力和合理配置。* Q# o5 f/ |8 N. F4 ~. p6 L
/ u% c$ E- k, P$ @, E( W( {; p
      人员分析通过D系统对公司的人员指标进行分析,特别是对销售人员指标(销售指标为主,毛利指标为辅)和采购人员指标(销售额、毛利、供应商更换、购销商品数、代销商品数、资金占用、资金周转等)的分析,以达到考核员工业绩,提高员工积极性,并为人力资源的合理利用提供科学依据。主要分析的主题有,员工的人员构成、销售人员的人均销售额、对于销售的个人销售业绩、各管理架构的人均销售额、毛利贡献、采购人员分管商品的进货多少、购销代销的比例、引进的商品销量如何等等。
, j3 N+ D! T: q  m* {* g$ k0 t2 e/ A5 w+ s4 K7 _
二、商业智能定义为下列软件工具的集合3 P2 l6 Z+ m# q; a6 W. ~1 O
+ D" f& Q1 ^: y" y5 ?8 C$ Z$ w
      终端用户查询和报告工具。专门用来支持初级用户的原始数据访问,不包括适应于专业人士的成品报告生成工具。
4 k2 }2 {5 d; q. n
( r2 d3 U0 B: U0 ]; o% v% c      OLAP工具。提供多维数据管理环境,其典型的应用是对商业问题的建模与商业数据分析。OLAP也被称为多维分析。& ?0 s2 `7 `% U* W+ C

. M) g6 `9 B. v  J      数据挖掘(Data Mining)软件。使用诸如神经网络、规则归纳等技术,用来发现数据之间的关系,做出基于数据的推断。2 [) V3 y) c. K6 n# H4 f

" _- y6 d3 _0 |6 ]8 f      数据仓库(Data Warehouse)和数据集市(Data Mart)产品。包括数据转换、管理和存取等方面的预配置软件,通常还包括一些业务模型,如财务分析模型。
7 @1 f( B  T1 I# j9 i6 U1 K2 f3 a% c* I6 |) M, S
      联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。5 @' t$ d9 ~, i! R/ E) f

% @' Q+ w, U/ d' r      当今的数据处理大致可以分成两大类:联机事务处理OLTP(On-Line Transaction Processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
+ S$ c# s0 u: g) @8 p+ r: e: Y: g# R, P  r1 ~
      OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"维"这个概念。
0 S& x2 {. n! X3 J5 [& _$ X
+ F1 k6 Y! e. `1 [0 J! S& m$ ]      “维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。
& W* S4 ~1 M, z
& ]7 S/ B7 @+ t9 h, u      OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等。
, e2 A! [- c0 f& z# ?% i( l# c8 w" p7 [
      钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
: o7 a2 z0 ]8 G) c: \6 a
3 }, i& ^( K# G3 u- e9 ?0 e      切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。
7 y% X* r; `) t* Z' Z* ?! g' _% j旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。
1 x$ @- ~0 h- d7 Y2 @! l+ fOLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP。+ i' r/ b7 O; m  I( h4 Z! x

; F. c) C  X0 _6 H% A      ROLAP表示基于关系数据库的OLAP实现(Relational OLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了“星型模式”。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为“雪花模式”。# X: \" w, }) w( Y3 }

8 Q, L# Z- J' V1 V" c) x" ^      MOLAP表示基于多维数据组织的OLAP实现(Multidimensional OLAP)。以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。多维数据在存储中将形成“立方块(Cube)”的结构,在MOLAP 中对“立方块”的“旋转”、“切块”、“切片”是产生多维数据报表的主要技术。
. w: @& Z( I) I, S+ M
3 ?$ v6 R) l  M, ?      HOLAP表示基于混合数据组织的OLAP实现(Hybrid OLAP)。如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。, s1 e$ N6 H1 b& {3 E
4 V8 w. C. c1 Q' j. U: K
      还有其他的一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪片型)提供对SQL查询的特殊支持。& n  I% x* y# E! s4 s, u

0 j0 z; o5 X# e5 _9 `      OLAP工具是针对特定问题的联机数据访问与分析。它通过多维的方式对数据进行分析、查询和报表。维是人们观察数据的特定角度。例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础,可形式化表示为(维1,维2,……,维n,度量指标),如(地区、时间、产品、销售额)。多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。
/ t" P- w, s- w2 p5 c9 n: [, H. A7 g9 N0 S% L* H; {/ E
      主流的商业智能工具包括BO、COGNOS、BRIO。一些国内的软件工具平台如KCOM(http://www.kcomsoft.com/)也集成了一些基本的商业智能工具。
5 }7 q- |5 t1 P. _* Y5 r; f
3 P! }: C) y4 W% q2 E/ c      根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。
, y* c4 M) @" Y% ?6 _- A1 A
3 K( l0 k# v3 S6 ?5 @8 Y; [
# l; j. c: f! t2 X0 H三、商业智能的三个层次! _. C5 b' s0 a" L$ {
来自:中国计算机报   
8 d. G. K) F% ?- T6 T: m , ?( ^. E4 {  ?% y) j/ G
      经过几年的积累,大部分中大型的企事业单位已经建立了比较完善的CRM、ERP、OA等基础信息化系统。这些系统的统一特点都是:通过业务人员或者用户的操作,最终对数据库进行增加、修改、删除等操作。上述系统可统一称为OLTP(Online Transaction Process,在线事务处理),指的就是系统运行了一段时间以后,必然帮助企事业单位收集大量的历史数据。但是,在数据库中分散、独立存在的大量数据对于业务人员来说,只是一些无法看懂的天书。业务人员所需要的是信息,是他们能够看懂、理解并从中受益的抽象信息。此时,如何把数据转化为信息,使得业务人员(包括管理者)能够充分掌握、利用这些信息,并且辅助决策,就是商业智能主要解决的问题。; N% t' D/ T$ H2 H" {2 ]9 V9 `

+ E7 v+ u! \& f) p; s# [) i  如何把数据库中存在的数据转变为业务人员需要的信息?大部分的答案是报表系统。简单说,报表系统已经可以称作是BI了,它是BI的低端实现。
: h/ t9 P; `; R. r1 _' S3 A4 w. _( w; l# Q
  现在国外的企业,大部分已经进入了中端BI,叫做数据分析。有一些企业已经开始进入高端BI,叫做数据挖掘。而我国的企业,目前大部分还停留在报表阶段。
. ~( t( t' c; \6 j6 W- ^* f8 e+ d0 p$ w) ^0 J3 O8 ?0 I
  数据报表不可取代
& Q. f+ [2 N7 E3 Y. b
+ D: q8 ^) i1 y. v  传统的报表系统技术上已经相当成熟,大家熟悉的Excel、水晶报表、Reporting Service等都已经被广泛使用。但是,随着数据的增多,需求的提高,传统报表系统面临的挑战也越来越多。
, N1 y" m) i7 R$ s; F+ H! Q! n- g, @. S3 I7 b
  1. 数据太多,信息太少
! [* i( m# `3 i; c& z7 s, r
' |/ \( T! x8 r, l3 A  s' H  密密麻麻的表格堆砌了大量数据,到底有多少业务人员仔细看每一个数据?到底这些数据代表了什么信息、什么趋势?级别越高的领导,越需要简明的信息。如果我是董事长,我可能只需要一句话:目前我们的情况是好、中还是差?) X4 \& p' J% q$ d( J4 F- C

$ u0 \* u7 X9 I+ z  2. 难以交互分析、了解各种组合
, E2 V- x0 Q. h2 b$ e
$ t6 v: Z5 U5 Z0 \# _1 y! h) `  定制好的报表过于死板。例如,我们可以在一张表中列出不同地区、不同产品的销量,另一张表中列出不同地区、不同年龄段顾客的销量。但是,这两张表无法回答诸如“华北地区中青年顾客购买数码相机类型产品的情况”等问题。业务问题经常需要多个角度的交互分析。5 p: p, b; r3 \4 x4 P
" h# `+ Q3 V# I( E: F. K6 L# p( M5 ^
  3. 难以挖掘出潜在的规则3 y1 y4 j) ]: a) H7 w+ _* i, v

( _6 K  n2 d4 }7 F/ w% J) A1 W  报表系统列出的往往是表面上的数据信息,但是海量数据深处潜在含有哪些规则呢?什么客户对我们价值最大,产品之间相互关联的程度如何?越是深层的规则,对于决策支持的价值越大,但是,也越难挖掘出来。8 B& n2 p- {" l
3 Q1 n. u$ y- z, R+ h: u0 \
  4. 难以追溯历史,数据形成孤岛% m) j' p& ^% Q2 r* }1 Q" x. j
7 i/ i0 @1 f* z6 e& k
  业务系统很多,数据存在于不同地方。太旧的数据(例如一年前的数据)往往被业务系统备份出去,导致宏观分析、长期历史分析难度很大。
6 G/ r* c# ^: s5 d, X! e5 t0 M: z' N
  因此,随着时代的发展,传统报表系统已经不能满足日益增长的业务需求了,企业期待着新的技术。数据分析和数据挖掘的时代正在来临。值得注意的是,数据分析和数据挖掘系统的目的是带给我们更多的决策支持价值,并不是取代数据报表。报表系统依然有其不可取代的优势,并且将会长期与数据分析、挖掘系统一起并存下去。
2 b/ N6 Y4 v- m* l% o: x
! v* R7 c" n. k! s3 A# G, l  八维以上的数据分析6 X$ `/ M6 ]2 Q7 h$ I' n# u
, Y) s* r' O- R
  如果说OLTP侧重于对数据库进行增加、修改、删除等日常事务操作,OLAP(Online Analytics Process,在线分析系统)则侧重于针对宏观问题,全面分析数据,获得有价值的信息。- _6 D! p# b" _5 U/ S

  l# r, n% K& ~' {/ U  为了达到OLAP的目的,传统的关系型数据库已经不够了,需要一种新的技术叫做多维数据库。0 K& N, m3 `" u1 n; e( m! r

8 V$ b! v- B/ H& u$ @% X# |  多维数据库的概念并不复杂。举一个例子,我们想描述2003年4月份可乐在北部地区销售额10万元时,牵扯到几个角度:时间、产品、地区。这些叫做维度。至于销售额,叫做度量值。当然,还有成本、利润等。0 \6 d7 f8 v# L$ g; W

2 b9 F4 W9 Q1 X$ ?6 E$ y) i  如图2,每个维度分别代表了时间、产品和地区,立方体上的单元代表了度量值。进一步,维度可以分为不同的层次。# l0 b4 B# J; i4 {9 `

( F0 j! y5 t1 v8 f5 _  图1 某案例中对销售额的解析及当前产品的分类
) @* N* d9 x# N3 c& i7 @- C
* ~0 `; D1 t( G, x. x* w. j% _  图2 使用多维数据分析的案例
" K) c% V1 c$ H, t6 R/ j) O2 m! U  N2 y6 [  e3 j
  图3 某案例的数据分析投影图1 j& Z' c* W$ i5 {! r1 j* r

/ u# }( {9 |0 F+ Q" x9 _3 c  除了时间、产品和地区,我们还可以有很多维度,例如客户的性别、职业、销售部门、促销方式等等。实际上,使用中的多维数据库可能是一个8维或者15维的立方体。
* [3 u  o& K5 s1 \2 v* n  H( O! e" q, g' ~( N, j" d2 A
  虽然结构上15维的立方体很复杂,但是概念上非常简单。5 r; z4 A+ l6 E. R  Z3 b

6 z/ h7 Y9 u# C$ L5 |! _  数据分析系统的总体架构分为四个部分:源系统、数据仓库、多维数据库、客户端。9 ]  J* ?! O' O! p8 V" W

/ B7 B' U& x  J( C  ·源系统:包括现有的所有OLTP系统,搭建BI系统并不需要更改现有系统。
5 m$ [8 j$ c) V4 X4 |2 }% a, g5 ~' ]/ _$ W4 L
  ·数据仓库:数据大集中,通过数据抽取,把数据从源系统源源不断地抽取出来,可能每天一次,或者每3个小时一次,当然是自动的。数据仓库依然建立在关系型数据库上,往往符合叫做“星型结构”的模型。& V5 [1 c# M, B: t
7 W) [4 C3 r+ B  W8 c$ ~
  ·多维数据库:数据仓库的数据经过多维建模,形成了立方体结构。每一个立方体描述了一个业务主题,例如销售、库存或者财务。7 ]9 _& D7 t. a* `  i5 M; r: Q) F9 \# ]

1 l2 U# m# s; k9 m" k7 I  ·客户端:好的客户端软件可以把多维立方体中的信息丰富多彩地展现给用户。+ Q/ a9 R  P$ z$ l) W
/ ]$ k+ h  {+ S' k" ^! z$ u
  数据分析案例:- a& `# K2 Q  {1 c$ H5 j

7 x! W: E  @# c) f5 s/ u( D! ]  在实际的案例中,我们利用Oracle 9i搭建了数据仓库,Microsoft Analysis Service 2000搭建了多维数据库,ProClarity 6.0 作为客户端分析软件。2 G* P0 w& h2 _: a
1 E1 K$ J9 z. O
  分解树好像一个组织图。分解树在回答以下问题时很有效:7 o5 A6 p" _6 H1 P5 L

& K/ s( o2 o8 @, A! @: \  ·在指定的产品组内,哪种产品有最高的销售额?* }6 N- B& d/ t. y3 i- y

( C7 G0 i3 i- d* s/ E" s  ·在特定的产品种类内,各种产品间的销售额分布如何?( j, ~: `& v9 `! h# K7 y' P2 N

' v6 Z' Q$ d4 w* {  ·哪个销售人员完成了最高百分比的销售额?& L8 d5 p0 y6 N0 A. b$ e2 Z
. y9 g( t! r- x3 l- O0 ^
  在图1中,可以对PC机在各个地域的销售额和所占百分比一目了然。任意一层分解树都可以根据不同维度随意展开。在该分解树中,在大区这一层是按国家展开,在国家这一层是按产品分类展开。
* {6 z9 C; ]7 J2 r' I2 [
1 b2 h& J  x6 s8 m1 q. V# _  投影图(图3)使用散点图的格式,显示两个或三个度量值之间的关系。数据点的集中预示两个变量之间存在强的相关关系,而稀疏分布的数据点可能显示不明显的关系。
7 h. Q1 O" h0 i% [3 T5 i0 g: E: U& L' Q
  投影图很适合分析大量的数据。在显示因果关系方面有明显效果,比如例外的数据点就可以考虑进一步研究,因为它们落在“正常”的点群范围之外。  H9 W; ~6 x* J1 s# z" i- A7 c% V, l3 X

9 e! A, O6 p+ V' W  数据挖掘看穿你的需求+ F# x$ j# V4 A3 H
* L0 i5 e6 ?: Z
  广义上说,任何从数据库中挖掘信息的过程都叫做数据挖掘。从这点看来,数据挖掘就是BI。但从技术术语上说,数据挖掘(Data Mining)特指的是:源数据经过清洗和转换等成为适合于挖掘的数据集。数据挖掘在这种具有固定形式的数据集上完成知识的提炼,最后以合适的知识模式用于进一步分析决策工作。从这种狭义的观点上,我们可以定义:数据挖掘是从特定形式的数据集中提炼知识的过程。数据挖掘往往针对特定的数据、特定的问题,选择一种或者多种挖掘算法,找到数据下面隐藏的规律,这些规律往往被用来预测、支持决策。) y) H: p. Z3 G' b; ?" W# s& L
# k' q7 K& r. I0 @
  关联销售案例:
, N7 [% h9 K' r( y( R: W4 R; ~' m$ Z
  美国的超市有这样的系统:当你采购了一车商品结账时,售货员小姐扫描完了你的产品后,计算机上会显示出一些信息,然后售货员会友好地问你:我们有一种一次性纸杯正在促销,位于F6货架上,您要购买吗?
( k5 X5 c; U8 Q5 b
1 l) ~5 S* ~% P+ x  这句话决不是一般的促销。因为计算机系统早就算好了,如果你的购物车中有餐巾纸、大瓶可乐和沙拉,则86%的可能性你要买一次性纸杯。结果是,你说,啊,谢谢你,我刚才一直没找到纸杯。
8 G# U1 r4 \6 a, P& {' k- @8 c  V% n1 h! u$ c" Q
  这不是什么神奇的科学算命,而是利用数据挖掘中的关联规则算法实现的系统。- N+ t8 j/ k' X; t  k+ |3 _" i; \8 [
, u7 P( X  F/ l7 d0 r( v4 h7 @8 U
  每天,新的销售数据会进入挖掘模型,与过去N天的历史数据一起,被挖掘模型处理,得到当前最有价值的关联规则。同样的算法,分析网上书店的销售业绩,计算机可以发现产品之间的关联以及关联的强弱。( A" @6 d% Q4 A+ ~+ c/ n
- R1 p( {. {- n! j" w# l9 L
  数据报表、数据分析、数据挖掘是BI的三个层面。我们相信未来几年的趋势是:越来越多的企业在数据报表的基础上,会进入数据分析与数据挖掘的领域。商业智能所带来的决策支持功能,会给我们带来越来越明显的效益。& e* G. f" z' [

' h# @4 H" r& y. n2 I: z, z四、商业智能能为企业带来效益吗?, @5 y% F9 r1 O7 h" E
. C6 v6 }( D1 T
  商业智能帮助企业的管理层进行快速, 准确的决策, 迅速的发现企业中的问题, 提示管理人员加以解决. 但商业智能软件系统不能代替管理人员进行决策, 不能自动处理企业运行过程中遇到的问题.因此商业智能系统并不能为企业带来直接的经济效益, 单必须看到,商业智能为企业带来的是一种经过科学武装的管理思维,给整个企业带来的是决策的快速性和准确性, 发现问题的及时性, 以及发现那些对手未发现的潜在的知识和规律,而这些信息时企业产生经济效益的基础, 不能快速,准确的指定决策方针等于将市场送给对手, 不能及时发现业务种的潜在信息等于浪费自己的资源.比如:通过对销售数据的分析可发现各类客户的特征和喜欢购买商品之间的联系,这样就可进行更有针对性的精确的促销活动或向客户提供更具有个性的服务等, 这都会为企业带来直接的经济效益.
* Z3 m9 {+ z; b  X  p& f9 U( m$ q7 g! V
五、实施商业智能的步骤如何?
- ~1 O. E& H+ _0 y! n. N3 D" k
6 T$ Y) y9 G9 L* D& z% [0 }1 F  实施商业智能系统是一项复杂的系统工程,整个项目涉及企业管理, 运作管理, 信息系统, 数据仓库, 数据挖掘, 统计分析等众多门类的知识. 因此用户除了要选择合适的商业智能软件工具外还必须按照正确的实施方法才能保证项目得以成功. 商业智能项目的实施步骤可分为:5 H$ O' a1 P' t! w) ~
8 H3 l. q; [4 P  U8 v
  (1) 需求分析: 需求分析是商业智能实施的第一步, 在其他活动开展之前必须明确的定义企业对商业智能的期望和需求, 包括需要分析的主题, 各主题可能查看的角度(维度); 需要发现企业那些方面的规律. 用户的需求必须明确.. O" {# n" Y- M7 x5 D. u

$ B" W# \1 z& x; ?( _3 f8 O. L  (2) 数据仓库建模:通过对企业需求的分析, 建立企业数据仓库的逻辑模型和物理模型,并规划好系统的应用架构,将企业各类数据按照分析主题进行组织和归类.  z6 n  W& \6 p

, F) {/ V7 |3 S* z% ]- ?  (3) 数据抽取: 数据仓库建立后必须将数据从业务系统中抽取到数据仓库中, 在抽取的过程中还必须将数据进行转换, 清洗, 以适应分析的需要.
4 ~+ x) o: L1 i$ N
2 o/ h: ]! t+ f4 O6 {8 p+ |  (4) 建立商业智能分析报表: 商业智能分析报表需要专业人员按照用户制订的格式进行开发, 用户也可自行开发(开发方式简单,快捷) .
7 X4 E: b6 l6 e. E# E. S8 z; z( @3 @1 `7 O1 z
  (5) 用户培训和数据模拟测试: 对于开发—使用分离型的商业智能系统, 最终用户的使用是相当简单的, 只需要点---击操作就可针对特定的商业问题进行分析.
! U9 R; P8 J( i. t9 E8 {1 w) q# i- O* d& X, T: y
  (6) 系统改进和完善: 任何系统的实施都必须是不断完善的. 商业智能系统更是如此, 在用户使用一段时间后可能会提出更多的,更具体的要求, 这时需要再按照上述步骤对系统进行重构或完善
; V0 U" Y6 ~4 T9 X) c+ O: y( j3 A/ ?: u6 j4 N7 T
: Q- ^/ d' m' |6 [
六、商业智能的发展趋势
, d* l1 H  n& v$ I8 |  J
' f' ]3 c/ c+ u" \# Z      与DSS、EIS系统相比,商业智能具有更美好的发展前景。近些年来,商业智能市场持续增长。IDC预测,到2005年,BI市场将达到118亿$,平均年增长率为27% (Information Access Tools Market Forecast and Analysis: 2001-2005, IDC#24779, June 2001)。随着企业CRM、ERP、SCM等应用系统的引入,企业不停留在事务处理过程而注重有效利用企业的数据为准确和更快的决策提供支持的需求越来越强烈,由此带动的对商业智能的需求将是巨大的。
  p( C1 E$ w% R" ]2 y0 c: f
9 M2 U  a7 H2 B( {# S% B      商业智能的发展趋势可以归纳为以下几点:2 l+ q% i! [# H5 x
/ x* S6 k" B' w' E+ t
      功能上具有可配置性、灵活性、可变化性
, _- h+ P/ Y" Q( N  L& C      BI系统的范围从为部门的特定用户服务扩展到为整个企业所有用户服务。同时,由于企业用户在职权、需求上的差异,BI系统提供广泛的、具有针对性的功能。从简单的数据获取,到利用WEB和局域网、广域网进行丰富的交互、决策信息和知识的分析和使用。
+ K' F$ i6 K# }/ w3 \  W$ C/ v- E/ z# {. _' }# m
      解决方案更开放、可扩展、可按用户定制,在保证核心技术的同时,提供客户化的界面
1 {* T+ S% e. K+ F      针对不同企业的独特的需求,BI系统在提供核心技术的同时,使系统又具个性化,即在原有方案基础上加入自己的代码和解决方案,增强客户化的接口和扩展特性;可为企业提供基于商业智能平台的定制的工具,使系统具有更大的灵活性和使用范围。
0 o: o( C+ ^1 P. E0 F; B: ^9 d/ R8 G3 B, d7 x! N! m
      从单独的商业智能向嵌入式商业智能发展0 J. a" Q; C9 @7 m
      这是目前商业智能应用的一大趋势,即在企业现有的应用系统中,如财务、人力、销售等系统中嵌入商业智能组件,使普遍意义上的事务处理系统具有商业智能的特性。考虑BI系统的某个组件而不是整个BI系统并非一件简单的事,比如将OLAP技术应用到某一个应用系统,一个相对完整的商业智能开发过程,如企业问题分析、方案设计、原型系统开发、系统应用等过程是不可缺少的。
5 r. O/ {! _  B0 n3 z6 X" y. {$ P& l% C1 ^. o( q
      从传统功能向增强型功能转变
9 K# V* p: e" o, r& j- {9 H, \      增强型的商业智能功能是相对于早期的用SQL工具实现查询的商业智能功能。目前应用中的BI系统除实现传统的BI系统功能之外,大多数已实现了图2中数据分析层的功能。而数据挖掘、企业建模是BI系统应该加强的应用,以更好地提高系统性能。
5 y1 Z2 ~5 L5 x' u$ O# |3 c
1 m# ?, {9 k# w1 ^+ [/ L( ]. ~. Q( F七、商业智能市场分析——制造业是商业智能的重要市场
& q- S; V& F& g' M: Y: G- |, E6 C# p: L3 K% [$ }
      Manufacturing Insights(IDC 公司附属公司)的报告显示,2004年亚太区(不含日本)制造业IT市场规模为137亿美元,预计该市场将以 11.4% 的年复合增长率平稳增长,到2008年市场规模将达210亿美元。 2004年底,亚太区(不含日本)制造业IT支出共137亿美元,其中离散制造占78.6%,流程制造占22.4% 。由于市场全球化和自由化带来了更加激烈的竞争和复杂性,亚太区(不含日本)的许多制造商继续对IT进行投资,以提高运营效率,更好地控制不断增长的业务成本。随着越来越多的制造商在华建立了生产基地,降低成本并占领巨大的国内市场,这些制造商需要对主要的IT基础架构、应用和服务进行投资以使其运营能够健康平稳地发展,并获得领先优势。这将继续促进中国和海外制造商的制造业IT投资。在对基础架构投入大量资金的同时,在中国和印度这样的新兴大型市场的许多制造商将继续对企业资源管理(ERM)和商务智能(BI)解决方案进行投资,从而为更好的内部协作和决策制定提供基础平台。
" W# E- ^" W, e2 Q" b  K: |: x
# [7 k  c; Z+ i. J      IDC的报告显示,2004年亚太区(不含日本)商务智能(BI)工具软件市场规模为2.332亿美元,预计该市场将以12.3%的年复合增长率迅猛增长,到2009年市场规模将达4.173亿美元,增长预计主要源于中国和印度日益发展的经济。这两国近几年更加健康的经济环境和不断增多的应用系统部署为未来5年BI工具的采用打下了基础。有关专家指出,随着互联网的普及,在决策支持系统基础上发展商业智能已成为必然。随着基于互联网的各种信息系统在企业中的应用,企业将收集越来越多的关于客户、产品及销售情况在内的各种信息,这些信息能帮助企业更好地预测和把握未来。所以,电子商务的发展也推动了商业智能的进一步应用。$ T* C7 X5 a: s: b
1 j  q% Y& T+ d4 O5 `5 B
  从行业发展来看,商业智能作为业务驱动的决策支持系统,其发展是以较为完善企业的信息系统和稳定的业务系统为基础的。商业智能未来的应用与行业内信息化的基础状况密切相关,以制造型企业为主,其次是流通企业,这两个领域将是商业智能不可忽视的新市场。企业随着信息化水平的提高,商业智能产品将会与ERP和CRM等管理软件进一步融合,目前很多ERP厂商都把商业智能嵌入到相应的ERP系统内,比如SAP的ERP就嵌套了BO公司的商业智能产品,AD 也与和勤软件进行了类似的合作。
/ m& N9 M/ d  r. s0 Y9 z2 k
) [% g$ x  d  e4 P8 S+ e  当然,商业智能如ERP一样,实施中存在着一定的风险,企业首先要认清自身的需求情况,在选择合作伙伴的同时也要进行充分的了解。各主流厂商都有各自的优势,比如SAS的数据挖掘、Hyperion的预算与报表合并、BO的数据分析与报告等。而商业智能产品的发展趋势必将是整合平台基础上的集成化应用。如何切实了解自身需求、选择具有优势的厂商产品,将是企业实施商业智能成功的关键。
楼主,ETL结构图呢?好像没有贴上啊

这样的人才很少吧?

正在找...啊.好难哦..
5 o  R: ]* a1 H* v
5 R! o5 ^( [  U5 o; ^# S, oMSN:litingting7@hotmail.com