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


Элемент AssociationSet (CSDLBI)

Важно. Документ является архивным. Актуальные сведения см. в открытой спецификации [MS-CSDLBI]: Conceptual Schema Definition File Format with Business Intelligence Annotations (Формат файла CSDL с заметками бизнес-аналитики).

Элемент AssociationSet — сложный тип, который определяет взаимосвязь. В модели данных CSDLBI взаимосвязь представляет собой связь между таблицами.

Элемент AssociationSet должен быть задан для каждой связи в модели. Элемент AssociationSet определяет конечные точки с помощью элемента Association . Элемент AssociationSet также определяет метаданные о связи и их использование в модели данных.

Применимые атрибуты

В следующей таблице перечислены элементы и атрибуты, определяющие элемент AssociationSet .

Имя Обязательный Описание
Состояние Да Строка, которая указывает, активна ассоциация или нет. Значение определяется элементом State.
Скрытый Нет Логическое значение, определяющее, является ли связь видимой. По умолчанию значение Hidden — false, т. е. все связи видимы в модели.

Элемент State

Элемент State — простой тип, который описывает, активна ли связь, должен использоваться в вычислениях или оставаться неактивным, но ссылаться на него в вычислениях следует явно.

Если имеется несколько наборов ассоциаций между двумя сущностями, не более одного набора ассоциаций может быть отмечено как Active. Другими словами, если между одними и теми же двумя таблицами есть две связи, то только одна связь может быть активной.

В следующей таблице перечислены значения элемента State .

Значение Описание
Активно Взаимосвязь активна.
Неактивно Взаимосвязь активна.

Пример табличного

В следующем примере показана связь в табличной модели AdventureWorks для CSDLBI версии 1.1. Взаимосвязь помечена как неактивная, так как связь уже существует (между OrderKey и Date).

<AssociationSet   
    Name="InternetSales_Date_Date_Date"  
    Association="Sandbox.InternetSales_Date_Date_Date">  
    <End EntitySet="InternetSales" />  
    <End EntitySet="DimDate" />  
<bi:AssociationSet State="Inactive" />  
</AssociationSet>  
  

Пример многомерного измерения

В следующем примере показана связь, определенная между таблицами Sales и Currency в кубе операций Contoso.

<AssociationSet   
    Name ="Sales_Currency_Currency_Currency_Name2"  
    Association ="Sandbox.Sales_Currency_Currency_Currency_Name2">  
    <End EntitySet ="Sales" />  
    <End EntitySet ="Currency" />  
<bi:AssociationSet />  
</AssociationSet>