Проверенные методики IBM Cognos: Использование функции periodsToDate в IBM Cognos 10 Report Studio для вычисления промежуточных сумм в OLAP

Продукт(ы): IBM Cognos 10. Область применения: отчетность

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

Группа Cognos Proven Practices Team, Cognos Proven Practices Team, IBM

Статья подготовлена группой Cognos Proven Practices Team



10.04.2013

Введение

Назначение

В этой статье описывается использование многомерной функции periodsToDate для вычисления промежуточной суммы в источниках данных при аналитической обработке в режиме реального времени (OLAP).

Применимость

Хотя приемы, рассматриваемые в этой статье, могут быть применимы также к версиям IBM Cognos 8.4 и IBM Cognos 8.4.1. данный документ проверен для следующей версии:

  • IBM Cognos 10.

Предостережения

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


Функция periodsToDate

Функция periodsToDate возвращает набор элементов с общим родителем, находящихся на том же уровне, что и данный элемент, в соответствии с ограничениями заданного уровня.

Она находит предка элемента (member) на уровне (level) и возвращает потомков этого предка, расположенных на том же уровне, что и указанный элемент, включая его самого.

Синтаксис:

periodsToDate ( level , member )

Пример:

periodsToDate([great_outdoors_company].[Years].[Years].[Year], [2004/Mar] )

результат: возвращает значение для [2004/Jan], [2004/Feb], [2004/Mar]

Функция periodsToDate обычно используется при работе с временем, но может использоваться и для вычисления промежуточной суммы OLAP.


Вычисление промежуточной суммы

Для данного примера в IBM Cognos Power Cube была создана несложная перекрестная таблица. Эта таблица содержит Outlet (торговые точки) по горизонтали и Cost (расходы) по вертикали. Значения Cost имеют денежный формат с двумя знаками после запятой. В IBM Cognos Viewer отчет выглядит следующим образом:

Рисунок 1. Простая перекрестная таблица с Outlet по горизонтали и Cost по вертикали в IBM Cognos Viewer
Рисунок 1. Простая перекрестная таблица с Outlet по горизонтали и Cost по вертикали в IBM Cognos Viewer

После столбца Cost вставляется вычисляемый столбец Running-Total. В этот вычисляемый столбец помещаются результаты следующего выражения:

total([Cost] within set
  periodsToDate([great_outdoors_company].[State].[State].[State],
  currentMember([great_outdoors_company].[State].[State])))

При выполнении этого отчета в IBM Cognos Viewer выводится перекрестная таблица со строками Outlet и столбцами Cost и Running-Total. В столбце Running-Total суммируются все значения столбца Cost до текущей строки Outlet. Это иллюстрирует следующий рисунок:

Рисунок 2. Исходная перекрестная таблица с вычисленными промежуточными суммами в IBM Cognos Viewer
Рисунок 2. Исходная перекрестная таблица с вычисленными промежуточными суммами в IBM Cognos Viewer

Анализ вычисления промежуточной суммы

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

currentMember([great_outdoors_company].[State].[State])

currentMember предоставляет контекст данной строки. В вольном переводе это означает "в каждой строке".

periodsToDate([great_outdoors_company].[State].[State].[State],
  currentMember([great_outdoors_company].[State].[State]))

Функция periodsToDate, объединенная с currentMember, дает в каждой строке кумулятивное множество. В данном случае в строке 1 это множество состоит из одного элемента [San Diego]. В строке 2 в это множество будут входить элементы [San Diego] и [San Jose].

total([Cost] within set 
  periodsToDate([great_outdoors_company].[State].[State].[State],
  currentMember([great_outdoors_company].[State].[State])))

Функция total внутри множества добавляет измерение для каждого кумулятивного множества. В данном примере для строки 1 total([Cost] будет вычисляться на множестве [San Diego]. В строке 2 добавляется новый элемент множества, и total[Cost] будет вычисляться множестве [San Diego],[San Jose].

Вычисление промежуточной суммы для иерархий предок-потомок

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

total([Cost] within set
  periodsToDate(levels([great_outdoors_company].[State].[State],0),
  currentMember([great_outdoors_company].[State].[State])))

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Information Management
ArticleID=863914
ArticleTitle=Проверенные методики IBM Cognos: Использование функции periodsToDate в IBM Cognos 10 Report Studio для вычисления промежуточных сумм в OLAP
publish-date=04102013