Волгоградский государственный университет
Опубликован: 15.03.2010 | Доступ: свободный | Студентов: 2368 / 231 | Оценка: 4.39 / 4.28 | Длительность: 18:09:00
Самостоятельная работа 7:

Определение вычислений

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

Теоретическое введение

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

Вычисляемые элементы

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

Вычисляемые элементы можно определять для любого измерения, включая измерение мер. Вычисляемые элементы, созданные в измерении мер, называются вычисляемыми мерами.

Хотя вычисляемые элементы обычно основаны на данных, уже существующих в кубе, можно создавать сложные выражения, объединяя данные с арифметическими операторами, числами и функциями. Также можно воспользоваться функциями многомерных выражений, например LookupCube, чтобы получить доступ к данным других кубов базы данных служб SSAS. В состав служб SSAS входят библиотеки стандартизированных функций приложения Visual Studio, при этом можно использовать хранимые процедуры для извлечения данных из источника, отличного от текущей базы данных служб SSAS.

Например, предположим, что руководство судоходной компании хочет определить типы груза, наиболее выгодные с точки зрения перевозки, используя для этого показатель прибыли в расчете на единицу объема. Берется куб "Перевозки", содержащий измерения "Груз", "Флот" и "Время" и меры " Price_to_Ship " (Цена_перевозки), " Cost_to_Ship " (Стоимость_перевозки) и " Volume_in_Cubic_Meters " (Объем_в_кубических_метрах); однако в кубе нет меры для прибыльности. В кубе можно создать вычисляемый элемент как меру, именуемую "Прибыль_за_кубический_метр", путем объединения существующих мер в следующем выражении:

([Measures].[Price_to_Ship] - [Measures].[Cost_to_Ship]) /[Measures].[Volume_in_Cubic_Meters]

После создания вычисляемого элемента при следующем просмотре куба "Перевозки", мера "Прибыль_за_кубический_метр" появится вместе с другими мерами.

Именованные наборы

Именованный набор представляет собой многомерное выражение инструкции CREATE SET, возвращающее набор (множество) элементов измерения. Можно определять именованные наборы и сохранять их как часть определения куба, а также создавать именованные наборы в клиентских приложениях.

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

Именованные наборы упрощают запросы многомерных выражений и служат удобными псевдонимами для сложных регулярно используемых выражений наборов.

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

Команды сценариев

Команда сценария представляет собой сценарий многомерного выражения, включенный в состав определения куба. Команды сценария позволяют осуществлять практически любое действие, поддерживаемое многомерными выражениями в кубе, такие как отнесение вычисления только к части куба. В службах SSAS сценарии многомерных выражений можно применять как к кубу в целом, так и к отдельным его секциям в отдельных точках при выполнении сценария. Команда сценария по умолчанию, являющаяся инструкцией CALCULATE, заполняет ячейки в кубе статистическими данными, основанными на области по умолчанию.

Областью по умолчанию является весь куб, но можно определить более ограниченную область, известную как вложенный куб, а затем применить сценарий многомерных выражений только к этому конкретному пространству куба. Инструкция SCOPE определяет область всех последующих многомерных выражений и инструкций в пределах сценария вычислений до окончания или переопределения области. Затем используется инструкция THIS, чтобы применить многомерное выражение к текущей области. Можно использовать инструкцию BACK_COLOR, чтобы задать фоновый цвет ячеек в текущей области, что может быть полезно при отладке.

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

Определение вычислений

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

На вкладке "Вычисления" можно добавить новые вычисления, а также просмотреть или изменить существующие вычисления в одном из следующих представлений в области "Выражения" вычисления:

  1. Представление формы. В этом представлении отображаются выражения и свойства отдельной команды в графическом формате. При редактировании сценария многомерных выражений поле выражения занимает все представление формы.
  2. Представление сценария. В этом представлении отображаются все сценарии вычислений в редакторе кода, что позволяет легко изменять сценарии вычислений. Если панель "Выражения" вычисления находится в представлении сценария, окно "Организатор сценариев" скрыто. Представление сценария поддерживает выделение кода цветом, сопоставление скобок, автоматическую подстановку, а также области кода многомерных выражений. Можно развернуть или свернуть области кода многомерных выражений, чтобы упростить редактирование.

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

Ксения Кожанова
Ксения Кожанова

Здравствуйте! Я прошла 1 лекцию и 1 самостоятельную работу. В конце контрольные вопросы, их надо для как-то ответить или куда-то отослать?

Андрей Павлов
Андрей Павлов