Элемент Property (CSDLBI)
Важно. Документ является архивным. Актуальные сведения см. в открытой спецификации [MS-CSDLBI]: Conceptual Schema Definition File Format with Business Intelligence Annotations (Формат файла CSDL с заметками бизнес-аналитики).
Элемент Property в CSDLBI — сложный тип, предоставляющий дополнения к элементу языка CSDL Property для моделей данных бизнес-аналитики.
Элементы и атрибуты
В следующей таблице перечислены элементы и атрибуты, определяющие элемент CSDLBI Property.
Имя | Обязательный | Описание |
---|---|---|
Содержимое | Нет | Строка, которая содержит код языка запроса. |
DefaultAggregationFunction | Да | Строка, указывающая агрегатную функцию, которая должна использоваться при вычислениях с атрибутом, если никакой другой функции не задано. Если этот параметр не указан, используется статистическое вычисление по умолчанию для модели — обычно SUM. |
GroupingBehavior | Нет | Значение, указывающее, как группируются результаты запроса. Содержимое атрибута определено простым типом TGroupingBehavior (см. таблицу ниже). |
OrderBy | Нет | Ссылка на другое свойство в модели, определяющее порядок сортировки для значений этого свойства. Значения для двух свойств ДОЛЖНЫ иметь сопоставление «один к одному». В противном случае поведение сортировки будет неопределенным. Если этот элемент не указан, свойства сортируются по их значениям. |
Стабильность | Нет | Атрибут, указывающий стабильность значений свойства между операциями обновления. Этот атрибут не устанавливается пользователями, а формируется средой разработки только для неустойчивых значений. Всегда применяется к столбцам, которые содержат номер строки, и столбцам, которые содержат формулы, создающие неопределенные результаты, например NOW() или RAND(). Значения для этого атрибута перечислены в следующей таблице, описывающей тип Stabilitysimple. |
GroupingBehavior
В следующей таблице перечислены значения простого типа GroupingBehavior.
Значение | Описание |
---|---|
GroupOnValue | Группирование по значению атрибута xthe. |
GroupOnEntityKey | Группирование по ключу сущности. |
В следующем примере показано использование этих двух значений. Предположим, запрос был разработан для определения заработной платы конкретного пользователя, указанного по имени. Если база данных содержит двух пользователей с одинаковым именем, но разными идентификаторами базы данных, результаты запроса будут отличаться в зависимости от значения атрибута, которое применяется к столбцу.
Граупонвалуе: результаты запроса включают в себя вычеты зарплаты обоих пользователей, сгруппированные вместе.
Граупонентитикэй: результаты запроса включают в себя вычеты зарплаты для каждого пользователя, но перечислены по отдельности.
Стабильность
В следующей таблице перечислены значения простого типа стабильности .
Значение | Описание |
---|---|
объем стабилен | Свойство не меняется между операциями обновления. |
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. Обратите внимание, что заметки бизнес-аналитики не являются необходимыми и применяются не к большинству столбцов, а только к требующим специальной обработки на уровне представления данных.
<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>