Поделиться через


Элемент 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>