一、前言
在需求不具体的情况下,面对一堆杂乱的数据,我们该如何进行BI工程的建设呢?宏观上看,整个工程无非就是理解需求 -> 分门别类收集原材料 -> 对照需求,设计建模 -> 对照模型,开始工程;思路似乎很清晰,但是实际工作却极其繁琐,而且数据处理返工也是家常便饭,其中苦楚,恐怕也只有事中人才能体会。本人整理了最近的工作与相关文献资料,在进行复盘后,分享以下心得,鉴于涉猎有限,文章或有纰漏之处,恳请指出。
本文主要介绍了建立数据多维关系模型的相关理论,并给出了部分具体实例,这部分内容为数据仓库的分析型环境提供了必要的、切实可行的实践基础。
二、概念介绍
数据仓库:数据仓库是近年来在信息管理和数据库领域得到迅速发展的一种面向主题、集成的、随时间变化的、非易失的、用于管理决策支持的数据的集合。
多维关系模型(Multi_Demention Relation Model):模型是对现实事务的反映和抽象,它可以帮助人们更加清晰地了解现实世界,多维关系模型是数据驻留在数据仓库内的外观蓝图,其设计是在业务需求分析之后开始,是数据仓库构建的第一步。
数据处理:理解业务需求,获取需要的各类源数据,源数据可能会缺失,冗余,或者出错,各种情况都有可能出现,后期统计,极大可能发现错误,此时需要定位错误,返工重新清洗。这里只强调一点:源数据一定要原封不动的留存,不要想当然进行数据清洗,进行覆盖,因为当时你以为的正确,后期可能会被判定是错误的,做数据分析,绝对不能带主观色彩来评判数据的正确性。
数据处理的目标:为了建设多维关系模型,需要进行全面的业务梳理,形成全方位的数据视角,帮助消灭各部门之间存在的信息孤岛问题,重点是要保证数据的一致性,分离底层技术的实现和上层业务的展现。
多维关系模型的建设标准:一个好的数据模型不仅仅对业务进行了抽象的划分,对实现技术也可以提供逻辑支持,因此数据模型应该涵盖从业务到技术实现的各个部分。
ETL(Extract-Transform-Load):用来描述数据从来源经过抽取(从源数据进行抽取)、转换(在传输时进行转换)、加载至目的端的过程,重点要确定数据源和目标数据。
OLAP(On-Line Transaction Processing): 在线事务处理,是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。通俗理解就是从多源关系模型中建立数据立方体,然后对数据立方体按照不同维度进行聚合,上卷和下钻等等操作,数据仓库与OLAP的关系是互补的。
BI(Business Intelligence):IT界对于BI的定义是,对于存储在OLAP立方体中的数据进行分析和展示。 业界对BI的定义为向企业提供快速分析数据的技术和方法,通过收集、管理和分析数据,将数据转化为有价值的信息,并分发到企业各处,让企业的决策有数可依,直观量化地驱动企业管理和运营 。
DM(Data Mining 区别后文的DM层 )和OLAP的区别:这边多补充一个概念,数据挖掘和OLAP都是数据分析工具,但是它们处理的问题不同,数据分析的深度不同,DM是一种挖掘性质的数据分析,它能够自动地发现事物间潜在的关系和特征模式,并且可以利用这些特征模式进行有效的预测分析,而OLAP是一种验证性性质的数据分析,用户提出某种问题或者某种假设,OLAP负责多维度多层次地展现数据及问题相关的详细信息,供用户判断提出的假设是否合理。OLAP处于数据分析较为初步的阶段,DM属于比较深入的层次,DM和OLAP相辅相成,DM能够发现OLAP不能发现的更为复杂和细致的问题,而OLAP能够快速告诉我们的系统过去和现状,从而帮助我们更好理解数据,加快知识发现的过程,并且能够迅速验证DM发现的模式是否合理。很多初入门的数据分析师因为弄不清楚这些概念,从而无法肯定自己的工作,认为自己日常只是做简单统计,并无多大价值,这种想法说到底还是经验不够,无法意识到数据的价值。
事实表:保存度量值或现实结果的表,称为现实表&#x