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


Разбиение моделей

В некоторых ситуациях бывает доступно лишь подмножество модели. Например это происходит, когда у пользователя недостаточные права доступа, когда в физической модели отсутствуют элементы, когда модель является производной от другой модели или когда разработчик явно создает модель как подмножество другой модели.

Когда доступно лишь подмножество, отсутствие элементов в семантической модели может повлиять на другие элементы в модели. Например зависимые от них элементы модели также будут считаться удаленными из модели. Если ссылка является обязательной, например при указании элементов Binding или RelatedRole, ссылающийся элемент ModelItem будет считаться отсутствующим. Точно так же необязательные свойства самого нижнего уровня, например элемент Inheritance, будут считаться пустыми. Ссылки в запросах на отсутствующие элементы вызовут лишь предупреждение, а не ошибку, а свойства самого нижнего уровня, содержащие подробности, группы, иерархии, меры, группы мер или наборы подытогов, исключаются из запроса. В случае отсутствия базовой сущности или отсутствия всех групп и всех показателей при выполнении запроса возникает ошибка.

Исключения в выражениях

Те атрибуты, которые пользователь имеет право просматривать, не удаляются из модели отчета лишь из-за исключения выражения. Из модели отчета удаляется только выражение. Для статистических атрибутов это приводит к тому, что атрибут становится нетранзитивным и неразложимым.

Атрибуты в запрашиваемой проекции не удаляются из пользовательской модели, когда компоненты выражения исключаются из проекции. Эти компоненты выражения включаются в пользовательскую модель, однако помечаются как скрытые.