Определение связей атрибутов и порядка сортировки в измерении «Customer»
Перейдите в конструкторе измерений на вкладку «Обозреватель» измерения «Customer» и просмотрите элементы иерархии атрибута «Commute Distance» (Расстояние до работы, Рисунок 293).
Рисунок 309. Элементы иерархии атрибута «Commute Distance»
Обратите внимание, что элементы иерархии атрибута отсортированы по ASCII-значениям ключа элементов. В этом случае сортировка по имени или ключу атрибута не сортирует расстояние до работы по принципу «от меньшего к большему». Далее будет выполнена сортировка элементов иерархии атрибута на основе именованного вычисления «CommuteDistanceSort», которое присваивает подходящий номер сортировки каждому значению столбца. В целях экономии времени это именованное вычисление уже добавлено в таблицу «Customer» в представлении источника данных Adventure Works DW (Рисунок 294).
Рисунок 310. Именованное вычисление «CommuteDistanceSort» в таблице «Customer»
Чтобы просмотреть сценарий SQL, используемый в этом именованном вычислении, в окне свойств для этого вычисления просмотрите значение свойства Expression (Рисунок 295).
Рисунок 311. Значение свойства Expression вычисления CommuteDistanceSort
Перейдите на вкладку «Структура измерения» конструктора измерений для измерения «Customer», щелкните правой кнопкой пункт «CommuteDistanceSort» в таблице «Customer» в области «Представление источника данных» и в контекстном меню выберите команду «Создать атрибут из столбца» (Рисунок 296).
Рисунок 312. Контекстное меню вычисления CommuteDistanceSort
В области «Атрибуты» выберите атрибут «CommuteDistanceSort», затем укажите для свойства AttributeHierarchyEnabled этого атрибута значение False. В окне свойств укажите для свойства AttributeHierarchyOptimizedState значение NotOptimized, а для свойства AttributeHierarchyOrdered — значение False (Рисунок 297).
Рисунок 313. Свойства атрибута CommuteDistanceSort
Установка этих значений скроет атрибут от пользователей и сократит время обработки. Этот атрибут не будет использоваться для просмотра. Он будет использован только для упорядочивания элементов другого атрибута.
Выберите атрибут «Geography», в окне свойств задайте для его свойства AttributeHierarchyVisible значение False, для свойства AttributeHierarchyOptimizedState — значение NotOptimized, а для свойства AttributeHierarchyOrdered — значение False.
Установка этих значений скроет атрибут от пользователей и сократит время обработки. Этот атрибут не будет использоваться для просмотра. Он может быть использован только для упорядочивания элементов другого атрибута. Поскольку атрибут «Geography» имеет свойства элемента, его свойство AttributeHierarchyEnabled должно иметь значение True. Таким образом, чтобы скрыть атрибут, необходимо присвоить его свойству AttributeHierarchyVisible значение False.
Перейдите на вкладку «Связи атрибутов». В списке атрибутов щелкните правой кнопкой мыши атрибут «Commute Distance» и в его контекстном меню выберите команду «Создать связь атрибутов» (Рисунок 298).
Рисунок 314. Контекстное меню атрибута «Commute Distance»
В диалоговом окне «Создать связи атрибутов» свойство «Исходный атрибут» имеет значение «Commute Distance». Задайте для свойства «Связанный атрибут» значение «Commute Distance Sort» (Рисунок 299).
Рисунок 315. Диалоговое окно «Создать связи атрибутов»
В списке «Тип связи» выберите тип связи «Жесткая». Связь между элементами атрибута «Commute Distance» и «Commute Distance Sort» не меняется со временем. Нажмите кнопку ОК.
Теперь можно приступить к определению порядка сортировки атрибута «Commute Distance». Перейдите на вкладку «Структура измерения». В области «Атрибуты» выберите атрибут «Commute Distance», затем в окне свойств измените значение свойства OrderBy на AttributeKey, а значение свойства OrderByAttribute на Commute Distance Sort (Рисунок 300).
Рисунок 316. Свойства атрибута «Commute Distance»
Разверните проект Analysis Services Tutorial. После успешного завершения развертывания перейдите на вкладку «Обозреватель» конструктора измерений для измерения «Customer», нажмите кнопку «Повторное соединение» и просмотрите иерархию атрибута «Commute Distance» (Рисунок 301).
Рисунок 317. Элементы иерархии атрибута «Commute Distance»
Обратите внимание, что элементы иерархии атрибута теперь отсортированы в логическом порядке, основанном на увеличении расстояния.