版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模目目录1.如何构建BI数据仓库设计中的几个重要概念维度操作型数据
如:某商场1瓶价格为88元的葡萄酒在被购买的过程中,收银员实际收到100元,找零12元。特点:细节化,分散化关键概念2.操作型数据关键概念2.关键概念决策型数据如:该商场在1月9日上午一共卖出了多少瓶葡萄酒?该商场的所有葡萄酒总销量在一年中什么时候最高和最低?
特点:综合化,集成化3.关键概念决策型数据3.企业对应用集成的需求我要了解企业目前的运转情况!(实时监控)我要知道某地区近5年内的销售情况以制定未来的发展策略!(决策支持)我要知道哪些是值得发展的优质的顾客!(预测)4.企业对应用集成的需求我要了解企业目前的运转情况!(实时监控)BI应用带来的关键效益洞察力获得对业务绩效,流程和客户的可见性和洞察力更好的进行决策和执行决策,以快速应对机会和挑战协同一致横跨多个业务和数据源,获得唯一的、一致的企业信息在各业务层面中协同战略和执行5.BI应用带来的关键效益洞察力5.BI应用带来的关键效益中层管理分析:专注点是
绩效的战术应用与目标相比,我做的如何?问题在哪里高层领导分析:专注点是计划战略&目标制定业务发展得如何,我们下一步该往哪里走通过集成实时与历史数据,将分析转换为执行力一线分析:专注点是执行有效性与行动我每天要做哪3-5件事情哪些信息能让我更有效地执行这些行动?回答问题:我现在该做哪些事情?6.BI应用带来的关键效益中层管理分析:专注点是绩效的战术应数据仓库的概念数据仓库(DataWarehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支撑管理决策。7.数据仓库的概念数据仓库(DataWarehouse)是一个
BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模目目录8.如何构建BI数据仓库设计中的几个重要概念维度
BI应用架构
BI应用9.
BI应用架构
BI应用9.
BI系统架构
Microsoft
OfficeBIServerBIPresentationServer交互式信息板即席查询报表分析预警提醒商务智能应用前端展示层商务智能服务层前端展示层应用服务层数据库层ERP系统其他应用系统财务平台ExcelXML业务流程数据源层商务智能应用模型架构:
财务、销售、订单、
服务、市场、供应链、
人力ETL商务智能应用数据
存储星型模型DWCube10.
BI系统架构
Microsoft
OfficeBISe构建BI涉及的开发工具查询工具
与
电子制表
ETL与元数据管理报表与文档管理OLAP
多维分析Data
Mining
数据挖掘Portal
门户网站
主流产品:ETL:Informatica、Datastage、Kettle、SSIS……前端展现:OracleBIEE、BusinessObject、MicroStregy、
Cognos、OracleEssbase、SmartBI……整体解决方案:OracleBIApps11.构建BI涉及的开发工具查询工具
与
电子制表
ETL与元数数据仓库设计中的几个重要概念ETLETL是将业务系统的数据经过抽取(Extract)、清洗转换(Transform)之后加载(Load)到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。通常情况下,在BI项目中ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。
ETL的实现有多种方法,常用的有三种。一种是借助ETL工具实现,一种是SQL方式实现,另外一种是ETL工具和SQL相结合。前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率。12.数据仓库设计中的几个重要概念ETL12.数据仓库设计中的几个重要概念数据集市(Datamart)也叫做“小数据仓库”。如果说数据仓库是建立在企业级的数据模型之上的话,那么数据集市就是企业级数据仓库的一个子集,他主要面向部门级业务,并且只面向某个特定的主题。数据集市可以在一定程度上缓解访问数据仓库的瓶颈。
即席查询(Adhocqueries)是指那些用户在使用系统时,根据自己当时的需求定义的查询。即席查询生成的方式很多,最常见的就是使用即席查询工具。一般的BI展现工具都会提供即席查询的功能。通常的方式是,将数据仓库中的维度表和事实表映射到语义层,用户可以通过语义层选择表,建立表间的关联,最终生成SQL语句。即席查询与通常查询从SQL语句上来说,并没有本质的差别。它们之间的差别在于,通常的查询在系统设计和实施时是已知的,所有我们可以在系统实施时通过建立索引、分区等技术来优化这些查询,使这些查询的效率很高。而即席查询是用户在使用时临时生产的,系统无法预先优化这些查询,所以即席查询也是评估数据仓库的一个重要指标。
13.数据仓库设计中的几个重要概念数据集市(Datamart)1数据仓库设计中的几个重要概念ODS(
OperationalDataStore,操作数据存储)
ODS在通常的数据仓库架构中都是一个可选的部件,它和数据仓库起到互相补充的作用。最早给ODS下定义的是数据仓库之父Inmon。他的定义是,操作数据存储(ODS)是面向主题的、集成的、可变的、反映当前数据值的和详细的数据的集合,用来满足企业综合的、集成的以及操作型的处理需求。
Inmon的这个定义与他对数据仓库的定义很像。其中前两个特性和数据仓库是一样的,即都是面向主题的和集成的,而后三个特性和数据仓库相差较大。
ODS中的数据是可以变化的:这一点是Inmon相对与他的CIF(企业信息工厂)中的数据仓库来说的,在CIF中,数据仓库中的数据是不进行更新的,对于错误的处理通常是采用新的快照来进行保存。而ODS是可以按常规方法进行更新的。14.数据仓库设计中的几个重要概念ODS(Operational数据仓库设计中的几个重要概念ODS(
OperationalDataStore,操作数据存储)ODS反映当前数据值:这一点是指ODS中不会长期的保留数据,通常ODS保留的数据的时限最长到一个月或三个月。而数据仓库可以保留五年、十年或更长的数据。ODS中保留详细数据:这一点是说ODS中只保留原子数据,而不保留汇总数据。而在数据仓库中原子数据和汇总数据都会进行保留。这和ODS可更新的特性相关,因为随时可能将操作型系统的数据变化更新到ODS中,并且数据的迁移时间间隔会很短,这都使汇总数据在ODS中的意义不大。15.数据仓库设计中的几个重要概念ODS(Operational数据仓库设计中的几个重要概念ExternalDataODSCentralDataWarehouseDataMartDataMartDataMartDataMartCentralDataWarehouseExternalDataODSpartpartpartpartpartpart1.建造企业数据仓库建设中心数据模型一次性的完成数据的重构工作最小化数据冗余度和不一致性存储详细的历史数据2.从企业数据仓库中建造数据集市得到大部分的集成数据直接依赖于数据仓库的可用性1.创建部门的数据集市范围局限于一个主题区域快速的ROI--局部的商业需求得到满足本部门自治--设计上具有灵活性对其他部门数据集市是一个好的指导容易复制到其他部门需要为每个部门做数据重建有一定级别的冗余和不一致性2.扩大到企业数据仓库创建EDB作为一个长期的目标投资效益的时间?
建设中心数据模型的必要性和可能性?
初始费用?自上而下VS自下而上数据集市的数据都是可用的吗?
能生成数据模型吗?
如何解决不一致性?16.数据仓库设计中的几个重要概念ExternalODSCentr目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程17.目录BI的价值17.基础术语事实表是指其中保存了大量业务度量数据的表。事实表中的度量值一般称为事实。在事实表中最有用的事实就是数字类型的事实和可加类型的事实。事实表的粒度决定了数据仓库中数据的详细程度。一般事实表中只存放数字或者一些Flag用来统计(Count),如收益、数量、支出等销售事实收益数量支出毛利…事实表(FactTable)18.基础术语事实表是指其中保存了大量业务度量数据的表。事实表中的基础术语维度表可以看作是用户分析数据的窗口,维度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息。客户维时间维商场维产品维销售事实时间ID客户ID产品ID商场ID收益数量支出毛利…维度表(DimensionTable)19.基础术语维度表可以看作是用户分析数据的窗口,维度表中包含事实基础术语粒度是指数据仓库中数据的细化或综合程度的级别,也就是数据的详细程度。细节程度越高,粒度级就越低,反之亦然。我可以用很多的数据,但同样我也可以只用必需的数据。而这起决于存储器。如果有很大的硬盘,那就没有我们不能存的事情。设计粒度是设计数据仓库中的一个重要前提粒度(Grain)高细化低细化每月200个记录每月40,000个字节每月一个记录每月200个字节通过检索可以回答无细节无法回答询问某一电话的细节20.基础术语粒度是指数据仓库中数据的细化或综合程度的级别,也就是基础术语粒度是指数据仓库中数据的细化或综合程度的级别,也就是数据的详细程度。细节程度越高,粒度级就越低,反之亦然。我可以用很多的数据,但同样我也可以只用必需的数据。而这起决于存储器。如果有很大的硬盘,那就没有我们不能存的事情。设计粒度是设计数据仓库中的一个重要前提粒度(Grain)高度综合级轻度综合级(数据集市)销售细节级2000-2001操作型转换每月销售1994-2001每周销售1994-2001当前细节级21.基础术语粒度是指数据仓库中数据的细化或综合程度的级别,也就是目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程22.目录BI的价值22.建模中的三种模型星形模型(StarSchema)雪花模型(SnowflakeSchema)多维模型(Multi-dimensionSchema)23.建模中的三种模型星形模型(StarSchema)23.建模中的三种模型事实表被维度所包围,维表和事实表通过主关键字和外关键字联系在一起,且维度没有被新的表连接客户维时间维商场维产品维销售事实时间ID客户ID产品ID商场ID收益数量支出毛利…星形模型(StarSchema)24.建模中的三种模型事实表被维度所包围,维表和事实表通过主关键字建模中的三种模型事实表被多个维表或一个或多个层次所包围,雪花模型一般在处理大的且相对静态的层次的时候使用雪花模型(SnowflakeSchema)客户维时间维商场维产品维销售事实时间ID客户ID产品ID商场ID收益数量支出毛利…联系人维区域维25.建模中的三种模型事实表被多个维表或一个或多个层次所包围,雪花目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程26.目录BI的价值26.维度的类型缓慢变化维(SlowlyChangingDimension)快速变化维(RapidlyChangingDimension)大维(HugeDimension)和微型维(Mini-Dimension)退化维(DegenerateDimension)27.维度的类型缓慢变化维(SlowlyChangingDim维度的类型缓慢变化维(SlowlyChangingDimensions,简称SCD)
缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化(如:组织结构的调整、客户更改了他的名称或地址)。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。处理缓慢变化维的方法通常有三种方式:第一种方式是直接覆盖原值,通常简称为“TYPE1”。这样处理,最容易实现,但是没有保留历史数据,无法分析历史变化信息。第二种方式是添加维度行,通常简称为“TYPE2”。这样处理,需要代理键的支持。实现方式是当有维度属性发生变化时,生成一条新的维度记录,主键是新分配的代理键,通过自然键可以和原维度记录保持关联。第三种方式是添加属性列,通常简称为“TYPE3”。这种处理的实现方式是对于需要分析历史信息的属性添加一列,来记录该属性变化前的值,而本属性字段使用TYPE1来直接覆盖。这种方式的优点是可以同时分析当前及前一次变化的属性值,缺点是只保留了最后一次变化信息。28.维度的类型缓慢变化维(SlowlyChangingDim维度的类型客户Simmy将自己的地址由原先的Addr1改为Addr2。这时我们需要将这个记录了客户Simmy的记录中Address从Addr1更新为Addr2,且不记录历史ID:111Name:SimmyAddress:Addr1ID:111Name:SimmyAddress:Addr2OLD记录ID为111的客户Simmy的信息的记录中地址直接更改为Addr2,不保存历史Addr1缓慢变化维Type1e.g.NEW29.维度的类型客户Simmy将自己的地址由原先的Addr1改为A维度的类型客户Simmy将自己的地址由原先的Addr1改为Addr2。这时我们需要将这个记录了客户Simmy的记录中的有效截止日期改为现在,并重新添加一条有效截止日期为现在的和一个新的版本号且Address为Addr2的记录ID:111Version:1Name:SimmyAddress:Addr1EffectiveStartDate:2007-4-21EffectiveEndDate:NowID:111Version:2Name:SimmyAddress:Addr2EffectiveStartDate:NowEffectiveEndDate:NullID:111Version:1Name:SimmyAddress:Addr1EffectiveStartDate:2007-4-21EffectiveEndDate:Null更新为添加新的记录缓慢变化维Type2e.g.30.维度的类型客户Simmy将自己的地址由原先的Addr1改为A维度的类型客户Simmy将自己的地址由原先的Addr1改为Addr2。这时我们需要将这个记录了客户Simmy的记录中的现在使用的Address变为Addr2,将Addr1放入原始的字段中ID:111Name:SimmyCurrentAddress:Addr1OldAddress:NullID:111Name:SimmyCurrentAddress:Addr2OldAddress:Addr1缓慢变化维Type3e.g.31.维度的类型客户Simmy将自己的地址由原先的Addr1改为A维度的类型快速变化维(RapidlyChangingDimension,RCD)当某个维度的变化是非常快的时候,我们认定他为快速变化维(具体要看实际的变化频率),比如:客户的地址、联系电话等。数据仓库中最有意思的维度是一些非常大的维度,比如客户,产品等等。一个大的企业客户维度往往有上百万记录,每条记录又有上百个字段。而大的个人客户维度则会超过千万条记录,这些个人客户维度有时也会有十多个字段,但大多数时候比较少见的维度也只有不多的几个属性。大维(HugeDimension)32.维度的类型快速变化维(RapidlyChangingDi维度的类型微型维(MiniDimension)
以客户维度举例来说,如果维度表中有数百万行记录或者还要多,而且这些记录中的字段又经常变化,这样的维度表一般称之为快变超大维度。对于快变超大维度,设计人员一般不会使用TYPE2的缓慢变化维处理方法,因为大家都不愿意向本来就有几百万行的维度表中添加更多的行。这时,有一项技术可以解决这个问题。解决的方法是,将分析频率比较高或者变化频率比较大的字段提取出来,建立一个单独的维度表。这个单独的维度表就是微型维度表。微型维度表有自己的关键字,这个关键字和原客户维度表的关键字一起进入事实表。有时为了分析的方便,可以把微型维度的关键字的最新值作为外关键字进入客户维度表。这时一定要注意,这个外关键字必须做TYPE1型处理。在微型维度表中如果有像收入这样分布范围较广的属性时,应该将它分段处理。比如,存储¥31257.98这样过于分散的数值就不如存储¥30000-¥34999这样的范围。这样可以极大的减少微型维度中的记录数目,也给分析带来方便。33.维度的类型微型维(MiniDimension)维度的类型退化维(DegenerateDimension)
退化维度一般都是事务的编号,如订单编号、发票编号等。这类编号需要保存到事实表中,但是不需要对应的维度表,所以称为退化维度。退化维度经常会和其他一些维度一起组合成事实表的主键。在Kimball提出的维度建模中,事实表应该保存最细粒度的数据。所以对于象销售单这样的事实表来说,需要销售单编号和产品来共同作为主键,而不能用销售日期、商场、产品等用来分析的维度共同作为主键。
34.维度的类型退化维(DegenerateDimension)目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程35.目录BI的价值35.常用的事实表类型聚集事实表(AggregatedFactTable)合并事实表(ConsolidatedFactTable)旋转事实表(PivotedFactTable)预连接聚集表(Pre-JoinedAggregagteTable)非事实型事实表(FactlessFactTable)切片事实表(SlicedFactTable)36.常用的事实表类型聚集事实表(AggregatedFact常用的事实表类型聚集事实表(AggregatedFactTable)是原子事实表上的汇总数据,也称为汇总事实表。即新建立一个事实表,它的维度表是比原维度表要少,或者某些维度表是原维度表的子集,如用月份维度表代替日期维度表;事实数据是相应事实的汇总,即求和或求平均值等。在做数据迁移时,当相关的维度数据和事实数据发生变化时,聚集事实表需要做相应的刷新。物化视图是实现聚集事实表的一种有效方式,可以设定刷新方式,具体功能由DBMS来实现。37.常用的事实表类型聚集事实表(AggregatedFact常用的事实表类型合并事实表(ConsolidatedFactTable)是指将位于不同事实表中处于相同粒度的事实进行组合建模而成的一种事实表。即新建立一个事实表,它的维度是两个或多个事实表的相同维度的集合;事实是几个事实表中感兴趣的事实。在Kimball的总线架构中,由合并事实表为主组成的合并数据集市称为二级数据集市。合并事实表的粒度可以是原子粒度也可以是聚集粒度。在做数据迁移时,当相关的原子事实表的数据有改变时,合并事实表的数据需要重新刷新。合并事实表和交叉探察是两个互补的操作。聚集事实表和合并事实表的主要差别是合并事实表一般是从多个事实表合并而来。但是它们的差别不是绝对的,一个事实表既是聚集事实表又是合并事实表是很有可能的。因为一般合并事实表需要按相同的维度合并,所以很可能在做合并的同时需要进行聚集,即粒度变粗。比如“营销事务事实表”和“库存快照事实表”就会有相同的维度表,“日期维度”、“产品维度”和“商场维度”。这时,如果有个需求是想按共有维度来对比查看销售和库存的事实,这时就需要发出两个SQL,分别查出按维度统计出的销售数据和库存数据。然后再基于共有的维度进行外连接,将数据合并。这种发出多路SQL再进行合并的操作就是交叉探查。38.常用的事实表类型合并事实表(ConsolidatedFac常用的事实表类型旋转事实表(PivotedFactTable)是将一条记录中的多个事实字段转化为多条记录,其中每条记录保存一个事实字段的一种建模方法。或者反过来,也可以由多条记录转化为一条记录。旋转事实表建模方法的使用通常是为了简化前端数据展现的查询。它通过改变后端的事实记录存储方式,使相应的查询需求的性能得到的极大的提高。如果在SQL或者查询工具中进行这种转换会非常麻烦,效率也很差。和合并事实表类似,有时当基础表中没有记录时,旋转事实表也要存储一些零值在里面。39.常用的事实表类型旋转事实表(PivotedFactTab常用的事实表类型预连接聚集表(Pre-JoinedAggregagteTable)是通过对事实表和维度表的联合查询而生成的一类汇总表。在预连接聚集表中,保存有维度表中的描述信息和事实表的事实值。通过预连接,可以避免在用户查询时RDBMS的连接操作,所以预连接聚集表的查询效率要高很多。在这个销售事实表,前五个字段都来自于维度表的描述字段,后两个字段来自于事实表的事实字段。这样在用户提交查询后,RDBMS就不需要连接维度表和事实表了,只需直接在该表中查询即可。产品名称商标名称年份月份销售人员名称销售量销售金额销售事实表40.常用的事实表类型预连接聚集表(Pre-JoinedAggr常用的事实表类型预连接聚集表(Pre-JoinedAggregagteTable)预连接聚集表有一个很大的缺点,它需要占用大量的存储空间。预连接事实表的记录和事实表一样多,每条记录的长度和维度表一样长,所以对存储空间的需求是非常大的。除非情况特殊,或者该表是高度汇总的,否则不建议建立预连接聚集表。在建立预连接聚集表时需要平衡效率和存储空间的矛盾。预连接聚集表的生成方式较为简单,直接使用SQL查询即可生成。如果聚集导航器的功能很强大的话,也可以处理预连接聚集表。否则,需要用户理解预连接聚集表,并在SQL中直接使用该表。预连接聚集表在数据仓库领域有着很重要的作用,是汇总表的一种。它的优点和缺点都很明显,在使用时需要综合考虑。41.常用的事实表类型预连接聚集表(Pre-JoinedAggr常用的事实表类型非事实型事实表(FactlessFactTable)事实表通常会保存十个左右的维度外键和多个度量事实,度量事实是事实表的关键所在。在非事实型事实表中没有这些度量事实,只有多个维度外键。非事实型事实表通常用来跟踪一些事件或者说明某些活动的范围。下面举例来进行说明:第一类非事实型事实表是用来跟踪事件的事实表。例如:学生注册事件,学校需要对学生按学期进行跟踪。维度表包括学期维度、课程维度、系维度、学生维度、注册专业维度和取得学分维度,而事实表是由这些维度的主键组成,事实只有注册数,并且恒为1。这样的事实表可以回答大量关于大学开课注册方面的问题,主要是回答各种情况下的注册数。第二类非事实型事实表是用来说明某些活动范围的事实表。例如:促销范围事实表。通常销售事实表可以回答如促销商品的销售情况,但是对于那些没有销售出去的促销商品没法回答。这时,通过建立促销范围事实表,将商场需要促销的商品单独建立事实表保存。然后,通过这个促销范围事实表和销售事实表即可得出哪些促销商品没有销售出去。这样的促销范围事实表只是用来说明促销活动的范围,其中没有任何事实度量。42.常用的事实表类型非事实型事实表(FactlessFact常用的事实表类型切片事实表(SlicedFactTable)切片事实表中的字段结构和相应的基础表完全相同,差别在于存储的记录的范围。切片事实表中保存记录的是相应基础表中记录的子集,记录数通常与某个维度记录数相同。这种建模方法一般用来满足特殊需要,如需要分析某些特殊问题时,可以将与之相关的数据切片出来。相反,这种方法也常用于合并存储在不同地区的数据,即各个地区都保存自己地区的数据,总部和所有地区的表结构都相同,然后总部将所有地区的数据合并在一起。切片事实表的结构与相对应的基础表相同,数据来源于相对应的基础表。切片事实表由于缩小了表中数据的记录数,所以查询的效率得到了很大的提高。43.常用的事实表类型切片事实表(SlicedFactTabl目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程44.目录BI的价值44.建模的一般过程确定详细数据的粒度级别此过程必须是在建模之前最需要考虑的问题比较典型的粒度指的是单独的,基于时间的或聚集在一个常用的维度的事务1、确定每个事实表的粒度45.建模的一般过程确定详细数据的粒度级别1、确定每个事实表的粒度建模的一般过程确定是否需要同时存储编号和描述,或者只是编号,或者只是描述的信息确定哪些字段的值需要被筛选掉或者需要存在2、确定维度的属性46.建模的一般过程确定是否需要同时存储编号和描述,或者只是编号,建模的一般过程对于时间维度,我们需要确定的是年,季度,月,周,日等不同的层次对于产品维度,我们需要确定的是产品大类,产品小类,产品等不同的层次需要注意的是比如在销售中,地理位置的层次可能和真正的地理位置的层次会有不同3、确定维度的层次47.建模的一般过程对于时间维度,我们需要确定的是年,季度,月,周建模的一般过程通常的维度包括时间,产品,投保人,代理人,和地理等常见对象请注意,创建的维度需要和与其连接的事实的粒度保持一致4、确定每个事实所需要关联的维度48.建模的一般过程通常的维度包括时间,产品,投保人,代理人,和地建模的一般过程需要根据具体业务来确定事实及其量度对于每个聚合事实需要在应用(ETL)过程中进行计算5、确定事实及度量(包括预先计算的事实)49.建模的一般过程需要根据具体业务来确定事实及其量度5、确定事实建模的一般过程根据需求,对缓慢变化维进行相应的处理比如:对于一个需求为不保留历史的客户维度,我们使用第一种类型的缓慢变化维来处理;对于一个需求为需要保留历史的产品维度,我们需要使用第二种类型的缓慢变化维来处理6、确定缓慢变化维50.建模的一般过程根据需求,对缓慢变化维进行相应的处理6、确定缓一个实例步骤1:选定某一业务过程,如:库存管理业务安全政策瓦斯监测设备检测设备报修工作面防护巷道管理水文检测……地区管理销售销售管理客户关系合同管理成本库存运输方式定货发运……物资计划物资采购成套设备管理设备维修设备租赁库存管理……市场分析产品考察销售预测人事计划招聘人员福利政策新矿投产旧矿整改环境保护……财务计划资本获取资金管理借方贷方流动资金工资成本会计预算计划利润分析……煤种分类煤种定价规格说明生产能力计划生产调度工序安排设备控制煤炭加工……51.一个实例步骤1:选定某一业务过程,如:库存管理业务安全政策地对库存管理业务建模步骤2:根据各用户的需求(关注的主题),定义该业务处理的粒度。例如:-主题1及其粒度:矿厂中每种产品库存水平的日快照-主题2及其粒度:每种特定产品的仓库库存事务每日情况-主题3及其粒度:每种特定产品每日的入库装运情况52.对库存管理业务建模步骤2:根据各用户的需求(关注的主题),定对库存管理业务建模步骤3:选定每个事实表的维度例如:-主题1事实表维度:日期、矿厂、产品-主题2事实表维度:日期、仓库、产品、供应商、事务类型-主题3事实表维度:到货日期、检测日期、入库日期、销售批准日期、分拣日期、装箱日期、装运日期、最近回收日期、产品、供应商、仓库53.对库存管理业务建模步骤3:选定每个事实表的维度53.对库存管理业务建模步骤4:确定每个事实表的数字型事实例如:-主题1事实表数字型事实:现有数量-主题2事实表数字型事实:仓库库存事务金额-主题3事实表数字型事实:到货量、检测量、退货量、入库量、批准销售量、分拣量、装箱量、装运量、回收量、顾客退货量。。。。54.对库存管理业务建模步骤4:确定每个事实表的数字型事实54.完成后的模型主题1:矿厂中每种产品库存水平的日快照日期关键字产品关键字矿厂关键字现有数量矿厂库存快照事实日期关键字日期属性
。。。日期维度矿厂关键字矿厂属性
。。。矿厂维度产品关键字产品属性
。。。产品维度55.完成后的模型主题1:矿厂中每种产品库存水平的日快照矿厂库存快完成后的模型主题2:每种特定产品的仓库库存事务每日情况
产品接收产品送检合格产品分发次品退货产品入柜产品销售审批产品出柜产品包装发货回收从库存中删除56.完成后的模型主题2:每种特定产品的仓库库存事务每日情况
产品完成后的模型日期关键字产品关键字仓库关键字供应商关键字库存事务类型关键字库存事务金额仓库关键字仓库名称仓库地址仓库所在城市仓库所在省仓库所在地区仓库邮政编码仓库总面积
。。。仓库维度库存事务类型关键字库存事务类型描述库存事务类型组。。。库存事务类型维度仓库库存事务事实产品维度供应商维度日期维度主题2:每种特定产品的仓库库存事务每日情况57.完成后的模型仓库维度库存事务类型维度仓库库存事务事实产品维度完成后的模型主题3:每种特定产品每日的入库装运情况到货日期关键字检测日期关键字入库日期关键字。。。到货量检测量入库量。。。仓库库存累积事实到货日期维度检测日期维度入库日期维度。。。58.完成后的模型主题3:每种特定产品每日的入库装运情况到货日期关数据质量管理为什么我的问题
还没有解决?客户投诉我不是我的错!两个系统的报表怎么不一致?目标完成没有?未来趋势怎样?客户客户经理管理者领导实际发生的损失资金的流失客户的流失生产效率的影响提升的障碍客户服务质量提升市场的扩展利润的增长不同的系统数据不一致不知道数据应该以谁为准数据的混乱状况处于发散状态。。。数据的重要性不亚于业务功能!!59.数据质量管理为什么我的问题
还没有解决?客户投诉我不是我的错数据质量管理数据质量问题分析60.数据质量管理数据质量问题分析60.数据质量管理思路方法:质量问题的发现、评估、清洗与改进,是一个循环、长期持续的过程,而不是一次性工作。要让数据质量管理成为一项日常工作,就像订单受理系统每天受理订单一样。(执行)架构:像功能系统规划一样来规划数据,确定数据的整体架构,确定数据的归属划分,确定数据交互与共享规则,制定数据质量评价规则,建立完整的数据管理体系。(基础、根本)组织:有专门的组织负责数据质量管理工作(管理)流程:建立闭环的数据质量管理机制:发现、分析、规则、执行、修正、考核(系统加管理手段)
数据质量在各个环节都可能不断被放大、增加,处于发散的状态,通过闭环管理确保数据质量处于收敛的状态才能控制数据质量问题61.数据质量管理思路方法:质量问题的发现、评估、清洗与改进,是一Q&A交流与讨论62.Q&A交流与讨论62.
BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模目目录63.如何构建BI数据仓库设计中的几个重要概念维度操作型数据
如:某商场1瓶价格为88元的葡萄酒在被购买的过程中,收银员实际收到100元,找零12元。特点:细节化,分散化关键概念64.操作型数据关键概念2.关键概念决策型数据如:该商场在1月9日上午一共卖出了多少瓶葡萄酒?该商场的所有葡萄酒总销量在一年中什么时候最高和最低?
特点:综合化,集成化65.关键概念决策型数据3.企业对应用集成的需求我要了解企业目前的运转情况!(实时监控)我要知道某地区近5年内的销售情况以制定未来的发展策略!(决策支持)我要知道哪些是值得发展的优质的顾客!(预测)66.企业对应用集成的需求我要了解企业目前的运转情况!(实时监控)BI应用带来的关键效益洞察力获得对业务绩效,流程和客户的可见性和洞察力更好的进行决策和执行决策,以快速应对机会和挑战协同一致横跨多个业务和数据源,获得唯一的、一致的企业信息在各业务层面中协同战略和执行67.BI应用带来的关键效益洞察力5.BI应用带来的关键效益中层管理分析:专注点是
绩效的战术应用与目标相比,我做的如何?问题在哪里高层领导分析:专注点是计划战略&目标制定业务发展得如何,我们下一步该往哪里走通过集成实时与历史数据,将分析转换为执行力一线分析:专注点是执行有效性与行动我每天要做哪3-5件事情哪些信息能让我更有效地执行这些行动?回答问题:我现在该做哪些事情?68.BI应用带来的关键效益中层管理分析:专注点是绩效的战术应数据仓库的概念数据仓库(DataWarehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支撑管理决策。69.数据仓库的概念数据仓库(DataWarehouse)是一个
BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模目目录70.如何构建BI数据仓库设计中的几个重要概念维度
BI应用架构
BI应用71.
BI应用架构
BI应用9.
BI系统架构
Microsoft
OfficeBIServerBIPresentationServer交互式信息板即席查询报表分析预警提醒商务智能应用前端展示层商务智能服务层前端展示层应用服务层数据库层ERP系统其他应用系统财务平台ExcelXML业务流程数据源层商务智能应用模型架构:
财务、销售、订单、
服务、市场、供应链、
人力ETL商务智能应用数据
存储星型模型DWCube72.
BI系统架构
Microsoft
OfficeBISe构建BI涉及的开发工具查询工具
与
电子制表
ETL与元数据管理报表与文档管理OLAP
多维分析Data
Mining
数据挖掘Portal
门户网站
主流产品:ETL:Informatica、Datastage、Kettle、SSIS……前端展现:OracleBIEE、BusinessObject、MicroStregy、
Cognos、OracleEssbase、SmartBI……整体解决方案:OracleBIApps73.构建BI涉及的开发工具查询工具
与
电子制表
ETL与元数数据仓库设计中的几个重要概念ETLETL是将业务系统的数据经过抽取(Extract)、清洗转换(Transform)之后加载(Load)到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。通常情况下,在BI项目中ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。
ETL的实现有多种方法,常用的有三种。一种是借助ETL工具实现,一种是SQL方式实现,另外一种是ETL工具和SQL相结合。前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率。74.数据仓库设计中的几个重要概念ETL12.数据仓库设计中的几个重要概念数据集市(Datamart)也叫做“小数据仓库”。如果说数据仓库是建立在企业级的数据模型之上的话,那么数据集市就是企业级数据仓库的一个子集,他主要面向部门级业务,并且只面向某个特定的主题。数据集市可以在一定程度上缓解访问数据仓库的瓶颈。
即席查询(Adhocqueries)是指那些用户在使用系统时,根据自己当时的需求定义的查询。即席查询生成的方式很多,最常见的就是使用即席查询工具。一般的BI展现工具都会提供即席查询的功能。通常的方式是,将数据仓库中的维度表和事实表映射到语义层,用户可以通过语义层选择表,建立表间的关联,最终生成SQL语句。即席查询与通常查询从SQL语句上来说,并没有本质的差别。它们之间的差别在于,通常的查询在系统设计和实施时是已知的,所有我们可以在系统实施时通过建立索引、分区等技术来优化这些查询,使这些查询的效率很高。而即席查询是用户在使用时临时生产的,系统无法预先优化这些查询,所以即席查询也是评估数据仓库的一个重要指标。
75.数据仓库设计中的几个重要概念数据集市(Datamart)1数据仓库设计中的几个重要概念ODS(
OperationalDataStore,操作数据存储)
ODS在通常的数据仓库架构中都是一个可选的部件,它和数据仓库起到互相补充的作用。最早给ODS下定义的是数据仓库之父Inmon。他的定义是,操作数据存储(ODS)是面向主题的、集成的、可变的、反映当前数据值的和详细的数据的集合,用来满足企业综合的、集成的以及操作型的处理需求。
Inmon的这个定义与他对数据仓库的定义很像。其中前两个特性和数据仓库是一样的,即都是面向主题的和集成的,而后三个特性和数据仓库相差较大。
ODS中的数据是可以变化的:这一点是Inmon相对与他的CIF(企业信息工厂)中的数据仓库来说的,在CIF中,数据仓库中的数据是不进行更新的,对于错误的处理通常是采用新的快照来进行保存。而ODS是可以按常规方法进行更新的。76.数据仓库设计中的几个重要概念ODS(Operational数据仓库设计中的几个重要概念ODS(
OperationalDataStore,操作数据存储)ODS反映当前数据值:这一点是指ODS中不会长期的保留数据,通常ODS保留的数据的时限最长到一个月或三个月。而数据仓库可以保留五年、十年或更长的数据。ODS中保留详细数据:这一点是说ODS中只保留原子数据,而不保留汇总数据。而在数据仓库中原子数据和汇总数据都会进行保留。这和ODS可更新的特性相关,因为随时可能将操作型系统的数据变化更新到ODS中,并且数据的迁移时间间隔会很短,这都使汇总数据在ODS中的意义不大。77.数据仓库设计中的几个重要概念ODS(Operational数据仓库设计中的几个重要概念ExternalDataODSCentralDataWarehouseDataMartDataMartDataMartDataMartCentralDataWarehouseExternalDataODSpartpartpartpartpartpart1.建造企业数据仓库建设中心数据模型一次性的完成数据的重构工作最小化数据冗余度和不一致性存储详细的历史数据2.从企业数据仓库中建造数据集市得到大部分的集成数据直接依赖于数据仓库的可用性1.创建部门的数据集市范围局限于一个主题区域快速的ROI--局部的商业需求得到满足本部门自治--设计上具有灵活性对其他部门数据集市是一个好的指导容易复制到其他部门需要为每个部门做数据重建有一定级别的冗余和不一致性2.扩大到企业数据仓库创建EDB作为一个长期的目标投资效益的时间?
建设中心数据模型的必要性和可能性?
初始费用?自上而下VS自下而上数据集市的数据都是可用的吗?
能生成数据模型吗?
如何解决不一致性?78.数据仓库设计中的几个重要概念ExternalODSCentr目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程79.目录BI的价值17.基础术语事实表是指其中保存了大量业务度量数据的表。事实表中的度量值一般称为事实。在事实表中最有用的事实就是数字类型的事实和可加类型的事实。事实表的粒度决定了数据仓库中数据的详细程度。一般事实表中只存放数字或者一些Flag用来统计(Count),如收益、数量、支出等销售事实收益数量支出毛利…事实表(FactTable)80.基础术语事实表是指其中保存了大量业务度量数据的表。事实表中的基础术语维度表可以看作是用户分析数据的窗口,维度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息。客户维时间维商场维产品维销售事实时间ID客户ID产品ID商场ID收益数量支出毛利…维度表(DimensionTable)81.基础术语维度表可以看作是用户分析数据的窗口,维度表中包含事实基础术语粒度是指数据仓库中数据的细化或综合程度的级别,也就是数据的详细程度。细节程度越高,粒度级就越低,反之亦然。我可以用很多的数据,但同样我也可以只用必需的数据。而这起决于存储器。如果有很大的硬盘,那就没有我们不能存的事情。设计粒度是设计数据仓库中的一个重要前提粒度(Grain)高细化低细化每月200个记录每月40,000个字节每月一个记录每月200个字节通过检索可以回答无细节无法回答询问某一电话的细节82.基础术语粒度是指数据仓库中数据的细化或综合程度的级别,也就是基础术语粒度是指数据仓库中数据的细化或综合程度的级别,也就是数据的详细程度。细节程度越高,粒度级就越低,反之亦然。我可以用很多的数据,但同样我也可以只用必需的数据。而这起决于存储器。如果有很大的硬盘,那就没有我们不能存的事情。设计粒度是设计数据仓库中的一个重要前提粒度(Grain)高度综合级轻度综合级(数据集市)销售细节级2000-2001操作型转换每月销售1994-2001每周销售1994-2001当前细节级83.基础术语粒度是指数据仓库中数据的细化或综合程度的级别,也就是目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程84.目录BI的价值22.建模中的三种模型星形模型(StarSchema)雪花模型(SnowflakeSchema)多维模型(Multi-dimensionSchema)85.建模中的三种模型星形模型(StarSchema)23.建模中的三种模型事实表被维度所包围,维表和事实表通过主关键字和外关键字联系在一起,且维度没有被新的表连接客户维时间维商场维产品维销售事实时间ID客户ID产品ID商场ID收益数量支出毛利…星形模型(StarSchema)86.建模中的三种模型事实表被维度所包围,维表和事实表通过主关键字建模中的三种模型事实表被多个维表或一个或多个层次所包围,雪花模型一般在处理大的且相对静态的层次的时候使用雪花模型(SnowflakeSchema)客户维时间维商场维产品维销售事实时间ID客户ID产品ID商场ID收益数量支出毛利…联系人维区域维87.建模中的三种模型事实表被多个维表或一个或多个层次所包围,雪花目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程88.目录BI的价值26.维度的类型缓慢变化维(SlowlyChangingDimension)快速变化维(RapidlyChangingDimension)大维(HugeDimension)和微型维(Mini-Dimension)退化维(DegenerateDimension)89.维度的类型缓慢变化维(SlowlyChangingDim维度的类型缓慢变化维(SlowlyChangingDimensions,简称SCD)
缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化(如:组织结构的调整、客户更改了他的名称或地址)。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。处理缓慢变化维的方法通常有三种方式:第一种方式是直接覆盖原值,通常简称为“TYPE1”。这样处理,最容易实现,但是没有保留历史数据,无法分析历史变化信息。第二种方式是添加维度行,通常简称为“TYPE2”。这样处理,需要代理键的支持。实现方式是当有维度属性发生变化时,生成一条新的维度记录,主键是新分配的代理键,通过自然键可以和原维度记录保持关联。第三种方式是添加属性列,通常简称为“TYPE3”。这种处理的实现方式是对于需要分析历史信息的属性添加一列,来记录该属性变化前的值,而本属性字段使用TYPE1来直接覆盖。这种方式的优点是可以同时分析当前及前一次变化的属性值,缺点是只保留了最后一次变化信息。90.维度的类型缓慢变化维(SlowlyChangingDim维度的类型客户Simmy将自己的地址由原先的Addr1改为Addr2。这时我们需要将这个记录了客户Simmy的记录中Address从Addr1更新为Addr2,且不记录历史ID:111Name:SimmyAddress:Addr1ID:111Name:SimmyAddress:Addr2OLD记录ID为111的客户Simmy的信息的记录中地址直接更改为Addr2,不保存历史Addr1缓慢变化维Type1e.g.NEW91.维度的类型客户Simmy将自己的地址由原先的Addr1改为A维度的类型客户Simmy将自己的地址由原先的Addr1改为Addr2。这时我们需要将这个记录了客户Simmy的记录中的有效截止日期改为现在,并重新添加一条有效截止日期为现在的和一个新的版本号且Address为Addr2的记录ID:111Version:1Name:SimmyAddress:Addr1EffectiveStartDate:2007-4-21EffectiveEndDate:NowID:111Version:2Name:SimmyAddress:Addr2EffectiveStartDate:NowEffectiveEndDate:NullID:111Version:1Name:SimmyAddress:Addr1EffectiveStartDate:2007-4-21EffectiveEndDate:Null更新为添加新的记录缓慢变化维Type2e.g.92.维度的类型客户Simmy将自己的地址由原先的Addr1改为A维度的类型客户Simmy将自己的地址由原先的Addr1改为Addr2。这时我们需要将这个记录了客户Simmy的记录中的现在使用的Address变为Addr2,将Addr1放入原始的字段中ID:111Name:SimmyCurrentAddress:Addr1OldAddress:NullID:111Name:SimmyCurrentAddress:Addr2OldAddress:Addr1缓慢变化维Type3e.g.93.维度的类型客户Simmy将自己的地址由原先的Addr1改为A维度的类型快速变化维(RapidlyChangingDimension,RCD)当某个维度的变化是非常快的时候,我们认定他为快速变化维(具体要看实际的变化频率),比如:客户的地址、联系电话等。数据仓库中最有意思的维度是一些非常大的维度,比如客户,产品等等。一个大的企业客户维度往往有上百万记录,每条记录又有上百个字段。而大的个人客户维度则会超过千万条记录,这些个人客户维度有时也会有十多个字段,但大多数时候比较少见的维度也只有不多的几个属性。大维(HugeDimension)94.维度的类型快速变化维(RapidlyChangingDi维度的类型微型维(MiniDimension)
以客户维度举例来说,如果维度表中有数百万行记录或者还要多,而且这些记录中的字段又经常变化,这样的维度表一般称之为快变超大维度。对于快变超大维度,设计人员一般不会使用TYPE2的缓慢变化维处理方法,因为大家都不愿意向本来就有几百万行的维度表中添加更多的行。这时,有一项技术可以解决这个问题。解决的方法是,将分析频率比较高或者变化频率比较大的字段提取出来,建立一个单独的维度表。这个单独的维度表就是微型维度表。微型维度表有自己的关键字,这个关键字和原客户维度表的关键字一起进入事实表。有时为了分析的方便,可以把微型维度的关键字的最新值作为外关键字进入客户维度表。这时一定要注意,这个外关键字必须做TYPE1型处理。在微型维度表中如果有像收入这样分布范围较广的属性时,应该将它分段处理。比如,存储¥31257.98这样过于分散的数值就不如存储¥30000-¥34999这样的范围。这样可以极大的减少微型维度中的记录数目,也给分析带来方便。95.维度的类型微型维(MiniDimension)维度的类型退化维(DegenerateDimension)
退化维度一般都是事务的编号,如订单编号、发票编号等。这类编号需要保存到事实表中,但是不需要对应的维度表,所以称为退化维度。退化维度经常会和其他一些维度一起组合成事实表的主键。在Kimball提出的维度建模中,事实表应该保存最细粒度的数据。所以对于象销售单这样的事实表来说,需要销售单编号和产品来共同作为主键,而不能用销售日期、商场、产品等用来分析的维度共同作为主键。
96.维度的类型退化维(DegenerateDimension)目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程97.目录BI的价值35.常用的事实表类型聚集事实表(AggregatedFactTable)合并事实表(ConsolidatedFactTable)旋转事实表(PivotedFactTable)预连接聚集表(Pre-JoinedAggregagteTable)非事实型事实表(FactlessFactTable)切片事实表(SlicedFactTable)98.常用的事实表类型聚集事实表(AggregatedFact常用的事实表类型聚集事实表(AggregatedFactTable)是原子事实表上的汇总数据,也称为汇总事实表。即新建立一个事实表,它的维度表是比原维度表要少,或者某些维度表是原维度表的子集,如用月份维度表代替日期维度表;事实数据是相应事实的汇总,即求和或求平均值等。在做数据迁移时,当相关的维度数据和事实数据发生变化时,聚集事实表需要做相应的刷新。物化视图是实现聚集事实表的一种有效方式,可以设定刷新方式,具体功能由DBMS来实现。99.常用的事实表类型聚集事实表(AggregatedFact常用的事实表类型合并事实表(ConsolidatedFactTable)是指将位于不同事实表中处于相同粒度的事实进行组合建模而成的一种事实表。即新建立一个事实表,它的维度是两个或多个事实表的相同维度的集合;事实是几个事实表中感兴趣的事实。在Kimball的总线架构中,由合并事实表为主组成的合并数据集市称为二级数据集市。合并事实表的粒度可以是原子粒度也可以是聚集粒度。在做数据迁移时,当相关的原子事实表的数据有改变时,合并事实表的数据需要重新刷新。合并事实表和交叉探察是两个互补的操作。聚集事实表和合并事实表的主要差别是合并事实表一般是从多个事实表合并而来。但是它们的差别不是绝对的,一个事实表既是聚集事实表又是合并事实表是很有可能的。因为一般合并事实表需要按相同的维度合并,所以很可能在做合并的同时需要进行聚集,即粒度变粗。比如“营销事务事实表”和“库存快照事实表”就会有相同的维度表,“日期维度”、“产品维度”和“商场维度”。这时,如果有个需求是想按共有维度来对比查看销售和库存的事实,这时就需要发出两个SQL,分别查出按维度统计出的销售数据和库存数据。然后再基于共有的维度进行外连接,将数据合并。这种发出多路SQL再进行合并的操作就是交叉探查。100.常用的事实表类型合并事实表(ConsolidatedFac常用的事实表类型旋转事实表(PivotedFactTable)是将一条记录中的多个事实字段转化为多条记录,其中每条记录保存一个事实字段的一种建模方法。或者反过来,也可以由多条记录转化为一条记录。旋转事实表建模方法的使用通常是为了简化前端数据展现的查询。它通过改变后端的事实记录存储方式,使相应的查询需求的性能得到的极大的提高。如果在SQL或者查询工具中进行这种转换会非常麻烦,效率也很差。和合并事实表类似,有时当基础表中没有记录时,旋转事实表也要存储一些零值在里面。101.常用的事实表类型旋转事实表(PivotedFactTab常用的事实表类型预连接聚集表(Pre-JoinedAggregagteTable)是通过对事实表和维度表的联合查询而生成的一类汇总表。在预连接聚集表中,保存有维度表中的描述信息和事实表的事实值。通过预连接,可以避免在用户查询时RDBMS的连接操作,所以预连接聚集表的查询效率要高很多。在这个销售事实表,前五个字段都来自于维度表的描述字段,后两个字段来自于事实表的事实字段。这样在用户提交查询后,RDBMS就不需要连接维度表和事实表了,只需直接在该表中查询即可。产品名称商标名称年份月份销售人员名称销售量销售金额销售事实表102.常用的事实表类型预连接聚集表(Pre-JoinedAggr常用的事实表类型预连接聚集表(Pre-JoinedAggregagteTable)预连接聚集表有一个很大的缺点,它需要占用大量的存储空间。预连接事实表的记录和事实表一样多,每条记录的长度和维度表一样长,所以对存储空间的需求是非常大的。除非情况特殊,或者该表是高度汇总的,否则不建议建立预连接聚集表。在建立预连接聚集表时需要平衡效率和存储空间的矛盾。预连接聚集表的生成方式较为简单,直接使用SQL查询即可生成。如果聚集导航器的功能很强大的话,也可以处理预连接聚集表。否则,需要用户理解预连接聚集表,并在SQL中直接使用该表。预连接聚集表在数据仓库领域有着很重要的作用,是汇总表的一种。它的优点和缺点都很明显,在使用时需要综合考虑。103.常用的事实表类型预连接聚集表(Pre-JoinedAggr常用的事实表类型非事实型事实表(FactlessFactTable)事实表通常会保存十个左右的维度外键和多个度量事实,度量事实是事实表的关键所在。在非事实型事实表中没有这些度量事实,只有多个维度外键。非事实型事实表通常用来跟踪一些事件或者说明某些活动的范围。下面举例来进行说明:第一类非事实型事实表是用来跟踪事件的事实表。例如:学生注册事件,学校需要对学生按学期进行跟踪。维度表包括学期维度、课程维度、系维度、学生维度、注册专业维度和取得学分维度,而事实表是由这些维度的主键组成,事实只有注册数,并且恒为1。这样的事实表可以回答大量关于大学开课注册方面的问题,主要是回答各种情况下的注册数。第二类非事实型事实表是用来说明某些活动范围的事实表。例如:促销范围事实表。通常销售事实表可以回答如促销商品的销售情况,但是对于那些没有销售出去的促销商品没法回答。这时,通过建立促销范围事实表,将商场需要促销的商品单独建立事实表保存。然后,通过这个促销范围事实表和销售事实表即可得出哪些促销商品没有销售出去。这样的促销范围事实表只是用来说明促销活动的范围,其中没有任何事实度量。104.常用的事实表类型非事实型事实表(FactlessFact常用的事实表类型切片事实表(SlicedFactTable)切片事实表中的字段结构和相应的基础表完全相同,差别在于存储的记录的范围。切片事实表中保存记录的是相应基础表中记录的子集,记录数通常与某个维度记录数相同。这种建模方法一般用来满足特殊需要,如需要分析某些特殊问题时,可以将与之相关的数据切片出来。相反,这种方法也常用于合并存储在不同地区的数据,即各个地区都保存自己地区的数据,总部和所有地区的表结构都相同,然后总部将所有地区的数据合并在一起。切片事实表的结构与相对应的基础表相同,数据来源于相对应的基础表。切片事实表由于缩小了表中数据的记录数,所以查询的效率得到了很大的提高。105.常用的事实表类型切片事实表(SlicedFactTabl目录BI的价值如何构建BI数据仓库设计中的几个重要概念维度建模基础术语建模中的三种模型维度的类型常用的事实表类型建模的一般过程106.目录BI的价值44.建模的一般过程确定详细数据的粒度级别此过程必须是在建模之前最需要考虑的问题比较典型的粒度指的是单独的,基于时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 30114.3-2014空间科学及其应用术语 第3部分:空间天文》
- 2026年广一模物理试题及答案
- 期中后质量分析会上校长讲话:清醒点!“课堂上最危险的不是学生说不会而是学生点头却没听懂”
- 深度解析(2026)《GBT 29794-2013静电复印(打印)设备用刮板》
- 深度解析(2026)《GBT 29672-2013化妆品中丙烯腈的测定 气相色谱-质谱法》
- 《GBT 7921-2008均匀色空间和色差公式》(2026年)合规红线与避坑实操手册
- 《GBT 591-2008船用法兰铸铁截止止回阀》(2026年)合规红线与避坑实操手册
- 2026年摄影工作室合作合同协议
- 麦肯锡中国医药创新某省市场机遇战略研究
- 2025北京铁二中高三(上)期中化学试题及答案
- 湖北省2026届高三(4月)调研模拟考试 英语答案
- 2026中国养老服务市场需求分析与商业模式研究报告
- 2026年丝绸博物馆陈列设计岗面试作品集准备
- 中国酒精使用障碍防治指南(2025版)
- 安全行车教课件
- 女性高管比例与企业碳排放之间的关系
- 储能设备安全知识
- 国家安全教育大学生读本课件
- 基于物联网的慢性病智能监护方案
- (14)普通高中音乐课程标准日常修订版(2017年版2025年修订)
- 长庆用人合同
评论
0/150
提交评论