get Oracle SmartView plugin

EssBase AntiPatern: Адресация внутри расчета

Продолжаю цикл АнтиПатерн, теперь поговорим о
Адресации внутри скрипта

Бизнес – требование :
Требуется один из показателей рассчитать нарастающим итогом, т.е. каждый следующий элемент должен содержать сумму предыдущих
Как можно сделать :
использовать функции @PRIOR (), @CURRMBRRANGE(“Analytics” ,LEV, 0, -1, -1)

Почему так делать не стоит:
Для того что бы посчитать текущее значение EssBAse должен выгрузить предыдущее, т.е. цикл расчета состоит из следующих этапов
1) получить текущее значение
2) получить предыдущее значение
3) посчитать
4) сохранить

Что делать:
использовать переменные Essbase, что бы цикл сократился до 3-х шагов.
например след. образом

var vAdditiveValue = 0;

Fix(@RELATIVE(Analytics,0))
Account1(
if (not @ISMBR(AnalyticsFirstMember) )
Account2=vAdditiveValue+ Account1;
vAdditiveValue= Account2;
else
vAdditiveValue= Account1; /* vAdditiveValue=0;*/
endif;
)
endfix

EssBase AntiPatern: Ввод значений на узловые элементы

Меня часто спрашивают и о том как лучше сделать то или иное функциональное требование в реализации EssBase (Planning). Конечно публикация лучших практик хороша для обучения, но лучший эффект будет нести разбор типичных ошибок: Итак, стартую цикл статей АнтиПатерн

Использование для ввода данных узловые элементы.
Continue reading “EssBase AntiPatern: Ввод значений на узловые элементы”