近段时间帮公司做一个关于销售数据的决策分析系统,基于SQL Server 2005 的BI模块。一直想将项目开发过程中的想法给记下来,但是项目忙个不停,一直找不到时间。现在终于有点闲暇,就见缝插针先写一点,也算自己工作的总结吧!
(—).什么是BI?BI的目的是什么?
关于BI的具体概念,各大BI厂商和一些组织都有自己不同的定义,如SAP、Microsoft、SAS等都有自己的BI产品或模块,功能都大同小异。其实BI并不是什么新的东西。在西方发达国家,特别是美国BI出现已经有20-30年的时间了。这可能也是因为西方国家公司的历史比较长,存在大量的历史数据可以进行分析,期望从中发现有价值的信息。随着企业信息化程度的不断提高,于是就希望借助于信息技术更有效的进行数据分析来支持公司的各种决策。其实BI有两个方面的范畴,一个是商业层的,是指对企业或组织的各种历史数据或当前数据进行多角度的分析,期望从中发现有价值的信息,并为企业或组织的决策提供支持;另一个是技术层面的,是指提供对数据进行多角度分析,有些还提供知识发现或数据挖掘功能的产品。本文所论述的是这两个方面的结合,这也是当前企业使用信息技术更好的进行数据分析和知识发现的需要。
BI的目的或者说动机则是充分利用企业积累的宝贵数据,对其进行深层次的发掘,并从不同的角度分析企业的各种业务指标并建立相关的业务知识模型,进而满足决策的信息需求和实现通过技术辅助决策的功能。 要实现这个目标就要求实现以下几个子目标。
一,整合企业不同时期、不同业务系统的数据。
二,从中抽取我们需要的有分析价值的数据。
三,通过不同的分析手段或方法,从中得到我们感兴趣的知识。
四,根据不同用户的需求把分析得到的结果通过直观易懂的方式展现给用户。
SQL Server 2005通过一系列集成的服务来完成以上任务。数据集成服务(SSIS),使我们可以把不同数据源的数据整合起来,并且实现数据的抽取、清洗和加载,获取到我们需要的数据。数据分析服务(SSAS),通过建立分析服务提供对数据的多角度观察和分析。同时还可以建立数据挖掘模型,支持对数据内在联系的挖掘。数据报表服务(SSRS),把数据分析、数据挖掘产生的结果,通过报表服务清晰直观的展现给最终用户。
在进行以上这些任务之前,我们还需要一个地方来保存我们从不同数据源抽取的数据。这个地方就是很多人都听说过的“数据仓库”,从字面上看好像是说“存储数据的仓库”,但是这和我们常用的数据库有什么区别呢!区别就在于,普通数据库是为了支持企业日常的事务处理,即联机事务处理(OLTP)。而“数据仓库”,则是为了我们进行数据分析而建的,即联机分析处理(OLAP)。目的的不同就导致其结构和设计方法也不一样,下一篇将会论述数据仓库的设计方法和本人设计的数据仓库中所遇到的问题。