Property 元素 (CSDLBI)
重要: 這份檔已封存。 如需最新資訊,請參閱 Open 規格 [CSDLBI]:概念結構定義檔案格式與商業智慧批註。
CSDLBI 中的 Property 元素是複雜類型,它為 CSDL Property 元素提供了新增功能,以支援商業智慧資料模型。
元素和屬性
下表列出定義 CSDLBI Property 元素的元素和屬性。
名稱 | 必要 | 描述 |
---|---|---|
目錄 | 否 | 包含要求 LCID 的字串。 |
DefaultAggregationFunction | 是 | 字串,指定對屬性執行計算且未指定其他函數時,應使用的彙總函式。 如果未指定,則會使用模型的預設彙總,通常是 SUM。 |
GroupingBehavior | 否 | 值,指定查詢結果分組的方式。 屬性的內容是由 TGroupingBehavior 簡單類型定義 (請參閱下表)。 |
OrderBy | 否 | 模型內另一個屬性的參考,該屬性會定義該屬性之值的排序次序。 兩個屬性的值「應該」具有一對一對應。 否則,排序行為會是未定義。 如果省略此元素,屬性會依據其值排序。 |
Stability | 否 | 指定重新整理作業之間屬性 (Property) 值穩定性的屬性 (Attribute)。 此屬性不是由使用者設定,而是設計階段環境僅針對不穩定的值所發出。 此屬性一律套用至包含資料列號碼的資料行,以及包含產生未定結果 (例如 NOW() 或 RAND()) 之公式的資料行。 下表列出此屬性的值,其描述 Stabilitysimple 類型。 |
GroupingBehavior
下表列出 GroupingBehavior 簡單類型的值。
值 | 描述 |
---|---|
GroupOnValue | 依 xthe 屬性的值分組。 |
GroupOnEntityKey | 依實體索引鍵分組。 |
下列範例說明這兩個值的用法。 假設查詢設計為傳回依名稱指定之特定使用者的薪資發放推算。 假設資料庫包含兩個同名但資料庫識別碼不同的使用者,則查詢結果會依據套用至資料行的屬性值而有所不同:
GroupOnValue:查詢結果包括兩個使用者的薪資扣除量(匯總在一起)。
GroupOnEntityKey:查詢結果會包含每位使用者的薪資扣除,但會個別列出。
Stability
下表列出 穩定性 簡單類型的值。
值 | 描述 |
---|---|
穩定 | 屬性在重新整理作業之間會維持不變。 |
RowNumber | 屬性包含資料列號碼。 |
動態 | 屬性在重新整理作業之間可能不會維持不變。 |
表格式範例
下列 XML 顯示 CSDLBI 1.1 版中 AdventureWorks 表格式模型範本中某些屬性的表示法。
<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 Cube 的某些資料行屬性。 請注意,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>