Поделиться через


Занятие 6.1. Определение вычисляемых элементов

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

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

Для создания вычисляемого элемента следует использовать команду Создать вычисляемый элемент на вкладке Вычисления конструктора кубов. Вычисляемые элементы можно создавать в любом измерении, в том числе в измерении мер. Их также можно разместить в папке отображения из диалогового окна Calculation Properties . Дополнительные сведения см. в разделах Вычисления, Вычисления в многомерных моделяхи Создание вычисляемых элементов.

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

Определение статистических вычислений для физических мер

  1. Откройте Designer куба SQL Server Analysis Services Tutorial и перейдите на вкладку Вычисления.

    Обратите внимание, что по умолчанию на панели Выражения вычисления и панели Организатор скриптов доступна команда CALCULATE. Эта команда указывает, что меры в кубе должны быть вычислены в соответствии со значениями свойства AggregateFunction. Значения мер обычно суммируются, но могут подсчитываться или статистически обрабатываться другим образом.

    На рисунке ниже показана вкладка Вычисления конструктора кубов.

    Вкладка

  2. На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.

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

    На рисунке ниже показана форма, отображаемая в панели Выражения вычисления при нажатии кнопки Создать вычисляемый элемент.

    области выраженийФорма

  3. В поле Имя измените имя вычисляемой меры на [Total Sales Amount].

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

    Обратите внимание, что в списке Родительская иерархия по умолчанию новый вычисляемый элемент создается в измерении Меры . Вычисляемый элемент в измерении мер часто называют вычисляемой мерой.

  4. На вкладке Метаданные панели Средства вычисления вкладки Вычисления последовательно раскройте узлы Меры и Продажи через Интернет , чтобы просмотреть метаданные для группы мер Продажи через Интернет .

    Элементы метаданных можно перетащить с панели Средства вычисления в поле Выражение , а затем добавить операторы и другие элементы для создания многомерных выражений. Кроме того, многомерное выражение можно ввести непосредственно в поле Выражение .

    Примечание

    Если в области Средства вычисления не отображаются метаданные, нажмите кнопку Повторное соединение на панели инструментов. Если это не сработает, может потребоваться обработать куб или запустить экземпляр SQL Server Analysis Services.

  5. Перетащите показатель Продажи через Интернет — объем продаж с вкладки Метаданные панели Средства вычисления в поле Выражение панели Выражения вычисления .

  6. В поле Выражение после+[Меры].[Продажи через Интернет — объем продаж] введите знак плюс ().

  7. На вкладке Метаданные панели Средства вычисления разверните элемент Товарооборот посредникови перетащите показатель Товарооборот посредников — объем продаж в поле Выражение панели Выражения вычисления после знака плюс (+).

  8. В списке Формат строки выберите "Валюта".

  9. В списке Установленное поведение установите флажки для показателей Продажи через Интернет — объем продаж и Товарооборот посредников — объем продаж, а затем нажмите кнопку ОК.

    Меры, указанные в списке Установленное поведение , используются для разрешения запросов NON EMPTY в многомерных выражениях. При указании одной или нескольких мер в списке Непустое поведение SQL Server Analysis Services обрабатывает вычисляемый элемент как пустой, если все указанные меры пусты. Если свойство Непустое поведение пусто, SQL Server Analysis Services должны оценить сам вычисляемый элемент, чтобы определить, является ли элемент пустым.

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

    Заполненная область выражений вычислений

  10. В области инструментов вкладки Вычисления нажмите кнопку Представление скриптаи просмотрите скрипт расчета на панели Выражения вычисления .

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

  11. Добавьте новую строку в скрипт вычисления после команды Calculate; и перед добавленным скриптом вычислений, а затем введите на отдельной строке скрипта следующий текст:

    /* Calculations to aggregate Internet Sales and Reseller Sales measures */  
    

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

    Скрипты в области Выражений вычислений

  12. На панели инструментов вкладки Вычисления щелкните Представление формы, убедитесь, что в области Организатор скриптов выбран пункт [Общая сумма продаж], а затем щелкните Создать вычисляемый элемент.

  13. Измените имя нового вычисляемого элемента на [Общая стоимость продукции]и создайте следующее выражение в поле Выражения :

    [Measures].[Internet Sales-Total Product Cost] + [Measures].[Reseller Sales-Total Product Cost]  
    
  14. В списке Строка форматирования выберите Валюта.

  15. В списке Установленное поведение установите флажки для показателей Продажи через Интернет — общая стоимость продукции и Товарооборот посредников — общая стоимость продукции, а затем нажмите кнопку ОК.

    Заданы два вычисляемых элемента, которые отображаются на панели Организатор скриптов . Эти вычисляемые элементы можно использовать в других вычислениях, если они будут впоследствии заданы в скрипте вычисления. Определение любого вычисляемого элемента можно просмотреть, выбрав его на панели Организатор скриптов . Оно отображается на панели Выражения вычисления в представлении формы. Новые определенные вычисляемые элементы не отображаются в панели Средства вычисления , пока не будут развернуты. Вычисления не требуют обработки.

