Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

10762

.pdf
Скачиваний:
0
Добавлен:
25.11.2023
Размер:
11.31 Mб
Скачать

Нажмите кнопку «Создать команду сценария» в области инструментов вкладки «Вычисления», а затем введите следующую инструкцию в области «Выражения вычислений» (Рисунок 452):

/* Defining the cube scope for the sales amount quotas for FY2005 */

SCOPE ()

Рисунок 452. Конструирование команды SCOPE для FY2005

Обратите внимание, что под последним выражением появится волнистая красная линия, которая указывает, что в скобках необходимо указать набор элементов для инструкции SCOPE. Затем добавьте меру «SalesAmountQuota» в инструкцию SCOPE, чтобы включить ее в область. На вкладке «Метаданные» области «Средства вычисления» раскройте элементы «Measures» и «Sales Amount Quota», затем перетащите элемент «Sales Amount Quota» в скобки инструкции SCOPE в области «Выражения вычислений» (Рисунок 453).

Рисунок 453. Добавление элемента «Sales Amount Quota» в инструкцию SCOPE

Обратите внимание, что красная волнистая линия исчезла. После этого необходимо добавить элемент измерения «FY 2005» в инструкцию SCOPE, чтобы внести этот элемент измерения времени в текущую область. На вкладке «Метаданные» области «Средства вычисления» раскройте измерение «Date», затем элементы «Fiscal Date», «Fiscal Year» и перетащите элемент «FY 2005» в инструкцию SCOPE в области «Выражения вычислений» сразу после элемента *Sales Amount Quota+ определяемого набора.

Обратите внимание на волнистую красную линию под частью *Date+ нового элемента набора. Эта линия указывает, что прямо перед этим элементом измерения имеется синтаксическая ошибка, так как в инструкции SCOPE все элементы набора должны отделяться запятыми. Добавьте необходимую запятую перед частью *Date+ элемента «FY 2005» в измерении «Date» (Рисунок 454).

Рисунок 454. Добавление элемента «FY2005» в инструкцию SCOPE

Обратите внимание, что красная волнистая линия исчезла. Затем из измерения «Employee» добавьте элементы пользовательской иерархии «Employees» в инструкцию SCOPE, чтобы добавить эти элементы в текущую область действия. На вкладке «Метаданные» области «Средства вычисления» раскройте измерение «Employee» и перетащите определяемую пользователем иерархию «Employees» в инструкцию SCOPE в области «Выражения вычислений» сразу после элемента *Date+.*Fiscal Date+.*Fiscal Year+.&*2005+ в определяемом наборе данных. Обратите внимание на волнистую красную линию под частью *Employee+ нового элемента набора, которая означает, что элементы инструкции SCOPE должны быть разделены запятыми. Поставьте нужную запятую перед частью *Employee+ нового элемента

(Рисунок 455).

Рисунок 455. Добавление пользовательской иерархии «Employees» в инструкцию SCOPE

Обратите внимание, что красная волнистая линия исчезла. В конце элемента *Employee+.*Employees+ этого набора в инструкции SCOPE добавьте следующее предложение, чтобы завершить определение третьего элемента набора:

.Members

Это предложение указывает, что в текущую область куба должны быть включены все элементы иерархии «Employees» измерения «Employee».

Убедитесь, что завершенная инструкция SCOPE соответствует следующему сценарию:

/* Defining the cube scope for the sales amount quotas for FY2005 */ SCOPE ([Measures].[Sales Amount Quota],

[Date].[Fiscal Date].[Fiscal Year].&[2005], [Employee].[Employees].Members)

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

На панели инструментов вкладки «Вычисления» нажмите кнопку «Представление сценария» и просмотрите последние добавленные команды (Рисунок 456).

Рисунок 456. Добавленные в представление сценария команды

Обратите внимание, что каждая команда сценария появляется в виде, введенном в области «Выражения вычислений», однако в конце ее стоит точка с запятой. Также обратите внимание, что службы SSAS вставили примечание перед каждой командой сценария, которое позволяет понять смысл отдельной команды.

