避免为每个维度指定多个不可聚合的属性

此规则分析每个数据库维度中的属性(又称特性),以确定同一数据库维度中是否存在多个不可聚合的维度属性。

最佳实践建议

为了提高可用性,通常只应定义最多一个不可聚合的维度属性。如果维度特性的 IsAggregatable 属性设置为 False,则该特性是不可聚合的。

不可聚合的属性在“(全部)”级别没有成员。因此,该属性的默认成员将始终是不在“(全部)”级别的成员。此外,查询中将包含此默认成员,无论该属性是否显式包含在查询中。如果定义了多个不可聚合的属性,此默认行为将产生不可预期的数值。例如,在一个时间维度中,[Calendar Year] 和 [Fiscal Year] 属性都是不可聚合的。特定 [Calendar Year] 数据的查询将由默认 [Fiscal Year] 进行筛选,除非该查询显式指定其他 [Fiscal Year]。此外,[Calendar Year] 和 [Fiscal Year] 未对齐而是互相重叠。因此,要获取 [Calendar Year] 或 [Fiscal Year] 的完整数据实际上是很困难的,因为其中一个属性同时由另一个属性来筛选。

为了提高可用性,应为每个不可聚合的属性定义一个默认成员。

有关详细信息

有关如何使用不可聚合属性的详细信息,请参阅 SQL Server 联机丛书中的配置属性层次结构的“(全部)”级别,以及 SQL Server 2005 Analysis Services 性能指南中的“优化维度设计”部分。