Создание вычислений коэффициента валовой прибыли

  1. Убедитесь в том, что в области Организатор скриптов выбран показатель [Общая стоимость продукции] , и нажмите кнопку Создать вычисляемый элемент на панели инструментов вкладки Вычисления .

  2. В поле Имя измените имя новой вычисляемой меры на [Internet GPM].

  3. В поле Выражение создайте следующее многомерное выражение:

    ([Measures].[Internet Sales-Sales Amount] -   
    [Measures].[Internet Sales-Total Product Cost]) /  
    [Measures].[Internet Sales-Sales Amount]  
    
  4. В списке Строка форматирования выберите значение Проценты.

  5. В списке Установленное поведение установите флажок для показателя Продажи через Интернет — объем продажи нажмите кнопку ОК.

  6. На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.

  7. В поле Имя измените имя этой новой вычисляемой меры на [Торговый посредник GPM].

  8. В поле Выражение создайте следующее многомерное выражение:

    ([Measures].[Reseller Sales-Sales Amount] -   
    [Measures].[Reseller Sales-Total Product Cost]) /  
    [Measures].[Reseller Sales-Sales Amount]  
    
  9. В списке Строка форматирования выберите значение Проценты.

  10. В списке Установленное поведение установите флажок для показателя Товарооборот посредников — объем продажи нажмите кнопку ОК.

  11. На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.

  12. В поле Имя измените имя этой вычисляемой меры на [Total GPM].

  13. В поле Выражение создайте следующее многомерное выражение:

    ([Measures].[Total Sales Amount] -   
    [Measures].[Total Product Cost]) /  
    [Measures].[Total Sales Amount]  
    

    Обратите внимание, что этот вычисляемый элемент ссылается на другие вычисляемые элементы. Этот вычисляемый элемент является допустимым, поскольку он рассчитывается после вычисляемых элементов, на которые ссылается.

  14. В списке Строка форматирования выберите значение Проценты.

  15. В списке Установленное поведение установите флажки для показателей Продажи через Интернет — объем продаж и Товарооборот посредников — объем продаж, а затем нажмите кнопку ОК.

  16. На панели инструментов вкладки Вычисления нажмите кнопку Представление скрипта и просмотрите три вычисления, только что добавленные в скрипт вычисления.

  17. Добавьте новую строку в скрипт вычисления непосредственно перед вычислением [Internet GPM] , а затем добавьте следующий текст в скрипт в его собственной строке:

    /* Calculations to calculate gross profit margin */  
    

    На рисунке ниже показана панель Выражения с тремя новыми вычислениями.

    Новые вычисления в области Выражений вычислений

