定义维度特性
在 Microsoft SQL Server Analysis Services 中,有许多可以确定维度和维度特性工作方式的属性。下表列出了这些特性属性并逐一对其进行说明。
属性 |
说明 |
---|---|
AttributeHierarchyDisplayFolder |
标识向最终用户显示关联的特性层次结构的文件夹。 |
AttributeHierarchyEnabled |
确定 Analysis Services 是否为特性生成特性层次结构。如果未启用特性层次结构,则不能在用户定义的层次结构中使用该特性,也不能在多维表达式 (MDX) 语句中引用该特性层次结构。 |
AttributeHierarchyOptimizedState |
确定应用于特性层次结构的优化级别。默认情况下,特性层次结构处于 FullyOptimized 状态,也就是说 Analysis Services 会为特性层次结构生成索引以提高查询性能。另一个选项 NotOptimized 表示没有为该特性层次结构生成索引。如果特性层次结构用于查询之外的其他用途,则使用 NotOptimized 会很有用,因为不会为该特性生成其他索引。特性层次结构的其他用途可用于帮助对另一个特性进行排序。 |
AttributeHierarchyOrdered |
确定关联的特性层次结构是否已排序。默认值为 True。但是,如果特性层次结构将不用于查询,则您可以通过将该属性的值更改为 False 来节省处理时间。 |
AttributeHierarchyVisible |
确定特性层次结构是否对客户端应用程序可见。默认值为 True。但是,如果某特性层次结构将不用于查询,则您可以通过将该属性的值更改为 False 来节省处理时间。 |
CustomRollupColumn |
指定定义自定义汇总公式的列。 |
CustomRollupPropertiesColumn |
指定包含自定义汇总公式的属性的列。 |
DefaultMember |
指定用于定义该特性默认度量值的多维表达式 (MDX)。 |
Description |
包含对特性的说明。 |
DiscretizationBucketCount |
包含以其进行离散化的存储桶数。 |
DiscretizationMethod |
定义用于离散化的方法。 |
EstimatedCount |
指定该特性的估计成员数。在运行聚合设计向导之前,该值默认为零。您可以允许向导对记录数目进行计数,也可以输入一个估计值。如果您知道成员数目并且希望减少在数据库中查询计数所需的时间,则可以手动输入值。如果正在使用生产数据的测试子集,则可以使用生产数据的计数,从而针对生产数据而不是测试数据来优化聚合设计。 |
GroupingBehavior |
一个用户定义的值,可为客户端应用程序提供如何对特性进行分组的提示。 |
ID |
包含维度的唯一标识符 (ID)。 |
InstanceSelection |
向客户端应用程序提供提示,建议应该如何根据列表中预期的项数来显示项列表。可用选项如下所示:
|
IsAggregatable |
指定是否可以聚合特性成员的值。默认值为 True,表示特性层次结构将包含“(全部)”级别。如果该属性的值为 False,则此特性层次结构不包含“(全部)”级别。 |
KeyColumns |
包含表示特性键的一个或多个列,这些列是数据源视图的基础关系表中与该特性绑定在一起的列。除非为 NameColumn 属性指定一个值,否则,将为用户显示每个成员该列的值。 |
MemberNamesUnique |
确定特性层次结构中的成员名称是否必须唯一。 |
MembersWithData |
父特性用于确定是否显示父特性中非叶成员的数据成员。仅当 Usage 属性的值设置为 Parent 时才使用该属性值。也就是说已定义父子层次结构。可用选项如下所示:
|
MembersWithDataCaption |
提供父特性为其系统生成的数据成员创建标题时所用的模板字符串。仅当 Usage 属性的值设置为 Parent 时才使用该属性值。也就是说已定义父子层次结构。 |
Name |
包含特性的用户友好名称。 |
NameColumn |
标识提供显示给用户的特性名称的列,而不是特性键列中的值。当特性成员的键列值隐晦不清或对用户来说没用时,或者当键列基于组合键时,将使用该列。NameColumn 属性不用于父子层次结构中,而是将子成员的 NameColumn 属性用作父子层次结构中的成员名称。 |
NamingTemplate |
定义如何在基于父特性构造的父子层次结构中命名级别。仅当 Usage 属性的值设置为 Parent 时才使用该属性值。也就是说已定义父子层次结构。 |
OrderBy |
说明如何对特性层次结构中包含的成员进行排序。默认值为 Name,该值指定了特性成员的排序基于 NameColumn 属性的值(如果有)。否则,按键列的值对成员进行排序。可用选项如下所示:
|
OrderByAttribute |
标识对特性层次结构成员进行排序所依据的特性。 |
RootMemberIf |
确定如何识别父子层次结构的根成员或最顶层成员。仅当 Usage 属性的值设置为 Parent 时才使用该属性值。也就是说已定义父子层次结构。默认值为 ParentIsBlankSelfOrMissing,表示只有符合一个或多个为 ParentIsBlank、ParentIsSelf 或 ParentIsMissing 所描述的条件的成员才被视为根成员。下面是其他可用的值:
|
Type |
包含特性的类型。有关详细信息,请参阅配置特性类型。 |
UnaryOperatorColumn |
指定提供一元运算符的列。这是 DataItem 类型的绑定,它定义了提供一元运算符的列的详细信息。 |
Usage |
说明如何使用特性。 可用选项如下所示:
|
ValueColumn |
标识提供特性值的列。如果指定了特性的 NameColumn 元素,则将使用相同的 DataItem 值作为 ValueColumn 元素的默认值。如果未指定特性的 NameColumn 元素并且特性的 KeyColumns 集合包含单个表示字符串数据类型键列的 KeyColumn 元素,则使用相同的 DataItem 值作为 ValueColumn 元素的默认值。 |
注意 |
---|
有关如何设置 KeyColumn 属性值的详细信息,请参阅 Handling Data Integrity Issues in Analysis Services 2005(在 Analysis Services 2005 中处理数据完整性问题)。 |
注意 |
---|
当查询中不显式包含层次结构中的成员时,将使用特性的默认成员来计算表达式。特性的默认成员由特性的 DefaultMember 属性来指定。当查询中包含维度的层次结构时,将忽略与该层次结构中的级别相对应的特性中的所有默认成员。如果查询中不包括维度的层次结构,则默认成员将用于维度中的所有特性。有关默认成员的详细信息,请参阅定义默认成员。 |