Определение и проверка нового вычисления квоты продаж для финансового года

2005

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

В представлении «Сценарий» введите следующую инструкцию на новой строке в конце сценария вычисления:

* Applying a calculation to the subcube */

THIS = [Date].[Fiscal Date].[Fiscal Year].&[2004] * 1.25;

Инструкция THIS присваивает мере «Sales Amount Quota» новое значение на пересечении элементов «Employee» и «FY 2005» вложенного куба. Новое значение основано на значении, существующем на пересечении элемента «Employee» и меры «Sales Amount Quota» для финансового года 2004, умноженного на 1,25.

В области «Выражения вычислений» щелкните границу слева от инструкции THIS, чтобы задать точку останова (Рисунок 457).

Рисунок 457. Точка останова

Заметьте, что на этой границе появилась красная точка, а инструкция выделена красным цветом. При выполнении проекта в режиме отладки измененный проект будет развернут на экземпляре служб SSAS, куб будет обработан и сценарий вычисления будет выполнен до точки останова. Затем можно продолжить выполнение по шагам. Если не задать точку останова и выполнить проект в режиме отладки, то сценарий вычисления прервется на первой инструкции сценарии, то есть на инструкции

CALCULATE.

В меню «Отладка» выберите команду «Начать отладку». Также можно нажать клавишу F5. Проект будет развернут и обработан, а сценарий вычисления будет выполнен вплоть до точки останова (Рисунок 458).

Рисунок 458. Сценарий, выполненный до точки останова

Скрыв все закрепленные окна, можно освободить больше площади для просмотра области «Сводная таблица», отображаемой в нижней части вкладки» Вычисления». Область «Сводная таблица» помогает в отладке. В области «Сводная таблица» в раздел данных добавьте меру «Sales Amount Quota», в область столбцов добавьте определяемую пользователем иерархию «Fiscal Date», а затем в область строк — иерархию атрибута «Employee Name» из измерения «Employee». Выполните прокрутку до нижней части сводной таблицы и просмотрите сотрудников, для которых назначены квоты продаж

(Рисунок 459).

Рисунок 459. Сотрудники, для которых назначены квоты продаж

Обратите внимание, что в элементе «FY 2005» уровня «Fiscal Year» для меры «Sales Amount Quota» ни у одного сотрудника нет значения в области данных меры «Sales Amount Quota». По умолчанию в режиме отладки в области «Сводная таблица» отображаются пустые ячейки.

Нажмите клавишу F10, чтобы выполнить инструкцию THIS и вычислить квоты продаж для финансового года 2005 (Рисунок 460).

Рисунок 460. Квоты продаж для финансового года 2005

Обратите внимание, что теперь в области «Сводная таблица» вычислены ячейки на пересечении меры

«Sales Amount Quota», элемента измерения «FY 2005» и элемента «Employee Name». Заметьте также,

что ячейки, затронутые инструкцией THIS, выделены желтым цветом. Включить или отключить

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

В области «Сводная таблица» снимите флажки «FY 2002», «FY 2003» и «FY 2004», чтобы удалить эти элементы из области столбцов.

Щелкните правой кнопкой мыши в любом месте области данных и в контекстном меню выберите пункт «Показывать пустые ячейки», чтобы удалить флажок, поставленный для этого параметра, и скрыть

пустые ячейки (эта функция доступна также на панели инструментов вкладки «Вычисления» - ). Это упростит просмотр всех сотрудников, имеющих значения для квоты суммы продаж (Рисунок 461).

Рисунок 461. Сотрудники, имеющие значения для квоты суммы продаж

Попытайтесь развернуть узел «FY 2005» в разделе столбцов области «Сводная таблица». Обратите внимание, что раскрыть элемент «FY2005» не удается, так как значения элемента «H1 FY 2005» на пересечении меры «Sales Amount Quota» и иерархии атрибута «Employee Name» не были вычислены (поскольку они оказались вне текущей области).