Создание вычислений «Проценты от общего»

  1. На панели инструментов вкладки Вычисления нажмите кнопку Представление формы.

  2. В области Организатор скриптов выберите [Всего GPM], а затем щелкните Создать вычисляемый элемент на панели инструментов вкладки Вычисления .

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

  3. Измените имя этого нового вычисляемого элемента на [Отношение интернет-продаж к всем продуктам].

  4. В поле Выражение введите следующее выражение:

    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 позволяет избежать ошибки деления на ноль в том случае, если по данному товару отсутствуют продажи.

  5. В списке Строка форматирования выберите значение Проценты.

  6. В списке Установленное поведение установите флажок для показателя Продажи через Интернет — объем продажи нажмите кнопку ОК.

  7. На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.

  8. Измените имя этого вычисляемого элемента на [Соотношение продаж торгового посредника ко всем продуктам].

  9. В поле Выражение введите следующее выражение:

    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  
    
  10. В списке Строка форматирования выберите значение Проценты.

  11. В списке Установленное поведение установите флажок для показателя Товарооборот посредников — объем продажи нажмите кнопку ОК.

  12. На панели инструментов вкладки Вычисления нажмите кнопку Создать вычисляемый элемент.

  13. Измените имя этого вычисляемого элемента на [Отношение общего объема продаж ко всем продуктам].

  14. В поле Выражение введите следующее выражение:

    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  
    
  15. В списке Строка форматирования выберите значение Проценты.

  16. В списке Установленное поведение установите флажки для показателей Продажи через Интернет — объем продаж и Товарооборот посредников — объем продаж, а затем нажмите кнопку ОК.

  17. На панели инструментов вкладки Вычисления нажмите кнопку Представление скриптови просмотрите три вычисления, только что добавленные в скрипт вычисления.

  18. Добавьте новую строку в скрипт вычислений непосредственно перед вычислением [Интернет-продажи по всем продуктам] , а затем добавьте следующий текст в скрипт в его собственной строке:

    /* Calculations to calculate percentage of product to total product sales */  
    

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

Просмотр новых вычисляемых элементов

  1. В меню Сборка SQL Server Data Tools выберите команду Развертывание учебника по службам Analysis Services.

  2. После успешного окончания развертывания перейдите на вкладку Обозреватель и нажмите кнопку Повторное соединение.

  3. Щелкните ярлык Excel, а затем выберите Включить.

  4. На панели Список полей сводной таблицы раскройте папку Значения , чтобы отобразить новые вычисляемые элементы в измерении мер.

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

    Перетащите меры Продажи через Интернет — объем продаж и Товарооборот посредников — объем продаж из групп мер Продажи через Интернет и Товарооборот посредников в область значений.

    Обратите внимание, что мера Итоговая сумма продаж является суммой мер Продажи через Интернет — объем продаж и Товарооборот посредников — объем продаж .

  6. Добавьте определяемую пользователем иерархию Категории товаров в область фильтра области Фильтр отчета и отфильтруйте данные по позиции Горные велосипеды.

    Обратите внимание на то, что мера Общая сумма продаж рассчитывается для категории продаж товара Горные велосипеды на основе мер Продажи через Интернет — объем продаж и Товарооборот посредников — объем продаж для позиции Горные велосипеды.

  7. Добавьте определяемую пользователем иерархию Date.Calendar Date в область меток строк и просмотрите результаты.

    Обратите внимание на то, что мера Итоговая сумма продаж рассчитывается за каждый календарный год для категории продаж товара Горные велосипеды на основе мер Продажи через Интернет — объем продаж и Товарооборот посредников — объем продаж для позиции Горные велосипеды.

  8. Добавьте меры Итоговый коэффициент валовой прибыли, Коэффициент валовой прибыли по продажам через Интернети Коэффициент валовой прибыли по товарообороту посредников в область значений и просмотрите результаты.

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

    Панель данных, показывающая продажи торгового посредника

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

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

  10. Измените фильтр с Горные велосипеды на Велосипедыи просмотрите результаты.

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

  11. Измените фильтр на Аксессуарыи просмотрите результаты.

    Обратите внимание, что продажа аксессуаров увеличивается с течением времени, но они составляют лишь небольшую часть общей суммы продаж. Кроме того, обратите внимание, что коэффициент валовой прибыли для продаж аксессуаров выше, чем для велосипедов.

Следующая задача занятия

Определение именованных наборов

См. также:

Вычисления
Вычисления в многомерных моделях
Создание вычисляемых элементов