Связи атрибутов
В службах Microsoft SQL Server Службы Analysis Services атрибуты измерения всегда прямо или косвенно связаны с ключевым атрибутом. Когда измерение определяется по схеме «звезда», где все атрибуты измерения наследуются из одной реляционной таблицы, то связи между ключевыми и не ключевыми атрибутами определяются автоматически. Когда измерение определяется по схеме «снежинка», где атрибуты измерения наследуются от разных реляционных таблиц, связи атрибутов автоматически определяются следующим образом:
Между ключевым атрибутом и каждым не ключевым атрибутом, привязанным к столбцу главной таблицы измерения.
Между ключевым атрибутом и атрибутами, привязанными к внешнему ключу вспомогательной таблицы, которая связывает таблицы базового измерения.
Между атрибутом, привязанным к внешнему ключу вспомогательной таблицы, и каждым не ключевым атрибутом, привязанным к столбцам вспомогательной таблицы.
Однако по ряду причин может понадобиться изменить связи атрибутов, определенные по умолчанию, например чтобы определить естественную иерархию, пользовательский порядок сортировки или степень гранулярности измерения на основе неключевого атрибута. Дополнительные сведения см. в разделе Справочник по свойствам атрибута измерения.
Примечание |
---|
Связи атрибутов называются в языке многомерных выражений свойствами элементов. |
Связи естественной иерархии
Иерархия является естественной, когда каждый атрибут пользовательской иерархии имеет связь типа «один ко многим» с атрибутом, находящимся непосредственно под ним. Допустим, измерение Customer основано на реляционной исходной таблице, содержащей восемь столбцов:
CustomerKey
CustomerName
Age
Пол
Email
Город
Страна
Регион
Соответствующее измерение служб Analysis Services содержит семь атрибутов:
Customer (основанное на CustomerKey и CustomerName)
Age, Gender, Email, City, Region, Country
Представляющие естественные иерархии связи создают, связывая атрибуты текущего и нижестоящего уровня. В службах Службы Analysis Services это свойство определяет естественную иерархию и возможное статистическое вычисление. В измерении Customer естественная иерархия применяется для атрибутов Country, Region, City и Customer. Естественная иерархия атрибутов {Country, Region, City, Customer} описывается добавлением следующих связей атрибутов:
атрибут Country как связь атрибутов к атрибуту Region;
атрибут Region как связь атрибутов к атрибуту City;
атрибут City как связь атрибутов к атрибуту Customer.
Для перемещения по данным куба можно также создать пользовательскую иерархию, не представленную естественной иерархией данных (такая иерархия называется нерегламентированной или иерархией отчетов). Например, пользовательская иерархия может быть создана на основе {Age, Gender}. Пользователи не смогут увидеть разницу в поведении, отличить эти иерархии, хотя естественная иерархия предоставляет преимущество благодаря скрытым от пользователя статистическим выражениям и структурам индексирования, которые отвечают за естественные связи в исходных данных.
Свойство SourceAttribute уровня определяет, какой из атрибутов описывает уровень. Свойство KeyColumns атрибута определяет столбец в представлении источника данных, который является источником элементов. Свойство NameColumn атрибута может указывать на другой столбец имен для элементов.
Для определения уровня в пользовательской иерархии в среде SQL Server Data Tools (SSDT) применяется конструктор измерений, позволяющий выбрать атрибут измерения, столбец в таблице измерения или столбец из связанной таблицы, которая содержится в представлении источников данных куба. Дополнительные сведения о создании пользовательских иерархий см. в разделе Создание пользовательских иерархий.
В службах Analysis Services о содержимом элементов измерения обычно делается предположение. Конечные элементы не имеют потомков и содержат данные, полученные непосредственно из основных источников данных. Неконечные элементы имеют потомков и содержат данные из статистических вычислений, рассчитанных по дочерним элементам. Значения на неконечных уровнях вычисляются на основе статистических вычислений над нижестоящими уровнями. Таким образом, когда свойству IsAggregatable исходного атрибута присваивается значение False для некоторого уровня, статистически вычисляемые атрибуты не должны добавляться на вышестоящие уровни.
Определения связи атрибутов
При создании атрибута главное проверить, чтобы атрибут, на который ссылается связь, имел не более одного значения для каждого элемента атрибута, к которому он принадлежит. Например, если определить связь между атрибутами City и State, каждый город будет принадлежать одному штату.
Запросы связи атрибутов
Чтобы получить данные о связи атрибутов в форме свойств элементов, можно использовать запросы многомерных выражений с ключевым словом PROPERTIES инструкции многомерных выражений SELECT. Дополнительные сведения об использовании многомерных выражений для получения свойств элементов см. в разделе Использование свойств элементов (многомерные выражения).