Определение именованных наборов
Именованный набор представляет собой многомерное выражение, возвращающее набор (множество) элементов измерения. Можно определять именованные наборы и сохранять их как часть определения куба, а также создавать именованные наборы в клиентских приложениях. Для создания именованных наборов используется сочетание данных куба, арифметических операторов, чисел и функций. Именованные наборы могут применяться пользователями в запросах многомерных выражений в клиентских приложениях, а также для определения наборов во вложенных кубах. Вложенный куб представляет собой коллекцию перекрестно соединенных наборов, ограничивающую для последующих инструкций пространство куба заданным подпространством. Определение ограниченного пространства куба является базовой концепцией в построении сценариев многомерных выражений.
Именованные наборы упрощают запросы многомерных выражений и служат удобными псевдонимами для сложных регулярно используемых выражений наборов. Например, можно определить именованный набор с именем «Крупные торговые посредники», содержащий набор элементов измерения «Торговые посредники», у которых имеется наибольшее число служащих. Тогда конечные пользователи смогут использовать именованный набор «Крупные торговые посредники» в запросах, а вы сможете использовать его, чтобы определить набор во вложенном кубе. Определения именованных наборов хранятся в кубах, но их значения существуют только в памяти. Чтобы создать именованный набор, можно воспользоваться командой Создать именованный набор на вкладке Вычисления конструктора кубов. Дополнительные сведения см. в разделе Вычисления, Создание именованных наборов.
В заданиях этого раздела требуется определить два именованных набора: именованный набор «Основные товары» и именованный набор «Крупные торговые посредники».
Определение именованного набора «Основные товары»
Перейдите на вкладку Вычисления конструктора кубов, перейдите к кубу Службы Analysis Services Tutorial и нажмите кнопку Представление формы на панели инструментов.
В области Организатор скриптов щелкните элемент [Общая доля продаж по всей номенклатуре продукции] и на панели инструментов вкладки Вычисления нажмите кнопку Создать именованный набор.
При определении нового вычисления на вкладке Вычисления следует помнить, что вычисления разрешаются в том порядке, в каком они приведены на панели Организатор скриптов. Положение фокуса ввода в этой панели при создании нового вычисления определяет порядок выполнения вычисления; определение нового вычисления создается непосредственно за тем вычислением, на котором находится фокус ввода.
В поле Имя измените имя нового именованного набора на [Основные товары].
На панели Организатор скриптов обратите внимание на особый значок, отличающий именованный набор от команды скрипта или вычисляемого элемента.
На вкладке Метаданные панели Средства вычисления последовательно раскройте элементы Продукт, Категория, Элементы и Все товары.
Примечание
Если в области Средства вычисления не отображаются метаданные, нажмите кнопку Повторное соединение на панели инструментов. Если это не помогает, возможно, следует выполнить обработку куба или запустить экземпляр служб Службы Analysis Services.
Перетащите элемент Велосипеды в поле Выражение.
Создано выражение набора, которое будет возвращать набор элементов, относящихся к категории «Велосипед» в измерении «Продукт».
Определение именованного набора «Крупные торговые посредники»
Щелкните правой кнопкой мыши пункт [Основные товары] на панели Организатор скриптов и выберите пункт Создать именованный набор.
В поле Имя измените имя этого именованного набора на [Крупные торговые посредники].
В поле Выражение введите Exists().
Для получения набора элементов с наибольшим числом сотрудников из иерархии атрибута «Имя торгового посредника» при ее пересечении с набором элементов в иерархии атрибута «Количество сотрудников» будет использована функция Exists.
На панели Метаданные области Средства вычисления раскройте измерение Торговый посредник, а затем раскройте иерархию атрибута Имя торгового посредника.
Перетащите уровень Имя торгового посредника в скобки выражения набора Exists.
Для получения всех элементов этого набора будет использована функция Members. Дополнительные сведения см. в разделе Members (набор) (многомерные выражения).
После части выражения набора введите точку, а затем добавьте функцию Members. Выражение должно иметь следующий вид:
Exists([Reseller].[Reseller Name].[Reseller Name].Members)
Теперь, когда определен первый набор для выражения Exists, можно приступить к добавлению второго набора — набора элементов измерения «Торговый посредник», которое имеет наибольшее количество сотрудников.
На панели Метаданные области Средства вычисления раскройте пункт Количество сотрудников в измерении «Торговый посредник», раскройте строку Элементы, а затем раскройте уровень Все торговые посредники.
Обратите внимание, что элементы этой иерархии атрибута не распределены по группам.
Откройте конструктор измерений для измерения Торговый посредник и в панели Атрибуты выберите элемент Количество сотрудников.
В окне свойств измените значение свойства DiscretizationMethod на Автоматический, а затем измените значение свойства DiscretizationBucketCount на 5. Дополнительные сведения см. в разделе Группирование элементов атрибутов (дискретизация).
В меню Построение среды SQL Server Data Tools (SSDT) выберите команду Развернуть Analysis Services Tutorial.
После успешного завершения развертывания переключитесь в конструктор кубов, выберите куб учебника по службам Службы Analysis Services и нажмите кнопку Повторное соединение на панели инструментов Вычисления.
На вкладке Метаданные панели Средства вычисления раскройте пункт Количество сотрудников в измерении Торговый посредник, раскройте строку Элементы, а затем раскройте уровень Все торговые посредники.
Обратите внимание, что элементы иерархии атрибута теперь содержатся в пяти группах с номерами от 0 до 4. Чтобы увидеть номер группы, наведите курсор на группу, чтобы просмотреть всплывающую подсказку. Для диапазона 2 -17 всплывающая подсказка должна содержать [Reseller].[Number of Employees].&[0].
Элементы этой иерархии атрибута распределены по группам, так как свойству DiscretizationBucketCount присвоено значение 5, а свойству DiscretizationMethod — значение Автоматический.
В окне Выражение добавьте запятую в выражении для набора Exists после функции Members и перед закрывающей скобкой, а затем перетяните элемент 83 — 100 из панели Метаданные и поместите его после запятой.
Составлено выражение для набора Exists, которое будет возвращать набор элементов, пересекающийся с двумя указанными наборами: набором всех торговых посредников и набором посредников, имеющих от 83 до 100 сотрудников, когда на одной из осей будет находиться именованный набор «Крупные торговые посредники».
На следующем рисунке показана панель Выражения для вычислений для именованного набора [Крупные торговые посредники].
На панели инструментов вкладки Вычисления нажмите кнопку Представление скрипта и просмотрите два именованных набора, которые были добавлены к скрипту вычислений.
Добавьте к скрипту вычислений новую строку непосредственно перед первой командой CREATE SET, а затем добавьте к скрипту в отдельной строке следующий текст:
/* named sets */
Определены два именованных набора, которые отображаются на панели Организатор скриптов. Теперь можно приступить к развертыванию этих именованных наборов и просмотру соответствующих измерений в кубе Службы Analysis Services Tutorial.
Просмотр куба с использованием новых именованных наборов
В меню Построение среды SQL Server Data Tools выберите команду Развернуть Analysis Services Tutorial.
После успешного окончания развертывания откройте вкладку Обозреватель и нажмите кнопку Повторное соединение.
Очистите сетку в области данных.
Добавьте меру Товарооборот посредников — сумма продаж в область данных.
Разверните измерение «Товар», а затем добавьте в область строк элементы «Категория» и «Подкатегория», как показано на следующем рисунке.
На панели Метаданные в измерении Товар перетащите Основные товары в область фильтра.
Обратите внимание, что в кубе остались только элемент Велосипед атрибута Категория и элементы подкатегорий, входящих в категорию Велосипед. Это произошло потому, что именованный набор Основные товары используется для определения вложенного куба. Этот вложенный куб ограничивает элементы атрибута Категория в измерении Товар внутри вложенного куба элементами именованного набора Основные товары, как показано на следующем рисунке.
На панели Метаданные разверните узел Торговый посредник, добавьте элемент Крупные торговые посредники в область фильтра.
Обратите внимание, что мера «Товарооборот посредников — сумма продаж» на панели данных содержит объем продаж только для крупных посредников, продающих велосипеды. Кроме того, обратите внимание, что в панели Фильтр теперь отображаются два созданных именованных набора, которые используются для определения именно этого вложенного куба, как показано на следующем рисунке.
Следующая задача занятия
Определение оценивающих назначений с помощью команд скриптов