分析服务使用的用户层次结构是否确定要聚合的内容?

时间:2012-04-02 20:21:01

标签: ssas cube

我正在尝试了解分析服务如何确定处理多维数据集时要计算的聚合。根据我的阅读,似乎用户定义的层次结构用于此目的,因为聚合是根据其结构预先计算的。与此相反,属性层次结构不会对此预先计算做出贡献。

此处已提出previous question,但我想知道网上是否还有其他资源可以更详细地解释这一点。

感谢。

1 个答案:

答案 0 :(得分:1)

每篇SSAS开发人员都应该阅读这篇文章...... SQL Server 2008 White Paper: Analysis Services Performance Guide

  

Analysis Services使您可以构建两种类型的用户   层次结构:自然和非自然的层次结构,每个都有不同的   设计和性能特征。在自然层次结构中,   作为层次结构中的级别参与的所有属性都具有直接属性   或层次结构底部的间接属性关系   到层次结构的顶部

     

不自然的层次结构中,层次结构至少包含两个   没有属性关系的连续级别。通常   这些层次结构用于创建通常的向下钻取路径   查看不遵循任何自然层次结构的属性。对于   例如,用户可能希望查看性别和教育的层次结构。

     

从性能角度来看,自然层次结构表现得非常好   与非自然的等级制度不同。在自然层次结构中,   层次结构树在层次结构存储中在磁盘上实现。在   另外,参与自然层次结构的所有属性都是   自动%CONSIDERED%为聚合候选者

     

不自然的层次结构未在磁盘上实现,参与非自然层次结构的属性不是   自动被视为聚合候选者。相反,他们   通常只为用户提供易于使用的向下钻取路径   查看没有自然关系的属性。通过   将这些属性组装到层次结构中,您也可以使用   各种MDX导航功能,可轻松执行计算   比如父母的百分比。

此外,被“视为”聚合候选者并不意味着该属性实际上将用于聚合。下载顶部链接中的论文...阅读并特别注意“聚合使用规则”和“影响聚合候选人”部分。

fwiw,在生产中,大多数开发人员启动聚合向导并最终切换到基于使用的优化。