Определение вычисляемых элементов
Вычисляемые элементы — это элементы измерения или группы мер, которые определяются на основе сочетания данных куба, арифметических операторов, чисел и функций. Например, можно создать вычисляемый элемент для расчета суммы двух физических мер в кубе. Определения вычисляемых элементов хранятся в кубах, а их значения рассчитываются при выполнении запроса.
Для создания вычисляемого элемента следует использовать команду Создать вычисляемый элемент на вкладке Вычисления конструктора кубов. Вычисляемые элементы можно создавать в любом измерении, в том числе в измерении мер. Их также можно разместить в папке отображения из диалогового окна Calculation Properties. Дополнительные сведения см. в разделах Вычисления, Вычисления в многомерных моделях и Создание вычисляемых элементов.
В задачах этого раздела определяются вычисляемые меры, чтобы обеспечить пользователям возможность просмотра коэффициента валовой прибыли и показателя продаж для осуществления продаж через Интернет, товарооборота посредников и всех других продаж.
Определение статистических вычислений для физических мер
Откройте конструктор кубов, выберите куб Службы Analysis Services Tutorial и перейдите на вкладку Вычисления.
Обратите внимание, что по умолчанию на панели Выражения вычисления и панели Организатор скриптов доступна команда CALCULATE. Эта команда указывает, что меры в кубе должны быть вычислены в соответствии со значениями свойства AggregateFunction. Значения мер обычно суммируются, но могут подсчитываться или статистически обрабатываться другим образом.
На рисунке ниже показана вкладка Вычисления конструктора кубов.
На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.
В панели Выражения вычисления будет отображена новая форма, в которой следует задать свойства нового вычисляемого элемента. Новый элемент также отображается на панели Организатор скриптов.
На рисунке ниже показана форма, отображаемая в панели Выражения вычисления при нажатии кнопки Создать вычисляемый элемент.
В поле Имя измените имя вычисляемой меры на [Итоговая сумма продаж].
Если имя вычисляемого элемента содержит пробелы, его необходимо заключать в квадратные скобки.
Обратите внимание, что в списке Родительская иерархия по умолчанию новый вычисляемый элемент создается в измерении Меры. Вычисляемый элемент в измерении мер часто называют вычисляемой мерой.
На вкладке Метаданные панели Средства вычисления вкладки Вычисления последовательно раскройте узлы Меры и Продажи через Интернет, чтобы просмотреть метаданные для группы мер Продажи через Интернет.
Элементы метаданных можно перетянуть из панели Средства вычисления в поле Выражение, а затем добавить операторы и другие элементы для создания многомерных выражений. Кроме того, многомерное выражение можно ввести непосредственно в поле Выражение.
Примечание
Если в области Средства вычисления не отображаются метаданные, нажмите кнопку Повторное соединение на панели инструментов. Если это не помогает, возможно, следует выполнить обработку куба или запустить экземпляр служб Службы Analysis Services.
Перетяните показатель Продажи через Интернет — сумма продаж из вкладки Метаданные панели Средства вычисления в поле Выражение панели Выражения вычисления.
В поле Выражение после [Меры].[Продажи через Интернет — объем продаж] введите знак плюс (+).
На вкладке Метаданные панели Средства вычисления раскройте элемент Товарооборот посредников и перетащите показатель Товарооборот посредников — сумма продаж в поле Выражение панели Выражения вычисления после знака плюс (+).
В списке Строка форматирования выберите Валюта.
В списке Установленное поведение установите флажки для показателей Продажи через Интернет — сумма продаж и Товарооборот посредников — сумма продаж и нажмите кнопку ОК.
Меры, указанные в списке Установленное поведение, используются для разрешения запросов NON EMPTY в многомерных выражениях. Если в списке Установленное поведение указана одна или несколько мер, в службах Службы Analysis Services вычисляемый элемент считается пустым, если все указанные меры пусты. Если значение свойства Установленное поведение не указано, в службах Службы Analysis Services проводится оценка вычисляемого элемента с целью определения, является ли он пустым.
На рисунке ниже показана панель Выражения вычисления, заполненная параметрами, указанными в предыдущих шагах.
В области инструментов вкладки Вычисления нажмите кнопку Представление скрипта и просмотрите скрипт расчета на панели Выражения вычисления.
Обратите внимание, что новое вычисление добавляется в исходное выражение CALCULATE. Вычисления разделены точкой с запятой. Кроме того, обратите внимание, что в начале скрипта вычисления отображается комментарий. Рекомендуется добавлять комментарии в скрипт для групп вычислений, поскольку в дальнейшем они помогут другим разработчикам понимать сложные скрипты вычислений.
Добавьте новую строку в скрипт вычисления после команды Calculate; и перед добавленным скриптом вычислений, а затем введите на отдельной строке скрипта следующий текст:
/* Calculations to aggregate Internet Sales and Reseller Sales measures */
На следующем рисунке показаны возможные сценарии вычислений, отображаемые в панели Выражения вычисления при выполнении всех заданий учебника.
На панели инструментов вкладки Вычисления нажмите кнопку Представление формы, убедитесь, что в области Организатор скриптов выбран показатель [Итоговая сумма продаж], и нажмите кнопку Создать вычисляемый элемент.
Измените имя нового вычисляемого элемента на [Общая стоимость продукции] и создайте следующее выражение в поле Выражения:
[Measures].[Internet Sales-Total Product Cost] + [Measures].[Reseller Sales-Total Product Cost]
В списке Строка форматирования выберите Валюта.
В списке Установленное поведение установите флажки для показателей Продажи через Интернет — общая стоимость продукции и Товарооборот посредников — общая стоимость продукции, а затем нажмите ОК.
Заданы два вычисляемых элемента, которые отображаются на панели Организатор скриптов. Эти вычисляемые элементы можно использовать в других вычислениях, если они будут впоследствии заданы в скрипте вычисления. Определение любого вычисляемого элемента можно просмотреть, выбрав его на панели Организатор скриптов. Оно отображается на панели Выражения вычисления в представлении формы. Новые определенные вычисляемые элементы не отображаются в панели Средства вычисления, пока не будут развернуты. Вычисления не требуют обработки.
Создание вычислений коэффициента валовой прибыли
Убедитесь, что в области Организатор скриптов выбран показатель [Общая стоимость продукции], и нажмите кнопку Создать вычисляемый элемент на панели инструментов вкладки Вычисления.
В поле Имя измените имя новой вычисляемой меры на [Коэффициент валовой прибыли по продажам через Интернет].
В поле Выражение создайте следующее многомерное выражение:
([Measures].[Internet Sales-Sales Amount] - [Measures].[Internet Sales-Total Product Cost]) / [Measures].[Internet Sales-Sales Amount]
В списке Строка форматирования выберите значение Проценты.
В списке Установленное поведение установите флажок для показателя Продажи через Интернет — сумма продаж и нажмите ОК.
На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.
В поле Имя измените имя новой вычисляемой меры на [Коэффициент валовой прибыли по продажам через торгового посредника].
В поле Выражение создайте следующее многомерное выражение:
([Measures].[Reseller Sales-Sales Amount] - [Measures].[Reseller Sales-Total Product Cost]) / [Measures].[Reseller Sales-Sales Amount]
В списке Строка форматирования выберите значение Проценты.
В списке Установленное поведение установите флажок для показателя Товарооборот посредников — сумма продаж и нажмите ОК.
На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.
В поле Имя измените имя вычисляемой меры на [Итоговый коэффициент валовой прибыли].
В поле Выражение создайте следующее многомерное выражение:
([Measures].[Total Sales Amount] - [Measures].[Total Product Cost]) / [Measures].[Total Sales Amount]
Обратите внимание, что этот вычисляемый элемент ссылается на другие вычисляемые элементы. Этот вычисляемый элемент является допустимым, поскольку он рассчитывается после вычисляемых элементов, на которые ссылается.
В списке Строка форматирования выберите значение Проценты.
В списке Установленное поведение установите флажки для показателей Продажи через Интернет — сумма продаж и Товарооборот посредников — сумма продаж и нажмите кнопку ОК.
На панели инструментов вкладки Вычисления нажмите кнопку Представление скрипта и просмотрите три вычисления, только что добавленные в скрипт вычисления.
Добавьте новую строку в скрипт вычисления непосредственно перед вычислением [Коэффициент валовой прибыли по продажам через Интернет], а затем введите на следующей строке скрипта приведенный ниже текст:
/* Calculations to calculate gross profit margin */
На рисунке ниже показана панель Выражения с тремя новыми вычислениями.
Создание вычислений «Проценты от общего»
На панели инструментов вкладки Вычисления нажмите кнопку Представление формы.
В области Организатор скриптов выберите показатель [Итоговый коэффициент валовой прибыли] и нажмите кнопку Создать вычисляемый элемент на панели инструментов вкладки Вычисления.
Выбор последнего вычисляемого элемента на панели Организатор скриптов перед нажатием кнопки Создать вычисляемый элемент гарантирует, что новый вычисляемый элемент будет добавлен в конец скрипта. Скрипты выполняются в том порядке, в котором они отображаются на панели Организатор скриптов.
Измените имя нового вычисляемого элемента на [Доля продаж через Интернет по всей номенклатуре продукции].
В поле Выражение введите следующее выражение:
Case When IsEmpty( [Measures].[Internet Sales-Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Internet Sales-Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Internet Sales-Sales Amount] ) End
В этом многомерном выражении рассчитывается доля каждого из товаров в итоговом значении продаж через Интернет. Использование инструкции Case в сочетании с функцией IS EMPTY позволяет избежать ошибки деления на ноль в том случае, если по данному товару отсутствуют продажи.
В списке Строка форматирования выберите значение Проценты.
В списке Установленное поведение установите флажок для показателя Продажи через Интернет — сумма продаж и нажмите ОК.
На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.
Измените имя нового вычисляемого элемента на [Доля товарооборота посредников по всей номенклатуре продукции].
В поле Выражение введите следующее выражение:
Case When IsEmpty( [Measures].[Reseller Sales-Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Reseller Sales-Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Reseller Sales-Sales Amount] ) End
В списке Строка форматирования выберите значение Проценты.
В списке Установленное поведение установите флажок для показателя Товарооборот посредников — сумма продаж и нажмите ОК.
На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.
Измените имя нового вычисляемого элемента на [Общая доля продаж по всей номенклатуре продукции].
В поле Выражение введите следующее выражение:
Case When IsEmpty( [Measures].[Total Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Total Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Total Sales Amount] ) End
В списке Строка форматирования выберите значение Проценты.
В списке Установленное поведение установите флажки для показателей Продажи через Интернет — сумма продаж и Товарооборот посредников — сумма продаж и нажмите кнопку ОК.
На панели инструментов вкладки Вычисления нажмите кнопку Представление скриптов и просмотрите три вычисления, только что добавленные в скрипт вычисления.
Добавьте новую строку в скрипт вычисления непосредственно перед вычислением [Доля продаж через Интернет по всей номенклатуре продукции], а затем введите на следующей строке скрипта приведенный ниже текст:
/* Calculations to calculate percentage of product to total product sales */
Теперь создано восемь вычисляемых элементов, которые отображаются на панели Организатор скриптов в представлении формы.
Просмотр новых вычисляемых элементов
В меню Построение среды SQL Server Data Tools (SSDT) выберите команду Развернуть Analysis Services Tutorial.
После успешного окончания развертывания перейдите на вкладку Обозреватель и нажмите кнопку Повторное соединение.
Щелкните ярлык Excel, а затем выберите Включить.
На панели Список полей сводной таблицы раскройте папку Значения, чтобы отобразить новые вычисляемые элементы в измерении мер.
Перетащите меру Итоговая сумма продаж в область значений и просмотрите результаты.
Перетащите меры Продажи через Интернет — сумма продаж и Товарооборот посредников — сумма продаж из групп мер Продажи через Интернет и Товарооборот посредников в область значений.
Обратите внимание, что мера Итоговая сумма продаж является суммой мер Продажи через Интернет — сумма продаж и Товарооборот посредников — сумма продаж.
Добавьте определяемую пользователем иерархию Категории товаров в область фильтра области Фильтр отчета и отфильтруйте данные по позиции Горные велосипеды.
Обратите внимание, что мера Общая сумма продаж рассчитывается для категории продаж товара Горные велосипеды на основе мер Продажи через Интернет — сумма продаж и Товарооборот посредников — сумма продаж для позиции Горные велосипеды.
Добавьте определяемую пользователем иерархию Date.Calendar Date в область меток строк и просмотрите результаты.
Обратите внимание, что мера Итоговая сумма продаж рассчитывается за каждый календарный год для категории продаж товара Горные велосипеды на основе мер Продажи через Интернет — сумма продаж и Товарооборот посредников — сумма продаж для позиции Горные велосипеды.
Добавьте меры Итоговый коэффициент валовой прибыли, Коэффициент валовой прибыли по продажам через Интернет и Коэффициент валовой прибыли по товарообороту посредников в область значений и просмотрите результаты.
Обратите внимание, что коэффициент валовой прибыли по продажам через торгового посредника значительно ниже, чем по продажам через Интернет, как показано на следующем рисунке.
Добавьте в область значений меры Общая доля продаж по всей номенклатуре продукции, Доля продаж через Интернет по всей номенклатуре продукции и Доля продаж через торгового посредника по всей номенклатуре продукции.
Обратите внимание, что доля продаж горных велосипедов во всей номенклатуре продукции увеличивается с течением времени для продаж через Интернет и уменьшается для продаж через торгового посредника. Кроме того, обратите внимание, что доля продаж горных велосипедов во всей номенклатуре продукции меньше по продажам через торгового посредника, чем по продажам через Интернет.
Измените фильтр с Горные велосипеды на Велосипеды и просмотрите результаты.
Обратите внимание, что коэффициент валовой прибыли по всем велосипедам, проданным через торговых посредников, является отрицательной, поскольку туристические и дорожные велосипеды продаются в убыток.
Измените фильтр на Аксессуары и просмотрите результаты.
Обратите внимание, что продажа аксессуаров увеличивается с течением времени, но они составляют лишь небольшую часть общей суммы продаж. Кроме того, обратите внимание, что коэффициент валовой прибыли для продаж аксессуаров выше, чем для велосипедов.
Следующая задача занятия
Определение именованных наборов