Определение элемента по умолчанию
Элемент по умолчанию иерархии атрибута предназначен для вычисления выражений в том случае, если иерархия атрибутов не включена в запрос. Этот элемент не обрабатывается, если запрос содержит иерархию атрибута или пользовательскую иерархию, в которых присутствует атрибут, являющийся источником иерархии атрибута. В этом случае используется элемент, указанный в запросе.
Элемент по умолчанию для иерархии атрибута задается указанием элемента атрибута в качестве значения свойства DefaultMember для иерархии атрибута. Это свойство можно задать в конструкторе измерений на вкладке «Структура измерения» или в скрипте вычисления куба на вкладке «Вычисления» в конструкторе кубов среды SQL Server Data Tools (SSDT). Можно также задать свойство DefaultMember для роли безопасности (переопределив элемент по умолчанию, заданный для измерения) на вкладке «Данные измерения» при определении безопасности измерения. Во избежание проблем разрешения имен следует определять элемент по умолчанию в скрипте многомерных выражений куба в следующих ситуациях: если куб ссылается на измерение базы данных более одного раза, если имя измерения в кубе отличается от имени измерения в базе данных и если в разных кубах необходимо иметь различные элементы по умолчанию.
Элемент по умолчанию атрибута используется для оценки выражений, когда атрибут не включен в запрос. Элемент по умолчанию для атрибута указывается свойством DefaultMember атрибута. Когда иерархия из измерения включается в запрос, все элементы по умолчанию из атрибутов, соответствующих уровням иерархии, пропускаются. Если в запрос не включена иерархия измерения, то элементы по умолчанию используются для всех атрибутов в измерении.
Разрешение элемента по умолчанию при отсутствии указанного элемента по умолчанию
Если для иерархии атрибута не указан элемент по умолчанию и она допускает статистическую обработку (свойство IsAggregatable атрибута равно True), то элементом по умолчанию является элемент «Все». Если элемент по умолчанию не указан и атрибут не подлежит статистическому вычислению (свойство IsAggregatable атрибута равно False), то элемент по умолчанию выбирается из верхнего уровня иерархии атрибута.
Задание элемента по умолчанию
Каждый атрибут в измерении в службах Microsoft SQL Server Analysis Services имеет элемент по умолчанию, который можно задать с помощью свойства DefaultMember атрибута. Эта настройка используется для оценки выражений, если атрибут не включен в запрос. Если в запросе задается иерархия в измерении, то элементы по умолчанию для атрибутов и иерархии игнорируются. Если в запросе не задается иерархия в измерении, то вступают в силу настройки DefaultMember для атрибутов измерения.
Если настройка DefaultMember для атрибута пустая и его свойство IsAggregatable установлено равным True, то элементом по умолчанию является элемент «Все». Если свойство IsAggregatable установлено равным False, то элементом по умолчанию будет первый элемент первого видимого уровня.
Настройка DefaultMember для атрибута применяется к каждой иерархии, в которой участвует атрибут. Нельзя использовать различные настройки для различных иерархий в измерении. Например, если элемент [1998] является элементом по умолчанию для атрибута [Год], то эта настройка применяется ко всем иерархиям в измерении. Настройка DefaultMember в этом случае не может быть [1998] в одной иерархии и [1997] в другой иерархии.
При определении элемента по умолчанию для конкретного уровня в иерархии, который не вычисляется естественным образом, необходимо определить элементы по умолчанию на всех уровнях выше этого уровня в иерархии. Например, в иерархии «Все страны» — «Климат» нельзя определить элемент по умолчанию для «Климат», если не определен элемент по умолчанию для «Стран». Если это не сделано, то будут возникать ошибки во время выполнения запросов.
Когда уровни в иерархии вычисляются естественным образом, можно определить элемент по умолчанию для любого атрибута в иерархии, вне зависимости от других атрибутов в этой иерархии. Например, в иерархии «Страна» — «Район» — «Город» можно определить элемент по умолчанию для «Город», например [Город].[Мурманск], не определяя элемент по умолчанию для «Область» или для «Страна».