Чтобы просмотреть пустые ячейки для значений элементов «H1 FY 2005», щелкните в любом месте области «Сводная таблица» и в контекстном меню выберите команду «Показывать пустые ячейки», чтобы показать все пустые ячейки.

В меню «Отладка» выберите команду «Остановить отладку» (или нажмите сочетание клавиш Shift-F5). Удалите точку останова в сценарии вычисления, щелкнув красную точку на левом поле.

Распределение квоты суммы продаж по полугодиям и кварталам финансового года

2005

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

В представлении «Сценарий» области «Выражения вычислений» введите следующую инструкцию в новой строке в конце сценария вычисления:

/* Allocation of Sales Amount Quota to the 2005 Fiscal Semesters */ SCOPE ( [Date].[Fiscal Semester].[Fiscal Semester].Members );

Эта инструкция SCOPE вложена в другую инструкцию SCOPE, поскольку инструкция END SCOPE расположена между данной инструкцией SCOPE и предыдущей инструкцией SCOPE. При вложении инструкции SCOPE вложенная инструкция SCOPE наследует область родительской инструкции для атрибутов, область которых не изменяется. Предыдущая инструкция SCOPE не изменяет меру «Sales Amount Quota», пользовательскую иерархию «Employees» или пользовательскую иерархию «Fiscal Date»

непосредственно. Она добавляет в определение вложенного куба все элементы иерархии атрибута «FiscalSemester» (с помощью функции Members). В результате выполнения вложенной инструкции SCOPE пространство куба будет включать все элементы на пересечении элемента «Employee» и меры «SalesAmountQuota» в любом финансовом полугодии 2005 финансового года. Обратите внимание, что в данный момент этот финансовый год содержит всего одно полугодие.

В области «Выражения вычислений» введите следующую инструкцию на новой строке в конце сценария вычисления:

THIS = [Date].[Fiscal Date].CurrentMember.Parent / 2;

Эта инструкция присваивает каждому финансовому полугодию в определенном пространстве куба значение, вычисленное для этого финансового квартала. Функция CurrentMember.Parent выделяет каждому элементу половину значения его родителя.

В области «Выражения вычислений» введите следующую инструкцию на новой строке в конце сценария вычисления:

/* Allocation of Sales Amount Quota to the 2005 Fiscal Quarters */ SCOPE ( [Date].[Fiscal Quarter].[Fiscal Quarter].Members );

Эта инструкция SCOPE также вложена в другую инструкцию SCOPE, поскольку инструкция END SCOPE расположена между данной инструкцией SCOPE и предыдущей инструкцией SCOPE. Предыдущая инструкция SCOPE не изменяет меру «Sales Amount Quota», пользовательскую иерархию «Employees» или пользовательскую иерархию «Fiscal Date» непосредственно. Она добавляет в определение вложенного куба каждый элемент иерархии атрибута «FiscalQuarter» (с помощью функции Members). В результате пространство куба включает все элементы на пересечении элемента «Employee» и меры «SalesAmountQuota» каждого финансового квартала 2005 финансового года (в данный момент этот финансовый год содержит всего один квартал).

В области «Выражения вычислений» введите следующую инструкцию на новой строке в конце сценария вычисления:

THIS = [Date].[Fiscal Date].CurrentMember.Parent / 2

Эта инструкция присваивает каждому финансовому кварталу в определенном пространстве куба значение, вычисленное для этого финансового квартала. Функция CurrentMember.Parent используется, чтобы присвоить каждому элементу половину значения его родителя.

На панели «Выражения вычислений» щелкните границу рядом с последней инструкцией SCOPE, чтобы установить точку останова, а затем нажмите клавишу F5 (Рисунок 462).

Рисунок 462. Точка останова

Сценарий вычисления будет выполнен до этой точки останова. Щелкните сначала правой кнопкой мыши в любом месте раздела данных области «Сводная таблица», а затем в контекстном меню выберите пункт «Показывать пустые ячейки», чтобы скрыть пустые ячейки (Рисунок 463).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]