数据仓库建模与ETL的实践技巧.ppt
BIBI,数据,数据仓库(DWDW)建模与)建模与ETLETL的的实践技巧践技巧作者:作者:MALONEMALONE日期:日期:2009-02-202009-02-20主要内容主要内容(一一)一、什么是一、什么是BIBI(Business IntelligenceBusiness Intelligence)(一一)、什么是、什么是BIBI的定义?的定义?(二二)、BIBI的诞生?的诞生?(三三)、基本技术、基本技术(四四)、数据处理、数据处理(五五)、数据展现、数据展现(六六)、常用的、常用的BI BI 厂商和产品厂商和产品主要内容主要内容(二二)二、数据仓库的架构二、数据仓库的架构(一一)、什么是数据仓库?、什么是数据仓库?(二二)、数据仓库和、数据仓库和OLTP数据库的区别数据库的区别?(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法 (一一)、确定主题、确定主题 (二二)、确定量度、确定量度 (三三)、确定事实数据粒度、确定事实数据粒度 (四四)、确定维度、确定维度1.如何理解维度?及维度的层次和级别如何理解维度?及维度的层次和级别?2.什么是缓慢变化维度?什么是缓慢变化维度?3.缓慢变化维度缓慢变化维度 几种基本情况?几种基本情况?几种情况的利弊?几种情况的利弊?(五五)、创建事实表、创建事实表主要内容主要内容(三三)四、什么是四、什么是ETL(ETLETL(ETL中的关键技术中的关键技术)(一一)、数据抽取、数据抽取(1)(1)全量抽取全量抽取 (2)(2)增量抽取增量抽取 增量数据抽取中常用的捕获变化数据的方法增量数据抽取中常用的捕获变化数据的方法:a.a.触发器触发器b.b.时间戳时间戳c.c.全表比对全表比对d.d.日志对比日志对比 (二二)、数据转换和加工、数据转换和加工 (1)ETL(1)ETL引擎中的数据转换和加工引擎中的数据转换和加工 (2)(2)在数据库中进行数据加工在数据库中进行数据加工 (三三)、数据装载、数据装载(1)(1)直接直接SQLSQL语句进行语句进行insertinsert、updateupdate、deletedelete操作操作 (2)(2)采用批量装载方法,如采用批量装载方法,如bcpbcp、bulkbulk、关系数据库、关系数据库特有的批量装载工具或特有的批量装载工具或apiapi (四四)、主流、主流ETLETL工具介绍工具介绍主要内容主要内容(一一)一、什么是一、什么是BIBI(Business IntelligenceBusiness Intelligence)(一一)、什么是、什么是BIBI的定义?的定义?(二二)、BIBI的诞生?的诞生?(三三)、基本技术、基本技术(四四)、数据处理、数据处理(五五)、数据展现、数据展现(六六)、常用的、常用的BI BI 厂商和产品厂商和产品Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)(一一)、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)a a、什么是、什么是BIBI的定义?的定义?BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助帮助企业更好地利用数据提高决策质量的技术集合技术集合,是从大量的数据中钻取信息与知识的过程。简单讲就是业务、数据、数据价值应用的过程。用图解的方式可以理解为下图:这样不难看出,传统的交易系统完成的是Business到Data的过程,而BI要做的事情是在Data的基础上,让Data产生价值,这个产生价值的过程就是Business Intelligence analyse的过程的过程。Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)b b、如何实现、如何实现Business Intelligence analyseBusiness Intelligence analyse的过程的过程 从技术角度来说,是一个复杂的技术集合,它包含ETL、DW、OLAP、DM等多环节,基本过程可用下图描述。上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)说明:说明:BI不能产生决策,而是利用BI过程处理后的数据来支持决策。哪么BI所谓的智能到底是什么呢?(理清这个概念,有助于对BI的应用。)BI最终展现给用户的信息就是报表或图视,但它不同于传统的静态报表或图视,它颠覆了传统报表或图视的提供与阅读的方式,产生的数据集合就象玩具“魔方”一样,可以任意快速的旋转组合报表或图视,有力的保障了用户分析数据时操作的简单性、报表或图视直观性及思维的连惯性。实例实例:c c、商业智能、商业智能(BI)(BI)在电信行业所处的商业作用和价值?在电信行业所处的商业作用和价值?(什么是电信什么是电信BI)BI)BI应用在电信行业又称作电信经营分析系统。随着竞争的加剧和数据业务的发展,电信业BI市场将进入一个高速发展的时期。在电信市场竞争愈演愈烈的背景下,各个运营商已经从业务为中心向以服务为中心转变,原来赖以竞争的手段如价格战、行业垄断优势、促销策略等以无法适应新形势的需要。为了保住客户资源为了保住客户资源,运营商需要一套业务分析支持系统,以从自身市场数据中获得能够真正反映企业运营状况的有效信息,从而为市场经营决策提供科学支持,商业智能(BI)所处的商业作用和价值显而易见。主要内容主要内容(一一)一、什么是一、什么是BIBI(Business IntelligenceBusiness Intelligence)(一一)、什么是、什么是BIBI的定义?的定义?(二二)、BIBI的诞生?的诞生?(三三)、基本技术、基本技术(四四)、数据处理、数据处理(五五)、数据展现、数据展现(六六)、常用的、常用的BI BI 厂商和产品厂商和产品Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)(二二)、BI的诞生?的诞生?典型的案例有超市,便利店典型的案例有超市,便利店“尿片和啤酒尿片和啤酒”的故事的故事(三三)、基本技术、基本技术 a a、BI(Business Intelligence)BI(Business Intelligence)是一种运用了数据仓库、在线分析和数据挖掘等技术来处理和分析数据的崭新技术,目的目的:是为企业决策者提供决策支持。b b、哪么、哪么BIBI技术涉及了哪些方面呢?技术涉及了哪些方面呢?其核心技术中ETL、DW及OLAP。或者说是“数据处理技术”与“数据展现技术”更加容易理解。c c、为什么要在操作型数据库和、为什么要在操作型数据库和 OLAP OLAP 之间加一层之间加一层“数据仓库数据仓库”呢?呢?花空间买时间花空间买时间(资源与效能的问题资源与效能的问题)说一千道一万都计算机资源与效能惹的祸,操作型数据库以快速响应业务为主要目标,而OLAP的时候要占用大量的硬件资源,在OLAP的时候,业务操作很难快速响应,无法保证业务的顺利进行,从业务、数据、数据的价值的逻辑来看,没有业务就谈不上OLAP;零星分散的数据一般存在有多个应用,对应多个业务操作型数据库,访问效能极其低下。最高效的方法:就是将数据先整合到数据仓库中,而 由OLAP应用统一从数据仓库里取数,以解决快速响应业务与OLAP的矛盾。主要内容主要内容(一一)一、什么是一、什么是BIBI(Business IntelligenceBusiness Intelligence)(一一)、什么是、什么是BIBI的定义?的定义?(二二)、BIBI的诞生?的诞生?(三三)、基本技术、基本技术(四四)、数据处理、数据处理(五五)、数据展现、数据展现(六六)、常用的、常用的BI BI 厂商和产品厂商和产品Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。DB2、InformixOracleSysbase其他数据结构类型其他数据结构类型Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)(四四)、数据处理、数据处理(1)(1)、ODS ODS 层的作用?层的作用?1)1)、在业务系统和数据仓库之间的数据过渡离层。、在业务系统和数据仓库之间的数据过渡离层。如果业务数据来源比较复杂,一般采用构造ODS的方法来实现收集当前需要处理的数据。如下述数据来源:a、业务数据库种类繁多。业务交易系统使用了不同种的数据库,如DB2、Informix、Oracle、SQL server、文本等。b、不同的应用系统、不同的地理位置。c、订阅数据源。d、批量还原非传统数据库数据。.等等。用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致。2)2)、保存当前或接近当前的细节数据,以供查询或、保存当前或接近当前的细节数据,以供查询或ETLETL检错使用。检错使用。3)3)、数据存储周期性。、数据存储周期性。ODSODS中存储的数据都是临时的,每次中存储的数据都是临时的,每次ETLETL之前都要清空之前都要清空ODSODS中存储的数据。中存储的数据。(2)(2)、ETL(Extract Transform Load)ETL(Extract Transform Load)操作型业务数据库(操作型业务数据库(DBDB)到数据仓库()到数据仓库(DWDW)的过程称之为)的过程称之为ETLETL,它实现数据的,它实现数据的抽取,转换及装载工作。抽取,转换及装载工作。抽取:抽取:将数据从各种原始的业务系统中读取出来。转换:转换:按照预先设计好的规则将抽取得数据进行转换、清洗,以及处理一些冗余、歧义的数据,使本来异构的数据格式能统一起来。装载:装载:将转换完的数据按计划增量或全部的导入到数据仓库中。在技术上主要涉及增量、转换、调度和监控等几个方面的处理。(3)(3)、DW,(Data Warehouse)DW,(Data Warehouse)数据仓库的官方定义是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。(4)(4)、OLAPOLAP(On-Line Analytical ProcessingOn-Line Analytical Processing)即联机分析处理,是BI的一种全新的数据封装方式,直接产物是报表或Cube,是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。主要内容主要内容(一一)一、什么是一、什么是BIBI(Business IntelligenceBusiness Intelligence)(一一)、什么是、什么是BIBI的定义?的定义?(二二)、BIBI的诞生?的诞生?(三三)、基本技术、基本技术(四四)、数据处理、数据处理(五五)、数据展现、数据展现(六六)、常用的、常用的BI BI 厂商和产品厂商和产品Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。DB2、InformixOracleSysbase其他数据结构类型其他数据结构类型Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)(五五)、数据展现、数据展现 数据查询是最简单的 BI 应用,输出报表是BI最直接的产物,根据数据连接,加工过程及用途,应用模式大致可以分为四种:格式报表;在线分析;数据可视化;数据挖掘。1 1、格式报表:、格式报表:带格式的数据集合,如:交叉表等。2 2、在线分析:、在线分析:多维数据集合,如:Cube等。3 3、数据可视化:、数据可视化:信息以尽可能多的形式展现出来,目的是使决策者通过图形这种直观的表现方式迅速获得信息中蕴藏的知识,如柱图,仪表盘等。4 4、数据挖掘:、数据挖掘:从大量的数据中,抽取出潜在的、有价值的知识(模型或规则)的过程。(六六)、常用的、常用的BI BI 厂商和产品厂商和产品ETLETL:Informatica,SQL Server Analysis ServerDWDW:IBM DB2,Oracle,NCR Teradata,Sybase IQ等等;OLAPOLAP:Business Objects,Hyperion,Cognos,MicroStrategy,IBM Data MiningData Mining:IBM,SAS,SPSS 现在很多的数据库提供商都开始绑定BI的开发组件到自己的数据库产品中,他们都瞄准了这其中的肥肉,磨拳檫掌,各论长短。Marketing Design&BI Application Consulting Company一、一、什么是什么是BIBI(Business IntelligenceBusiness Intelligence)上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。DB2、InformixOracleSysbase其他数据结构类型其他数据结构类型InformaticaSQL Server Analysis ServerIBM DB2OracleNCR TeradataBusiness ObjectsHyperionCognosMicroStrategy主要内容主要内容(一一)总结总结一、什么是一、什么是BIBI(Business IntelligenceBusiness Intelligence)(一一)、什么是、什么是BIBI的定义?的定义?(二二)、BIBI的诞生?的诞生?(三三)、基本技术、基本技术(四四)、数据处理、数据处理(五五)、数据展现、数据展现(六六)、常用的、常用的BI BI 厂商和产品厂商和产品主要内容主要内容(二二)二、数据仓库的架构二、数据仓库的架构(一一)、什么是数据仓库?、什么是数据仓库?(二二)、数据仓库、数据仓库OLAP和和OLTP数据库的区别数据库的区别?(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法 (一一)、确定主题、确定主题 (二二)、确定量度、确定量度 (三三)、确定事实数据粒度、确定事实数据粒度 (四四)、确定维度、确定维度1.如何理解维度?及维度的层次和级别如何理解维度?及维度的层次和级别?2.什么是缓慢变化维度?什么是缓慢变化维度?3.缓慢变化维度缓慢变化维度 几种基本情况?几种基本情况?几种情况的利弊?几种情况的利弊?(五五)、创建事实表、创建事实表Marketing Design&BI Application Consulting Company一、数据仓库的架构一、数据仓库的架构(一一)、什么是数据仓库?、什么是数据仓库?数据仓库(Data Warehouse DW)是为了为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于OLTP源系统。数据仓库中的数据是细节的、集成的、面向主题的,以OLAP系统的分析需求为目的。四个基本特征四个基本特征:1.DW的数据是面向主题的2.DW的数据是集成的3.DW的数据是非易失的(相对稳定的)4.DW的数据是随时间不断变化的(反映历史变化(Time Variant)主要内容主要内容(二二)二、数据仓库的架构二、数据仓库的架构(一一)、什么是数据仓库?、什么是数据仓库?(二二)、数据仓库、数据仓库OLAP和和OLTP数据库的区别数据库的区别?(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法 (一一)、确定主题、确定主题 (二二)、确定量度、确定量度 (三三)、确定事实数据粒度、确定事实数据粒度 (四四)、确定维度、确定维度1.如何理解维度?及维度的层次和级别如何理解维度?及维度的层次和级别?2.什么是缓慢变化维度?什么是缓慢变化维度?3.缓慢变化维度缓慢变化维度 几种基本情况?几种基本情况?几种情况的利弊?几种情况的利弊?(五五)、创建事实表、创建事实表Marketing Design&BI Application Consulting Company(二二)、数据仓库、数据仓库OLAP和和OLTP数据库的区别数据库的区别?比较项目比较项目OLTPOLTPOLAPOLAP特征特征操作处理信息处理面向面向事务分析用户用户DBA,数据库专业人员业务分析员功能功能日常操作长期信息需求,决策支持DBDB结构结构基于E-R,面向应用星型/雪花,面向主题数据数据当前的历史的汇总汇总原始的,高度详细汇总的,统一的视图视图一般关系多维的查询查询简单事务复杂查询存取存取读/写读操作操作主关键字上索引或散列大量扫描访问数据量访问数据量数笔数百万笔用户数用户数数千数百DB2DB2规模规模MB/GBGB/TB优先级优先级高性能,高可用性高灵活性,端点用户自治度量度量事务吞吐量查询吞吐量,响应时间主要内容主要内容(二二)二、数据仓库的架构二、数据仓库的架构(一一)、什么是数据仓库?、什么是数据仓库?(二二)、数据仓库、数据仓库OLAP和和OLTP数据库的区别数据库的区别?(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法 (一一)、确定主题、确定主题 (二二)、确定量度、确定量度 (三三)、确定事实数据粒度、确定事实数据粒度 (四四)、确定维度、确定维度1.如何理解维度?及维度的层次和级别如何理解维度?及维度的层次和级别?2.什么是缓慢变化维度?什么是缓慢变化维度?3.缓慢变化维度缓慢变化维度 几种基本情况?几种基本情况?几种情况的利弊?几种情况的利弊?(五五)、创建事实表、创建事实表Marketing Design&BI Application Consulting Company(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?1 1、星型架构、星型架构图图1.1(1.1(某零售分析系统某零售分析系统)星型架构的中间为事实表,四周为维度表,类似星星2、雪花型架构雪花型架构 图图1.2(某分析系统某分析系统)雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰的维度层次关系。Marketing Design&BI Application Consulting Company3 3、两者比较?、两者比较?从OLAP系统的分析需求和ETL的处理效率两方面来考虑:星型结构聚合快,分析效率高;而雪花型结构明确,便于与OLTP系统交互。因此,在实际项目中,我们将综合运用星型架构与雪花型架构来设计数据仓库。(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?主要内容主要内容(二二)二、数据仓库的架构二、数据仓库的架构(一一)、什么是数据仓库?、什么是数据仓库?(二二)、数据仓库、数据仓库OLAP和和OLTP数据库的区别数据库的区别?(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法 (一一)、确定主题、确定主题 (二二)、确定量度、确定量度 (三三)、确定事实数据粒度、确定事实数据粒度 (四四)、确定维度、确定维度1.如何理解维度?及维度的层次和级别如何理解维度?及维度的层次和级别?2.什么是缓慢变化维度?什么是缓慢变化维度?3.缓慢变化维度缓慢变化维度 几种基本情况?几种基本情况?几种情况的利弊?几种情况的利弊?(五五)、创建事实表、创建事实表Marketing Design&BI Application Consulting Company三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法(一一)、确定主题、确定主题 即确定数据分析或前端展现的主题。(以上海烟草集团零售分析系统为例,23家有限公司进销存情况)例如:例如:我们希望分析某月某有限公司某卷烟销售情况,这就是一个主题。主题要体现出体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑。统计数值型数据(量度)存在于中间的事实表;分析角度是各个维度;我们将通过维度的组合,来考察量度。那么,“某年某月某一地区的卷烟销售情况”这样一个主题,就要求我们通过时间,地区和卷烟三个维度的组合,来考察销售情况这个量度。从而,不同的主题来源于数据仓库中的不同子集,我们可以称之为数据集市数据集市。数据集市体现了数据仓库某一方面的信息,多个数据集市构成了数据仓库。(二二)、确定量度、确定量度 在确定了主题以后,我们将考虑要分析的技术指标,诸如:年销售额之类。它们一般为数值型数据数值型数据。我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大最小值等,这样的数据称为量度。量度是要统计的指标,必须事先选择恰当,基于不同的量度可以进行复杂关键性能指标(KPI)等的设计和计算。Marketing Design&BI Application Consulting Company三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法主要内容主要内容(二二)二、数据仓库的架构二、数据仓库的架构(一一)、什么是数据仓库?、什么是数据仓库?(二二)、数据仓库、数据仓库OLAP和和OLTP数据库的区别数据库的区别?(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法 (一一)、确定主题、确定主题 (二二)、确定量度、确定量度 (三三)、确定事实数据粒度、确定事实数据粒度 (四四)、确定维度、确定维度1.如何理解维度?及维度的层次和级别如何理解维度?及维度的层次和级别?2.什么是缓慢变化维度?什么是缓慢变化维度?3.缓慢变化维度缓慢变化维度 几种基本情况?几种基本情况?几种情况的利弊?几种情况的利弊?(五五)、创建事实表、创建事实表Marketing Design&BI Application Consulting Company(三三)、确定事实数据粒度、确定事实数据粒度 在确定了量度之后,我们要考虑到该量度的汇总情况和不同维度下量度的聚合情况。考虑到量度的聚合程度不同,我们将采用“最小粒度原则最小粒度原则”,即将量度的粒度设置到最小。例如:例如:假设目前的数据最小记录到包包卷烟,即数据库中记录了每包卷烟的交易额。那么,如果我们可以确认,在将来的分析需求中,卷烟只需要精确到包包就可以的话,我们就可以在ETL处理过程中,按包包为单位来汇总进销存数据,此时,数据仓库中量度的粒度就是“包包”;反过来,如果我们不能确认将来的分析需求在卷烟上是否需要精确到包,那么,我们就需要遵循“最小粒度原则”,在数据仓库的事实表中保留每一支支的进销存数据,以便日后对“支支”进行分析。举例举例:卷烟零售分析系统中,需求变更要求以万支万支为单位分析卷烟进销存情况。附加:DDS层 销售,库存及进货事实表结构 和 卷烟单位代码表三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法DDS.F_XS销售事实表DDS.F_KC库存事实表DDS.F_SY损益事实表DDS.F_JH进货事实表DDS.F_DH订货事实表Marketing Design&BI Application Consulting Company三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法Marketing Design&BI Application Consulting Company表名表中文名称表中文名称序号字段名称数据类型业务含义DDS.F_SY损益事实表1SYDMINTEGER NOT NULL损益代码DDS.F_SY损益事实表2DAY_IINTEGER时间代码DDS.F_SY损益事实表3KHDMINTEGER客户代码DDS.F_SY损益事实表4JYDMINTEGER卷烟代码DDS.F_SY损益事实表5SYSLSRCDECIMAL(16 4)损益数量条DDS.F_SYDDS.F_SY损益事实表损益事实表6 6SYSLSYSLDECIMAL(16 4)DECIMAL(16 4)损益数量损益数量 支支 DDS.F_SY损益事实表7SYJEDECIMAL(16 2)损益金额DDS.F_SY损益事实表8SYMLDECIMAL(16 2)损益毛利表名表中文名称表中文名称序号字段名称数据类型业务含义DDS.F_JH进货事实表1JHDMINTEGER NOT NULL进货代码DDS.F_JH进货事实表2DAY_IINTEGER时间代码DDS.F_JH进货事实表3KHDMINTEGER客户代码DDS.F_JH进货事实表4JYDMINTEGER卷烟代码DDS.F_JH进货事实表5JHSLSRCDECIMAL(16 4)进货数量条DDS.F_JHDDS.F_JH进货事实表进货事实表6 6JHSLJHSLDECIMAL(16 4)DECIMAL(16 4)进货数量进货数量 支支 DDS.F_JH进货事实表7JHJEDECIMAL(16 2)进货金额DDS.F_JH进货事实表8JHMLDECIMAL(16 2)进货毛利表名表中文名称表中文名称序号字段名称数据类型业务含义DDS.F_DH订货事实表1DHDMINTEGER NOT NULL订货代码DDS.F_DH订货事实表2DAY_IINTEGER时间代码DDS.F_DH订货事实表3KHDMINTEGER客户代码DDS.F_DH订货事实表4JYDMINTEGER卷烟代码DDS.F_DH订货事实表5DHSLSRCDECIMAL(16 4)订货数量条DDS.F_DHDDS.F_DH订货事实表订货事实表6 6DHSLDHSLDECIMAL(16 4)DECIMAL(16 4)订货数量订货数量 支支 DDS.F_DH订货事实表7DHJEDECIMAL(16 2)订货金额DDS.F_DH订货事实表8DHMLDECIMAL(16 2)订货毛利表名表中文名称表中文名称序号字段名称数据类型业务含义DDS.F_XS销售事实表1XSDMINTEGER NOT NULL销售代码DDS.F_XS销售事实表2DAY_IINTEGER时间代码DDS.F_XS销售事实表3KHDMINTEGER客户代码DDS.F_XS销售事实表4JYDMINTEGER卷烟代码DDS.F_XS销售事实表5XSSLSRCDECIMAL(16 4)销售数量条DDS.F_XSDDS.F_XS销售事实表销售事实表6 6XSSLXSSLDECIMAL(16 4)DECIMAL(16 4)销售数量销售数量 支支 DDS.F_XS销售事实表7XSJEDECIMAL(16 2)销售金额DDS.F_XS销售事实表8XSMLDECIMAL(16 2)销售毛利表名表中文名称表中文名称序号字段名称数据类型业务含义DDS.F_KC库存事实表1KCDMINTEGER NOT NULL库存代码DDS.F_KC库存事实表2DAY_IINTEGER时间代码DDS.F_KC库存事实表3KHDMINTEGER客户代码DDS.F_KC库存事实表4JYDMINTEGER卷烟代码DDS.F_KC库存事实表5KCSLSRCDECIMAL(16 4)库存数量条DDS.F_KCDDS.F_KC库存事实表库存事实表6 6KCSLKCSLDECIMAL(16 4)DECIMAL(16 4)库存数量库存数量 支支 DDS.F_KC库存事实表7KCJEDECIMAL(16 2)库存金额DDS.F_KC库存事实表8KCMLDECIMAL(16 2)库存毛利三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法主要内容主要内容(二二)二、数据仓库的架构二、数据仓库的架构(一一)、什么是数据仓库?、什么是数据仓库?(二二)、数据仓库、数据仓库OLAP和和OLTP数据库的区别数据库的区别?(三三)、数据仓库的架构模型有哪些?、数据仓库的架构模型有哪些?三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法 (一一)、确定主题、确定主题 (二二)、确定量度、确定量度 (三三)、确定事实数据粒度、确定事实数据粒度 (四四)、确定维度、确定维度1.如何理解维度?及维度的层次和级别如何理解维度?及维度的层次和级别?2.什么是缓慢变化维度?什么是缓慢变化维度?3.缓慢变化维度缓慢变化维度 几种基本情况?几种基本情况?几种情况的利弊?几种情况的利弊?(五五)、创建事实表、创建事实表Marketing Design&BI Application Consulting Company三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法(四四)、确定维度、确定维度 1 1、如何理解维度?及维度的层次、如何理解维度?及维度的层次(Hierarchy)(Hierarchy)和级别和级别(Level)(Level)a、维度是指分析的各个角度。例如我们希望按照时间,或者按照地区,或者按照卷烟名称进行分析,那么这里的时间、地区、卷烟就是相应的维度。基于不同的维度,我们可以看到各量度量度的汇总情况,也可以基于所有的维度进行交叉分析。b、维度的层次(Hierarchy)和级别(Level)层次层次:时间维表结构 为例,年-半年-季度-月-半月-旬-周-日级别级别:卷烟维表结构 为例,卷烟价格分类一类(如:中华,熊猫)、二类(如:红双喜等)、三类、四类、五类(如:女士烟)、雪茄烟等等 2、什么是缓慢变化维度?、什么是缓慢变化维度?维度表随时间变化的问题,我们称其为缓慢变化维度。以客户维表结构客户维表结构为例,每月所属有限公司发生变化,客户代码,客户标识,源客户标识,客户全称,分公司编号客户代码,客户标识,源客户标识,客户全称,分公司编号,分公司名称分公司名称,历史标识历史标识(T/F)等变化等变化Marketing Design&BI Application Consulting Company三、构建企业级数据仓库五步法三、构建企业级数据仓库五步法DM.T_DIM_SNKH市内客户维表1LSBHINTEGER NOT NULL流水编号DM.T_DIM_SNKH市内客户维表2KHDMKHDMINTEGER客户代码DM.T_DIM_SNKH市内客户维表3KHBSKHBSVARCHAR(50)客户标识DM.T_DIM_SNKH市内客户维表4YKHBSYKHBSVARCHAR(50)源客户标识DM.T_DIM_SNKH市内客户维表5KHQCKHQCVARCHAR(120)客户全称DM.T_DIM_SNKH市内客户维表6ZYYTBHVARCHAR(10)主营业态编号DM.T_DIM_SNKH市内客户维表7ZYYTBZVARCHAR(50)主营业态备注DM.T_DIM_SNKH市内客户维表8YTXXBHVARCHAR(10)业态细项编号DM.T_DIM_SNKH市内客户维表9YTXXBZVARCHAR(50)业态细项备注DM.T_DIM_SNKH市内客户维表10XSNLBHVARCHAR(10)销售能力编号DM.T_DIM_SNKH市内客户维表11XSNLBZVARCHAR(50)销售能力备注DM.T_DIM_SNKH市内客户维表12CYNLBHVARCHAR(10)出样能力编号DM.T_DIM_SNKH市内客户维表13CYNLBZVARCHAR(50)出样能力备注DM.T_DIM_SNKH市内客户维表14YSFWBHVARCHAR(10)延伸服务编号DM.T_DIM_SNKH市内客户维表15YSFWBZVARCHAR(50)延伸服务备注DM.T_DIM_SNKH市内客户维表16KHJBBHVARCHAR(10)客户级别编号DM.T_DIM_SNKH市内客户维表17KHJBBZVARCHAR(50)客户级别备注DM.T_DIM_SNKH市内客户维表18FGSBHFGSBHVARCHAR(10)分公司编号DM.T_DIM_SNKH市内客户维表19FGSBZFGSBZVARCHAR(50)分公司备注DM.T_DIM_SNKH市内客户维表20XZJWBHVARCHAR(10)行政居委编号DM.T_DIM_SNKH市内客户维表21XZJWBZVARCHAR(100)行政居委备注DM.T_DIM_SNKH市内客户维表22XZQYBHVARCHAR(10)行政区域编号DM.T_DIM_SNKH市内客户维表23XZQYBZVARCHAR(100)行政区域备注DM.T_DIM_SNKH市内客户维表24XZJDBHVARCHAR(10)行政街道编号DM.T_DIM_SNKH市内客户维表25XZJDBZVARCHAR(100)行政街道备注DM.T_DIM_SNKH市内客户维表26KSRQDATE开始日期DM.T_DIM_SNKH市内客户维表27JSRQDATE结束日期DM.T_DIM_SNKH市内客户维表28ZSWDBHVARCHAR(10)直属网点编号DM.T_DIM_SNKH市内客户维表29ZSWDBZVARCHAR(50)直属网点备注DM.T_DIM_SNKH市内客户维表30JZCHARACTER(6