Property 元素 (CSDLBI)
重要提示:本文档已存档。 有关最新信息,请参阅开放规范 [MS-CSDLBI]:带商业智能注释的概念架构定义文件格式。
CSDLBI 中的 Property 元素是一种复杂类型,它向 CSDL 中的 Property 元素提供附加内容,以便支持商业智能数据模型。
元素和属性
下表列出了用于定义 CSDLBI 的 Property 元素的元素和属性。
名称 | 是否必需 | 说明 |
---|---|---|
目录 | 否 | 一个字符串,该字符串包含请求的 LCID。 |
DefaultAggregationFunction | 是 | 一个字符串,当对属性执行计算且没有指定任何其他函数时,该字符串指定应使用的聚合函数。 如果未指定,则使用模型的默认聚合,通常是 SUM。 |
GroupingBehavior | 否 | 指定如何对查询结果进行分组的值。 属性的内容由 TGroupingBehavior 简单类型定义(请参阅下面的表)。 |
OrderBy | 否 | 对模型内用于定义该属性值的排序顺序的其他属性的引用。 这两个属性的值“应”具有 1 对 1 映射。 否则,未定义排序行为。 如果忽略此元素,则基于属性的值对属性排序。 |
稳定性 | 否 | 一个指定刷新操作之间的属性值的稳定性的特性。 此属性不是由用户设置,而是由设计时环境仅针对不稳定的值发出。 它始终应用于包含行号的列以及所包含的公式生成不确定结果的列,如 NOW() 或 RAND()。 此属性的值在下面用于说明 Stabilitysimple 类型的表中定义。 |
GroupingBehavior
下表列出 GroupingBehavior 简单类型的值。
值 | 说明 |
---|---|
GroupOnValue | 按属性的值分组。 |
GroupOnEntityKey | 按实体键分组。 |
下面的示例阐述了这两个值的用法。 假设查询旨在返回特定用户(按名称指定)的工资扣减额。 假设数据库包含两个同名但具有不同数据库标识符的用户,则查询结果将不同,具体取决于将哪个属性值应用于此列:
GroupOnValue:查询结果包括两个用户的总工资推导。
GroupOnEntityKey:查询结果包括每个用户的工单推导,但单独列出。
稳定性
下表列出了"稳定性"简单 类型的 值。
值 | 说明 |
---|---|
Stable | 属性在刷新操作之间保持不变。 |
RowNumber | 属性包含行号。 |
易失的 | 属性在刷新操作之间可能不保持不变。 |
表格示例
以下 XML 显示 AdventureWorks 表格模型示例中某些属性的 CSDLBI 版本 1.1 表示形式。
<EntityType
Name="DimEmployee">
<Key>
<PropertyRef
Name="RowNumber" />
</Key>
<Property
Name="RowNumber"
Type="Int64"
Nullable="false">
<bi:Property
Hidden="true"
Contents="RowNumber"
Stability="RowNumber" />
</Property>
<Property
Name="EmployeeKey"
Type="Int64">
<bi:Property />
</Property>
….
</bi:EntityType>
</EntityType>
多维示例
以下示例(在 CSDLBI 版本 1.1 中)显示数据模型中表示 Contoso Operations 多维数据集的列的某些属性。 请注意,对于大多数列,不要求也不应用 BI 注释,BI 注释只适用于那些要求在表示层进行特殊处理的列。
<EntityType
Name="Bike">
<Key>
<PropertyRef Name="RowNumber" />
</Key>
<Property
Name="RowNumber"
Type="Int64"
Nullable="false">
<bi:Property
Hidden="true"
Contents="RowNumber"
Stability="RowNumber"
/>
</Property>
<Property
Name="ProductAlternateKey"
Type="String"
MaxLength="Max"
Unicode="true"
FixedLength="false">
<bi:Property />
</Property>