码迷,mamicode.com
首页 > 其他好文 > 详细

Aggregation and Aggreagtion design

时间:2015-07-03 15:45:39      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

1,Aggreagtion 允许SSAS直接从多维数据集存储区中检索预先计算的汇总数据,而不必从基础数据源中为每个查询重新计算数据,从而提高了性能。

Aggregation 是根据维度的一个或多个属性对事实数据进行聚合,并将聚合后的数据存储在Cube的分区中。

假如 DimProduct 有两个属性Color和Size,为该维度设计聚合,可以有三种聚合,Group by color, group by size,group by color,size,所以Aggreation包括单属性的聚合和多属性的聚合。

 

示例下图是一个聚合设计产生的聚合,并有三个Aggregation,A1 不包括任何属性,那么就是一个整体的聚合;A0有两个属性Color和Product Subcategory Key,是多属性的聚合;A2有一个属性,是基于单个属性的聚合。

技术分享

 

2,Aggreagtion design

2.1Aggreagtion design是对聚合进行设计,指定生成的聚合,在聚合中指定使用维度的哪些属性生成聚合。

Aggreagtion design wizard 的目标是设计最优数目的聚合,该数目不仅能提供快速的响应时间,还能防止分区过大。聚合的数目越多,响应时间就越快,但所需要的存储空间也就越大,计算所需的时间可能也会更长。此外,随着该向导设计越来越多的聚合,早期的聚合比后来的聚合会产生更大的性能提升。减少用处不大的聚合也能够提高性能。通过以下向导中可用的方法之一,您可以控制向导设计的聚合数目:

  • 为聚合指定存储空间限制。
  • 指定性能提升的极限。
  • 当显示的“性能与大小”曲线开始稳定在一个可接受的性能提升高度上时,手动停止向导。
  • 选择不设计聚合。
2.2 使用聚合设计向导创建聚合设计
点击 Design Aggreagions,打开Design Aggregations Wizard
技术分享
2.3,查看聚合使用情况
技术分享
设置维度的属性如何参与聚合,在此进行设置的选项,直接影响聚合设计向导生成的聚合。
默认:通过使用此设置,设计器可以根据属性和维度的类型应用默认规则。
完全:使用此设置后,多维数据集的每个聚合都必须包含此属性或属性链中较低的相关属性。如果属性包含有多个成员,则应避免使用 Full 聚合使用情况设置。如果为多个属性或具有多个成员的属性指定了此设置,则此设置可能会以尺寸过大为由,阻止设计聚合。
无:使用此设置后,多维数据集的聚合中将不会包含此属性。
无限制:使用此设置后,聚合设计器将不会受到任何限制,但是仍必须估算属性以确定它是否是一个有价值的聚合候选项。
 
技术分享
2.4 计算数据量
技术分享
2.5 平衡存储和查询性能
技术分享
2.6 保存
技术分享

3,完成聚合设计之后,就可以为Measure Group assign Aggregation Design,并在 Advanced View中查看Aggregation。

3.1 Assign Aggregation Design

技术分享

技术分享

3.2 当前的视图是 Standard view,需要切换到Advanced View查看和设计聚合

技术分享

在Advanced View中,查看聚合,该聚合设计共生产了12个聚合。

技术分享

4,Aggregation Design 是从DW的结构和数据量的角度来给出一个合理的聚合,是系统推荐使用的聚合,但是User的需求是根据业务逻辑来提出的,Aggregation Design推荐的聚合不一定会满足实际的业务需求,所以需要手动来设计聚合。

4.1 在Advanced View中,点击Status的标识“√”,点击右键,弹出会计菜单,Delete可以删除Aggregation。

技术分享

4.2 在Advanced View中,点击空白处,New Aggregation,就能在Aggreation Design上创建一个新的Aggreagion
技术分享
 
5,设计聚合时,必须考虑属性关系
5.1 属性关系影响聚合
维度DimProduct有如下属性,并且每个属性都跟Key Attribute都有属性关系。
技术分享技术分享 
聚合设计向导生成的聚合,是基于Key 属性的。想要获取一个Product Category的聚合,必须先通过Key属性的聚合,其次对Product subcategory属性的聚合,最后才能获取Product Category的聚合。技术分享
5.2 自然层次结构

如果定义了Product Hierarchy,并配置了Product Subcategory和Product Category之间的属性关系,那么对Product Category的聚合就可以直接通过Product SubCategory来进行,不需要单独对Product Category设计一个聚合。

技术分享
技术分享
技术分享
5.2 非自然的层次结构
技术分享
对于非自然的层次结构,Size和Color之间没有属性关系,不能通过Color的聚合求得Size的聚合值,如果对Size的聚合在日常的报表查询中,经常遇到,那么可以创建Size的聚合。
技术分享

Aggregation and Aggreagtion design

标签:

原文地址:http://www.cnblogs.com/ljhdo/p/4616848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!