Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Занятие 6.doc
Скачиваний:
1
Добавлен:
14.11.2018
Размер:
480.77 Кб
Скачать

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

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

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

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

    Копировать код

    /* Allocation of Sales Amount Quota to the 2005 Fiscal Semesters */

    SCOPE ( [Date].[Fiscal Semester].[Fiscal Semester].Members );

  2. Инструкция SCOPE является вложенной инструкцией инструкции SCOPE, поскольку между инструкцией SCOPE и предыдущей инструкцией SCOPE нет инструкции END SCOPE. При вложении инструкции SCOPE вложенная инструкция SCOPE наследует область родительской инструкции для атрибутов, область которых не изменяются. Предыдущая инструкция SCOPE не изменяет напрямую меру «Квота суммы продаж», иерархию «Сотрудники» или иерархию «Финансовое время». Она добавляет в определение вложенного куба все элементы атрибута «Финансовое полугодие» (с помощью функции Members). Теперь пространство куба включает все элементы на пересечении элемента «Сотрудник» и меры «Квота суммы продаж» каждого финансового полугодия финансового года 2005 (в данный момент этот финансовый год содержит всего одно полугодие).

  3. На панели Выражения вычислений введите следующую инструкцию на новой строке в конце сценария вычисления:

    Копировать код

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

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

  5. На панели Выражения вычислений введите следующую инструкцию на новой строке в конце сценария вычисления:

    Копировать код

    /* Allocation of Sales Amount Quota to the 2005 Fiscal Quarters */

    SCOPE ( [Date].[Fiscal Quarter].[Fiscal Quarter].Members );

  6. Инструкция SCOPE также является вложенной инструкцией инструкции SCOPE, поскольку между инструкцией SCOPE и предыдущей инструкцией SCOPE нет инструкции END SCOPE. Предыдущая инструкция SCOPE не изменяет напрямую меру «Квота суммы продаж», иерархию «Сотрудники» или иерархию «Финансовое время». Она добавляет в определение вложенного куба все элементы атрибута «Финансовый квартал» (с помощью функции Members). Пространство куба теперь включает все элементы на пересечении элемента «Сотрудник» и меры «Квота суммы продаж» по каждому финансовому кварталу финансового года 2005 (в данный момент финансовый год 2005 содержит всего один квартал).

  7. На панели Выражения вычислений введите следующую инструкцию на новой строке в конце сценария вычисления:

    Копировать код

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

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

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

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

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

  1. В области столбцов раскройте элемент H1 FY 2005.

Обратите внимание, что значения элемента Q1 FY 2005 еще не вычислялись.

  1. В области столбцов раскройте элемент Q1 FY 2005.

Обратите внимание, что двум месяцам первого квартала финансового года 2005 не присвоено значение, так как они пока не включены в область текущего вложенного куба (до тех пор, пока не выполнены последние две инструкции сценария). Измерение времени в кубе учебника по службам Analysis Services содержит только два первых месяца финансового года 2005. В связи с этим элемент Q2 FY 2005 отсутствует.

  1. Нажмите клавишу F10, чтобы выполнить последнюю инструкцию сценария вычисления, которая применит данное вычисление к текущему вложенному кубу.

Обратите внимание, что вычисляется значение элемента Q1 FY 2005, при этом значения элементов H1 FY 2005 и FY2005 вычисляются повторно (как результат статистической обработки их дочерних элементов), что показано на следующем рисунке. Кроме того, обратите внимание, что значение для каждого финансового месяца финансового года 2005 (июля и августа 2005-го года) не вычисляется. На следующем этапе будут присвоены соответствующие значения каждому из кварталов.

  1. В меню Отладка выберите команду Прекратить отладку (или нажмите клавиши Shift+F5).

  2. Удалите точку останова в сценарии вычисления.