SlideShare a Scribd company logo
1
Стандарт оформления Rules в
Calculation Manager
Автор:
Шамаев Иван (ivan.shamaev@gmail.com) - ivan-shamaev.ru
Использовал материалы с сайта essbase.ru - Расюк Евгений
(er@essbase.ru)
2
Оглавление
Оглавление...................................................................................................................................................................2
Цель документа ...........................................................................................................................................................3
Введение ......................................................................................................................................................................3
Краткое описание объектов Calculation Manager .....................................................................................................3
Стили именования.......................................................................................................................................................5
Правила именования объектов Rules ........................................................................................................................5
Наименование Rules................................................................................................................................................5
Наименование переменных...................................................................................................................................5
Требования к объектам программирования в Calculation Manager .......................................................................6
Использование переменных запуска (Runtime-Prompt, RTP) в правилах расчета.............................................6
Требования к оформлению кода в Calculation Manager ..........................................................................................7
Требования к структуре кода бизнес-правил (Rules)............................................................................................7
Требования к форматированию текста программы.............................................................................................7
Перечисление элементов в разделе FIX................................................................................................................8
Порядок следования FIX блоков ............................................................................................................................8
Требования к версии...............................................................................................................................................9
Требования к комментариям .................................................................................................................................9
Рекомендации по разработке бизнес-правил ........................................................................................................10
Ключевые факторы хорошего кода (выжимка из вышеописанного)................................................................10
Шаблон бизнес-правила (BR07 0208.01: Бюджет ИТ - Расчет Итого. Шаблон) ................................................11
Общее построение бизнес-правила.................................................................................................................11
Содержание шаблона с настроечными параметрами расчета .....................................................................11
Содержание скрипта .........................................................................................................................................12
Заполнение свойств скрипта.............................................................................................................................12
Перенос бизнес-правила из EAS Console в Calculation Manager........................................................................12
Какие переменные можно использовать, а какие запрещено использовать..................................................13
Как используем Templates ....................................................................................................................................13
Приложение 1. «Краткое описание настроечных параметров» ...........................................................................14
1. Data Volume........................................................................................................................................................16
2. Data Handling ......................................................................................................................................................16
3. Memory usage.....................................................................................................................................................17
4. Threading.............................................................................................................................................................17
5. Logging.................................................................................................................................................................17
3
Цель документа
Документ является соглашением по оформлению и написанию Rules в Hyperion Calculation Manager.
В документе приведены основные правила оформления кода.
Цели документа:
 Предоставить краткое описание существующих объектов в Calculation Manager;
 Предоставить общие правила, позволяющие сохранить единый стиль написания кода,
облегчив тем самым его понимание всеми участниками команды;
 Ввести базовые правила написания кода, что позволит повысить предсказуемость
выполнения кода, а также избежать ошибок при написании кода новыми участниками
команды, не знакомыми с внутренними стандартами разработки.
Введение
Для разработки бизнес правил должен использоваться Calculation Manager. Все правила создаются
путем набора локальных скриптов и шаблонов. Все алгоритмы, которые используется в коде более одного
раза, должны быть определены в шаблонах (например, агрегация). Далее требования одинаковы как для
шаблонов и локальных скриптов, так и для бизнес-правил.
Краткое описание объектов Calculation Manager
 Substitution variable - Эти объекты и значения переменных хранятся на сервере EssBase и
применяются для управления процессом расчета. В этой переменной можно сохранить текстовые
значения длиною до 255 символов. Эти сущности являются основными для управления процессом
бюджетного контроля и расчета.
 Rules (бизнес-правила) – расчеты, реализованные в системе на специальном языке. Как правило,
бизнес-правила прикрепляются к формам ввода и могут запускаться автоматически при
определенных действиях пользователей (открытии или сохранении данных в форме ввода).
 RuleSets (набор бизнес-правил) – совокупность бизнес-правил, которые вместе составляют единый
расчетный процесс. RuleSet запускает последовательно или одновременно бизнес-правила в
зависимости от логики расчета.
 User Variables – Пользовательская переменная, создается администратором (администратор
ассоциирует пользовательскую переменную с измерением Hyperion Planning) и используется в
формах данных. Значения переменной задаются пользователем при входе в приложение Hyperion
Planning. Тем самым пользователь определяет контекст, в разрезе которого ему необходимо
отображать информацию на формах, в которых используется эта пользовательская переменная.
Например, в форме данных в строках выводятся бизнес-юниты, которые пользователь задает через
пользовательскую переменную.
При запуске бизнес-правил можно передавать значения пользовательской переменной в бизнес-
правило, если только стоит настройка «use members on form» и пользовательская переменная
находится в POV или Page формы данных.
 Formula - определенный набор логики бизнес-правила или синтаксис, который может
использоваться в нескольких бизнес-правилах. Когда требуется обновить логику, требуется внести
изменение только в формулу (локализация изменений) и обновление фактически будет внесено в
каждое из правил. Формула состоит из набора расчетных операторов (calculation statements),
которые пользователи могут написать или спроектировать, используя members, functions и,
опционально, условные операторы (conditional statements).
4
 Script – состоит из набора автономных расчетных операторов или функций (calc command/functions
statements).
 Templates - это набор предопределенных стандартных расчетов (например, Clear data, Copy Data,
Essbase commands, Amount= Rate*Unit, Aggregate, Allocate). Выделяются системные шаблоны и
шаблоны, которые определены пользователями (custom templates).
Вы можете включать системные и определенные пользователями шаблоны в бизнес-правила,
перетащив их в редакторе бизнес-правила из соответствующих разделов. В качестве компонентов
бизнес-правил, шаблон содержит ряд шагов, в которые вводятся параметры.
 Execution variable – это переменная VAR или ARRAY типа. В текущем проекте запрещается
использовать данные переменные.
 Replacement Variable – переменная, которая задается через Variable Designer. Для изменения
значения переменной необходимо зайти в Variable Designer и внести изменения.
Доступные типы для Replacement Variable в Calculation Manager:
 Numeric;
 Integer;
 String;
 Essbase;
 Cross Dimension;
 Dimension;
 Member;
 Members;
 Percent;
 StringAsNumber;
 DateAsNumber;
 Member Range
 RunTime Promt (RTPs) – это replacement variable, у которой в настройке стоит галочка у пункта RTP.
При запуске правила необходимо подтвердить значение переменной по умолчанию, либо ввести
другое значение.
Иллюстрация взаимосвязей между компонентами Calculation Manager:
5
Стили именования
 Camel case (UpperCamelCase): первая буква первого слова в идентификаторе в верхнем регистре,
все первые буквы последующих слов также начинаются в верхнем регистре.
Пример: DepartmentFrom;
 Camel case (lowerCamelCase): первая буква первого слова в идентификаторе в нижнем регистре, все
первые буквы последующих слов – в верхнем.
Пример: переменная vSaleBusinessUnits;
Правила именования объектов Rules
Наименование Rules
Имя правила не может превышать 50 символов. Наименование бизнес-правила состоит из
следующих частей:
<Префикс объекта Calculation Manager> + <Номер приложения> + ПРОБЕЛ + <Номер папки> + “.” +
<Порядковый номер объекта> + <Краткое описание объекта>
BR07 0208.01: Бюджет ИТ – CAPEX
BR07 0208.02: Бюджет ИТ – OPEX
BR07 0208.03: Бюджет ИТ – AGGR TOTAL
TM07 0208.01: Шаблон алгоритма расчета OPEX
Номер папки – номер папки с формами данных.
Префикс объекта – это краткое обозначение объекта для упрощенной идентификации принадлежности
объекта к той или иной функциональной группе Calculation Manager.
Если объект не относится к какой-либо папке, то используем нули, например:
TM07 0000.01 – Общие параметры расчета
Префиксы объектов Calculation Manager:
 BR – бизнес-правила (rules);
 TM – Шаблоны (Templates);
 FR – Формулы (Formulas);
 SC – Скрипты (Scripts);
 RS – Наборы правил (Rule Sets).
Наименование переменных
Для имен переменных используется стиль Camel case (lowerCamelCase), при этом первым символом
является префикс “v”. В имени переменной не должно быть символов и кириллицы. Пример:
vSaleBusinessUnits.
6
Требования к объектам программирования в Calculation
Manager
Для разработки бизнес правил должен использоваться Calculation Manager. Все правила создаются
путем набора локальных скриптов и шаблонов. Все алгоритмы, которые используются в коде более одного
раза, должны быть определены в шаблонах или скриптах (например, агрегация). Далее требования
одинаковы как для шаблонов и локальных скриптов, так и для бизнес-правил.
Использование переменных запуска (Runtime-Prompt, RTP) в правилах расчета
Создан единый набор переменных Runtime-Prompt для каждого измерения:
Допускается использование только перечисленных RTP переменных. В случае острой
необходимости добавления новой переменной, Вы обязаны согласовать требуемое изменение с
участниками команды.
С целью унификации использования переменных RTP, в случае интеграции с внешними скриптами,
переменные продублированы в EAS Console (как Essbase Substitution Variables):
7
Управление Substitution Variables для внешних скриптов осуществляется в интеграционном скрипте
MXL:
Требования к оформлению кода в Calculation Manager
Требования к структуре кода бизнес-правил (Rules)
Код программы должен состоять из следующих частей:
1. «Шапка» бизнес-правила, в которой указывается следующая информация:
 Имя правила, дата создания, версия правила, кто создал правило;
 Краткое функциональное описание бизнес-правила, производимых действий над данными
(например, Скрипт рассчитывает бюджет ИТ, считаются такие-то показатели по таким-то
бизнес-юнитам, для того-то и того-то производится аллокация доходов или расходов);
 Перечисление форм с входными параметрами, входящие данные для расчета (т.е. даем
краткое описание источников данных для расчета с указанием ключевых элементов среза) и
результирующие данные (рассчитываемый срез данных). При использовании виртуальных
иерархий на единичках необходимо описать, что в данном скрипте задействована
виртуальная иерархия. Данные хранятся в тех блоках, где на пересечении двух измерений
бизнес-юнитов по такой-то статье загружены единички.
 История изменений (должна включать в себя автора изменений, версию, краткое описание
изменений). Также в тексте правила, в комментариях к отдельным частям расчета,
необходимо давать расшифровки по внесенным изменениям;
2. Настроечные параметры бизнес-правила для запуска расчета (более подробная информация по
настроечным параметрам - https://docs.oracle.com/cloud/latest/financialscs_gs/FATCR.pdf). В
каждом скрипте используем шаблон «TM07 0000.01 Общие параметры расчета» (порядок
использования шаблона описан в пункте «Общее построение бизнес-правила» документа).
Шаблон состоит из следующих настроечных параметров (сами настройки с течением времени
могут претерпевать изменения):
 SET MSG SUMMARY;
 SET UPDATECALC OFF;
 SET AGGMISSG ON;
 SET EMPTYMEMBERSETS ON;
 SET FRMLBOTTOMUP ON;
 SET CREATEBLOCKONEQ OFF;
 SET CACHE ALL;
 SET CACHE HIGH;
 SET LOCKBLOCK HIGH;
 SET CALCPARALLEL 4;
 SET CALCTASKDIMS 2;
3. Код бизнес-правила.
Требования к форматированию текста программы
Для повышения читаемости бизнес-правил необходимо придерживаться следующих рекомендаций:
 Каждый настроечный параметр расчета необходимо снабжать комментарием, что
регулирует данная настройка;
 Отображать вложенные FIX с отступом в табуляцию;
 В условиях FIX элементы каждого направления располагать на отдельных строчках;
8
 Снабжать элементы, из имени которых не понятно, что они означают, комментариями с его
алиасом или описанием;
 Внутри FIX расчеты тоже отображать с отступом;
 Каждый элемент расчета писать на новой строчке и начинать с унарного оператора;
 Снабжать каждый элемент расчета комментарием с его алиасом или описанием;
 Обязательно помечать, если расчет базируется на блоках, которые были созданы в других
скриптах, в каком скрипте, зачем, как и почему это было сделано.
Перечисление элементов в разделе FIX
Конструкции вида FIX…ENDFIX, IF…ENDIF используются для ограничения или фильтрации среза
данных в расчетах. Если требуется выполнить расчет по набору элементов, то нужно стремится выражать
срез расчета через функции, возвращающие список элементов (например, @RELATIVE("YearTotal",0)).
При использовании в FIX конструкций сравнения вида:
"Member(member list/range) AND Variable/Member(member list/range)"
или функций типа
@REMOVE(Member(member list), Member(member list))
Их необходимо выделять в отдельный FIX (несмотря на требование выше) и использовать команду
SET EMPTYMEMBERSETS ON перед этим FIX или вначале бизнес-правила (rule). Несоблюдение этих
требований может привести к некорректному определению среза и увеличению времени расчетов.
Вложенные FIX по одному измерению приводит к объединению срезов описанных в каждом, а не к
их пересечению.
Порядок следования FIX блоков
Первая строчка указывает параметры запуска расчета, передаваемые по стандартным измерениям
(год, версия, сценарий). Вторая перечисляет все пользовательские измерения, причем те измерения,
которые нужны для расчета в детализации, так же здесь указываются, их нужно ставить в комментариях.
Затем происходит раскрытие детальных аналитик.
9
Перед основным телом расчета всегда должен быть раздел с зачисткой исходных данных.
Требования к версии
Переменная vVersionCalc в каждом бизнес-правиле должна проходить проверку на принадлежность
к ветке «VER_CALC», которая находится в измерении версий:
Требования к комментариям
Комментарии должны содержать только функциональное описание текущего расчета.
Закомментированный код нужно удалять.
Обязательно заполняются все Description поля у всех объектов Calculation Manager.
Запрещается комментирование на английском языке, необходимо все описывать на русском языке.
Нельзя использовать жаргонные слова в комментариях, сокращения также не допустимы. Стараться
использовать общепринятую в рамках проекта терминологию. Это необходимо для аудита качества
информации аналитиками и облегчения передачи скриптов другому разработчику.
Если используется специфический метод расчета, у которого есть наименование, то необходимо в
комментариях указать это наименование. Плюс кратко описать суть методики расчета.
10
Рекомендации по разработке бизнес-правил
Ключевые факторы хорошего кода (выжимка из вышеописанного)
Диаграмма MindMap, представленная ниже, содержит основные пункты, которых необходимо
придерживаться для написания качественного кода:
11
Шаблон бизнес-правила (BR07 0208.01: Бюджет ИТ - Расчет Итого. Шаблон)
Общее построение бизнес-правила
Построение бизнес-правила сводится к следующим шагам:
1. Перетаскиваем шаблон со стандартными настроечными параметрами в бизнес-правило
(шаблон хранится в кубе D02FUNCB);
2. Перетаскиваем из New Object «Script» в бизнес-правило;
3. Заполняем в скрипте Properties (это шапка скрипта);
4. Пишем код в скрипте на вкладке Script.
Желательная структура скрипта:
Содержание шаблона с настроечными параметрами расчета
Шаблон с настроечными параметрами является общим для всех бизнес-правил. При необходимости
настроечные параметры переопределяются в скрипте расчета.
12
Содержание скрипта
Пример заполнения скрипта по стандарту оформления. Комментарии, которые относятся к коду,
заполняются в объекте Script.
Заполнение свойств скрипта
Шапка скрипта заполняется в поле Description. Входные данные и история изменений хранятся в
поле Comments.
Перенос бизнес-правила из EAS Console в Calculation Manager
Чтобы не терять графический интерфейс разработки бизнес-правил, необходимо текст бизнес-
правила, которое вручную переносится из EAS Console в Calculation Manager, вводить в объект Script.
Последовательность действий:
1. Создаем бизнес-правило.
2. Переносим шаблон с настроечными параметрами расчета в бизнес-правило.
3. Переносим в режиме Designer из New Object элемент Script в бизнес-правило.
4. Вставляем в скрипт подготовленный код бизнес-правила (переопределяем настроечные
параметры расчета, если это необходимо).
5. Заполняем в Properties поля.
6. Код бизнес-правила можно разрабатывать «вручную» без других элементов из New Object.
13
Какие переменные можно использовать, а какие запрещено использовать
1. EXECUTION VARIABLE запрещено использовать, т.к. могут возникнуть те или иные проблемы с
производительностью.
2. Используем только Replacement Variables и substitution variable.
Как используем Templates
Создаем Templates и в коде бизнес-правила прописываем строчку с параметрами:
%Template(
name:="D02FUNCB Норматив=средний по юниту"
,application:="D07FUNC"
,plantype:="D02FUNCB"
,dtps:=()
)
Иллюстрация использования Templates в Rules:
14
Приложение 1. «Краткое описание настроечных параметров»
Настройка Обязательность
использования
Краткое описание
SET AGGMISSG Используем SET AGGMISSG specifies whether Analytic
Services consolidates #MISSING values in
the database. The default behavior of SET
AGGMISSG is determined by the global
setting for the database.
SET CACHE Используем SET CACHE specifies the size of the calculator
cache.
SET CALCTASKDIMS Используем SET CALCTASKDIMS specifies how many of
the sparse dimensions in an outline are used
to identify potential tasks that can be run in
parallel.
SET CALCHASHTBL Не используем Не используется (настройка устарела).
SET CALCPARALLEL Используем SET CALCPARALLEL enables Analytic Services
to use parallel calculation. Analytic Services
analyzes each pass of a calculation to
determine whether parallel calculation is
possible. If it is not, Analytic Services uses
serial calculation even if CALCPARALLEL is
set.
SET CLEARUPDATESTATUS Опционально SET CLEARUPDATESTATUS specifies when
Analytic Services marks data blocks as clean.
SET DATAEXPORTOPTIONS Опционально Each SET DATAEXPORTOPTIONS command
specifies a set of option values that are in
place until the next SET
DATAEXPORTOPTIONS command is
encountered. At that time, option values are
reset to default, and newly specified option
values are set.
SET EMPTYMEMBERSETS Используем If EMPTYMEMBERSETS is ON, and a FIX
command evaluates to a empty member set,
the calculation within the FIX command
stops and the following information message
is displayed: "FIX statement evaluates to an
empty set. Please refer to SET
EMPTYMEMBERSETS command." The
calculation resumes after the FIX command.
If a calculation script contains nested FIX
commands, the nested FIX commands are
not evaluated.
SET COPYMISSINGBLOCK Опционально SET COPYMISSINGBLOCK allows DATACOPY
to avoid creating #MISSING blocks during the
copy of data from a dense dimension.
SET CREATEBLOCKONEQ Используем If calculations result in a value for a sparse
dimension member for which no block exists,
Analytic Services creates a new block.
Sometimes, the new blocks are not desired;
for example, when they contain no other
values. In large databases, creation and
15
processing of unneeded blocks can increase
processing time as well as the storage
requirement for a database.
SET CREATENONMISSINGBLK Controls whether or not potential blocks are
created in memory for calculation purposes
and whether or not #MISSING blocks are
stored. The SET CREATENONMISSINGBLK
command affects the results of calculations
on both sparse and dense dimensions.
SET FRMLBOTTOMUP Используем Optimizes the calculation of complex
formulas on sparse dimensions in large
database outlines. This command tells
Analytic Services to perform a bottom-up
calculation on formulas that would
otherwise require a top-down calculation.
SET LOCKBLOCK Используем Specifies the maximum number of blocks
that Analytic Services can get addressability
to concurrently when calculating a sparse
member formula. You can choose one of
three levels. The number of blocks that
Analytic Services can get addressability to at
each level is defined using the
CALCLOCKBLOCK setting in the
essbase.cfg file.
SET MSG Используем Sets the level of messaging you want
returned about calculations, and enables
simulated calculations.
SET NOTICE Опционально This setting provides completion notices at
intervals during the calculation. The number
of notices depends on the level you specify.
SET UPDATECALC Используем SET UPDATECALC turns intelligent calculation
on or off. Using intelligent calculation,
Analytic Services calculates only dirty blocks,
such as updated data blocks and their
dependent parents.
SET UPTOLOCAL Опционально Restricts consolidations to those parents
with the same defined currency. The default
is OFF.
SET DATAIMPORTIGNORETIMESTAMP Опционально Specifies whether to ignore the outline
timestamp captured at the time the data was
exported. The DATAEXPORT "Binfile"
command captures the outline timestamp
when it creates a binary export file. By
default, when the file is imported, Essbase
checks the import file timestamp against the
existing outine timestamp to ensure the
correct import file is read. You can use SET
DATAIMPORTIGNORETIMESTAMP to bypass
checking the timestamp. Caution: Bypassing
the check enables potentially importing the
wrong file.
SET CCTRACKCALC Опционально Specifies whether Analytic Services checks
the flags set by the CCTRACK setting to
16
determine if the currency data has already
been converted. By default CCTRACK is
turned on. Analytic Services tracks which
currency partitions have been converted and
which have not. The tracking is done at the
currency partition level: a database with two
partitions would have two flags that could be
either "converted" or "unconverted."
Analytic Services does not store a flag for
member combinations within a partition.
SET FRMLRTDYNAMIC Опционально Enables you to turn off calculation of all
dense Dynamic Calc members during batch
calculation if runtime dependent functions
are included in formulas on stored members.
This command improves batch calculation
performance by removing the overhead of
calculating all Dynamic Calc members.
SET REMOTECALC Опционально For applications with transparent partitions,
turns remote calculation to the source on or
off. When you are working with transparent
partitions and are sure that a calculation
script does not include remote values in the
calculations, you can use SET REMOTECALC
OFF to improve calculation performance.
SET RUNTIMESUBVARS Опционально Declares runtime substitution variables that
are used in a calculation script.
Every runtime substitution variable used in a
calculation script must be declared in the SET
RUNTIMESUBVARS command. The name of a
runtime substitution variable is required.
Specifying a default value for the runtime
substitution variable is optional. Also
optional is a description of the runtime
substitution variable's data type and data
input limit, which is a string in the
<RTSV_HINT>rtsv_description</RTSV_HINT>
tag.
1. Data Volume
(UPDATECALC) Specify whether to calculate only dirty blocks, such as updated data blocks and their dependent
parents, or all data blocksDefault
(CLEARUPDATES) Specify when data blocks are marked as cleanDefault
(EMPTYMEMBERSETS) Specify whether to stop the calculation within a FIX command if the FIX evaluates to an
empty member setDefault
(FRMLBOTTOMUP) Specify whether to optimize the calculation of complex formulas on sparse dimensions in large
database outlinesDefault
2. Data Handling
(AGGMISSING) Specify whether to consolidate #MISSING values in the databaseDefault
(CLEARBLOCKONEQ) Specify, within a calculation script, whether new blocks are created when a calculation
formula assigns anything other than a constant to a member of a sparse dimensionDefault
17
(CREATEONMISSINGBLOCK) Specify whether potential blocks are created in memory for calculation purposes and
whether #MISSING blocks are storedDefault
(FRMLRTDYNAMIC) Specify whether to turn off calculation of all dense dynamic calc members during batch
calculation if runtime dependent functions are included in formulas on stored members. (This command improves
batch calculation performance by removing the overhead of calculating all dynamic calc members.)Default
(REMOTECALC) Specify whether to turn remote calculation to the source on or off for applications with
transparent partitionsDefault
3. Memory usage
(CALC CACHE) Specify the size of the calculator cacheNo changes (Use System default)
(LOCKBLOCK) Specify the maximum number of blocks to get addressability to concurrently when calculating a
sparse member formulaNo changes (use system default)
4. Threading
(CALC PARALLEL) Specify whether to enable parallel calculation or serial calculation (the default)Default
(CALCTASKDIM) Specify the number of sparse dimensions included in the identification of tasks for parallel
calculation
5. Logging
(MSG) Specify the level of messaging you want returned about calculations. (This option enables simulated
calculations.)Default
(NOTICE) Specify the intervals to receive completion notices about the progress of the calculationNo changes (Use
default)

More Related Content

What's hot

Классификаторы
КлассификаторыКлассификаторы
Классификаторы
Anatoly Kazakov
 
2012 04 05_моделирование бизнес-процессов
2012 04 05_моделирование бизнес-процессов2012 04 05_моделирование бизнес-процессов
2012 04 05_моделирование бизнес-процессовReshetnikov Alexander
 
База знаний службы техподдержки
База знаний службы техподдержкиБаза знаний службы техподдержки
База знаний службы техподдержки
Sergey Gorshkov
 
тема 6
тема 6тема 6
тема 6asheg
 
целевая архитектура энергофорсайт
целевая архитектура энергофорсайтцелевая архитектура энергофорсайт
целевая архитектура энергофорсайтRnD_SM
 
отчет об обследовании объекта автоматизации
отчет об обследовании объекта автоматизацииотчет об обследовании объекта автоматизации
отчет об обследовании объекта автоматизации
Natalia Zhelnova
 
концепция программы 1сконсолидация эффективная технология внедрения
концепция программы 1сконсолидация эффективная технология внедренияконцепция программы 1сконсолидация эффективная технология внедрения
концепция программы 1сконсолидация эффективная технология внедренияExpolink
 
тема 6 2
тема 6 2тема 6 2
тема 6 2asheg
 
Логическая витрина для доступа к большим данным
Логическая витрина для доступа к большим даннымЛогическая витрина для доступа к большим данным
Логическая витрина для доступа к большим данным
Sergey Gorshkov
 
Ddd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkovDdd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkov
Maxim Tsepkov
 
Balanced_budget_for_UPP
Balanced_budget_for_UPPBalanced_budget_for_UPP
Balanced_budget_for_UPP
Kozloff_I
 
Бизнес весна 2014 лекция 1
Бизнес весна 2014 лекция 1Бизнес весна 2014 лекция 1
Бизнес весна 2014 лекция 1Technopark
 
Бизнес весна 2014 лекция 2
Бизнес весна 2014 лекция 2Бизнес весна 2014 лекция 2
Бизнес весна 2014 лекция 2Technopark
 
Лекция на тему "Разработка технического задания"
Лекция на тему "Разработка технического задания"Лекция на тему "Разработка технического задания"
Лекция на тему "Разработка технического задания"olalapim10
 
ИТ: архитектура и стратегия предприятия
ИТ: архитектура и стратегия предприятияИТ: архитектура и стратегия предприятия
ИТ: архитектура и стратегия предприятияYury Kupriyanov
 
Qlikview комплексное аналитическое retail решение v5- для сайта
Qlikview   комплексное аналитическое retail решение v5- для сайтаQlikview   комплексное аналитическое retail решение v5- для сайта
Qlikview комплексное аналитическое retail решение v5- для сайта
Геннадий Красношлык
 
Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Technopark
 
Система управления архитектурой предприятия
Система управления архитектурой предприятияСистема управления архитектурой предприятия
Система управления архитектурой предприятия
SQALab
 
Процессы управления ИТ-архитектурой организации
 Процессы управления ИТ-архитектурой организации Процессы управления ИТ-архитектурой организации
Процессы управления ИТ-архитектурой организации
Alexander Tsimbalistov
 

What's hot (20)

Классификаторы
КлассификаторыКлассификаторы
Классификаторы
 
2012 04 05_моделирование бизнес-процессов
2012 04 05_моделирование бизнес-процессов2012 04 05_моделирование бизнес-процессов
2012 04 05_моделирование бизнес-процессов
 
База знаний службы техподдержки
База знаний службы техподдержкиБаза знаний службы техподдержки
База знаний службы техподдержки
 
тема 6
тема 6тема 6
тема 6
 
целевая архитектура энергофорсайт
целевая архитектура энергофорсайтцелевая архитектура энергофорсайт
целевая архитектура энергофорсайт
 
отчет об обследовании объекта автоматизации
отчет об обследовании объекта автоматизацииотчет об обследовании объекта автоматизации
отчет об обследовании объекта автоматизации
 
концепция программы 1сконсолидация эффективная технология внедрения
концепция программы 1сконсолидация эффективная технология внедренияконцепция программы 1сконсолидация эффективная технология внедрения
концепция программы 1сконсолидация эффективная технология внедрения
 
Бизнес-процессы
Бизнес-процессыБизнес-процессы
Бизнес-процессы
 
тема 6 2
тема 6 2тема 6 2
тема 6 2
 
Логическая витрина для доступа к большим данным
Логическая витрина для доступа к большим даннымЛогическая витрина для доступа к большим данным
Логическая витрина для доступа к большим данным
 
Ddd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkovDdd happy dev-2013-tsepkov
Ddd happy dev-2013-tsepkov
 
Balanced_budget_for_UPP
Balanced_budget_for_UPPBalanced_budget_for_UPP
Balanced_budget_for_UPP
 
Бизнес весна 2014 лекция 1
Бизнес весна 2014 лекция 1Бизнес весна 2014 лекция 1
Бизнес весна 2014 лекция 1
 
Бизнес весна 2014 лекция 2
Бизнес весна 2014 лекция 2Бизнес весна 2014 лекция 2
Бизнес весна 2014 лекция 2
 
Лекция на тему "Разработка технического задания"
Лекция на тему "Разработка технического задания"Лекция на тему "Разработка технического задания"
Лекция на тему "Разработка технического задания"
 
ИТ: архитектура и стратегия предприятия
ИТ: архитектура и стратегия предприятияИТ: архитектура и стратегия предприятия
ИТ: архитектура и стратегия предприятия
 
Qlikview комплексное аналитическое retail решение v5- для сайта
Qlikview   комплексное аналитическое retail решение v5- для сайтаQlikview   комплексное аналитическое retail решение v5- для сайта
Qlikview комплексное аналитическое retail решение v5- для сайта
 
Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3Бизнес весна 2014 лекция 3
Бизнес весна 2014 лекция 3
 
Система управления архитектурой предприятия
Система управления архитектурой предприятияСистема управления архитектурой предприятия
Система управления архитектурой предприятия
 
Процессы управления ИТ-архитектурой организации
 Процессы управления ИТ-архитектурой организации Процессы управления ИТ-архитектурой организации
Процессы управления ИТ-архитектурой организации
 

Viewers also liked

ТРИЗ. Применение в бизнес-анализе
ТРИЗ. Применение в бизнес-анализеТРИЗ. Применение в бизнес-анализе
ТРИЗ. Применение в бизнес-анализе
Андрей Курьян
 
Глава 9 методы и техники бизнес-анализа (babok 2.0 на русском скачать)
Глава 9 методы и техники бизнес-анализа (babok 2.0 на русском скачать)Глава 9 методы и техники бизнес-анализа (babok 2.0 на русском скачать)
Глава 9 методы и техники бизнес-анализа (babok 2.0 на русском скачать)
Ivan Shamaev
 
Контрольный список для проверки требований
Контрольный список для проверки требованийКонтрольный список для проверки требований
Контрольный список для проверки требований
Ivan Shamaev
 
Управление требованиями
Управление требованиямиУправление требованиями
Управление требованиями
Ivan Shamaev
 
Babok v2.0 перевод на русский язык свод знаний по бизнес анализу
Babok v2.0 перевод на русский язык свод знаний по бизнес анализуBabok v2.0 перевод на русский язык свод знаний по бизнес анализу
Babok v2.0 перевод на русский язык свод знаний по бизнес анализу
Ivan Shamaev
 
Введение в моделирование бизнес процессов
Введение в моделирование бизнес процессовВведение в моделирование бизнес процессов
Введение в моделирование бизнес процессов
Natalia Zhelnova
 
васильев г.л., полякова в.а. рекламный маркетинг учебное пособие - 2008
васильев г.л., полякова в.а.   рекламный маркетинг учебное пособие - 2008васильев г.л., полякова в.а.   рекламный маркетинг учебное пособие - 2008
васильев г.л., полякова в.а. рекламный маркетинг учебное пособие - 2008
Ivan Shamaev
 
эффективность деятельности фирмы (Ivan shamaev.ru)
эффективность деятельности фирмы (Ivan shamaev.ru)эффективность деятельности фирмы (Ivan shamaev.ru)
эффективность деятельности фирмы (Ivan shamaev.ru)
Ivan Shamaev
 
показатели финансового ананализаhttp://ivan-shamaev.ru – Блог аналитика разра...
показатели финансового ананализаhttp://ivan-shamaev.ru – Блог аналитика разра...показатели финансового ананализаhttp://ivan-shamaev.ru – Блог аналитика разра...
показатели финансового ананализаhttp://ivan-shamaev.ru – Блог аналитика разра...
Ivan Shamaev
 
Практические вопросы и ответы по Qlikview - часть 1
Практические вопросы и ответы по Qlikview - часть 1Практические вопросы и ответы по Qlikview - часть 1
Практические вопросы и ответы по Qlikview - часть 1
Ivan Shamaev
 
Основные принципы бюджетирования
Основные принципы бюджетированияОсновные принципы бюджетирования
Основные принципы бюджетирования
Ivan Shamaev
 
How to analyze profitability
How to analyze profitabilityHow to analyze profitability
How to analyze profitability
Ivan Shamaev
 
Полезные навыки аналитиков - как стать профессионалом
Полезные навыки аналитиков - как стать профессионаломПолезные навыки аналитиков - как стать профессионалом
Полезные навыки аналитиков - как стать профессионалом
SQALab
 
05 задачи эксперта в работе аналитика
05 задачи эксперта в работе аналитика05 задачи эксперта в работе аналитика
05 задачи эксперта в работе аналитика
Natalya Sveshnikova
 
Activity based management (theory)
Activity based management (theory)Activity based management (theory)
Activity based management (theory)
Ivan Shamaev
 
Hyperion Planning / Workspace / Essbase Part 5 - Hyperion Planning
Hyperion Planning / Workspace / Essbase Part 5 - Hyperion PlanningHyperion Planning / Workspace / Essbase Part 5 - Hyperion Planning
Hyperion Planning / Workspace / Essbase Part 5 - Hyperion Planning
guestffe3111
 
ATK QlikView: NPrinting для быстрого создания и рассылки отчетов
ATK QlikView: NPrinting для быстрого создания и рассылки отчетовATK QlikView: NPrinting для быстрого создания и рассылки отчетов
ATK QlikView: NPrinting для быстрого создания и рассылки отчетов
Marina Payvina
 

Viewers also liked (20)

ТРИЗ. Применение в бизнес-анализе
ТРИЗ. Применение в бизнес-анализеТРИЗ. Применение в бизнес-анализе
ТРИЗ. Применение в бизнес-анализе
 
Глава 9 методы и техники бизнес-анализа (babok 2.0 на русском скачать)
Глава 9 методы и техники бизнес-анализа (babok 2.0 на русском скачать)Глава 9 методы и техники бизнес-анализа (babok 2.0 на русском скачать)
Глава 9 методы и техники бизнес-анализа (babok 2.0 на русском скачать)
 
Контрольный список для проверки требований
Контрольный список для проверки требованийКонтрольный список для проверки требований
Контрольный список для проверки требований
 
Управление требованиями
Управление требованиямиУправление требованиями
Управление требованиями
 
Babok v2.0 перевод на русский язык свод знаний по бизнес анализу
Babok v2.0 перевод на русский язык свод знаний по бизнес анализуBabok v2.0 перевод на русский язык свод знаний по бизнес анализу
Babok v2.0 перевод на русский язык свод знаний по бизнес анализу
 
Введение в моделирование бизнес процессов
Введение в моделирование бизнес процессовВведение в моделирование бизнес процессов
Введение в моделирование бизнес процессов
 
васильев г.л., полякова в.а. рекламный маркетинг учебное пособие - 2008
васильев г.л., полякова в.а.   рекламный маркетинг учебное пособие - 2008васильев г.л., полякова в.а.   рекламный маркетинг учебное пособие - 2008
васильев г.л., полякова в.а. рекламный маркетинг учебное пособие - 2008
 
эффективность деятельности фирмы (Ivan shamaev.ru)
эффективность деятельности фирмы (Ivan shamaev.ru)эффективность деятельности фирмы (Ivan shamaev.ru)
эффективность деятельности фирмы (Ivan shamaev.ru)
 
Time driven
Time drivenTime driven
Time driven
 
показатели финансового ананализаhttp://ivan-shamaev.ru – Блог аналитика разра...
показатели финансового ананализаhttp://ivan-shamaev.ru – Блог аналитика разра...показатели финансового ананализаhttp://ivan-shamaev.ru – Блог аналитика разра...
показатели финансового ананализаhttp://ivan-shamaev.ru – Блог аналитика разра...
 
Практические вопросы и ответы по Qlikview - часть 1
Практические вопросы и ответы по Qlikview - часть 1Практические вопросы и ответы по Qlikview - часть 1
Практические вопросы и ответы по Qlikview - часть 1
 
Основные принципы бюджетирования
Основные принципы бюджетированияОсновные принципы бюджетирования
Основные принципы бюджетирования
 
How to analyze profitability
How to analyze profitabilityHow to analyze profitability
How to analyze profitability
 
Полезные навыки аналитиков - как стать профессионалом
Полезные навыки аналитиков - как стать профессионаломПолезные навыки аналитиков - как стать профессионалом
Полезные навыки аналитиков - как стать профессионалом
 
05 задачи эксперта в работе аналитика
05 задачи эксперта в работе аналитика05 задачи эксперта в работе аналитика
05 задачи эксперта в работе аналитика
 
Activity based management (theory)
Activity based management (theory)Activity based management (theory)
Activity based management (theory)
 
BABOK 3
BABOK 3BABOK 3
BABOK 3
 
Hyperion Planning / Workspace / Essbase Part 5 - Hyperion Planning
Hyperion Planning / Workspace / Essbase Part 5 - Hyperion PlanningHyperion Planning / Workspace / Essbase Part 5 - Hyperion Planning
Hyperion Planning / Workspace / Essbase Part 5 - Hyperion Planning
 
ATK QlikView: NPrinting для быстрого создания и рассылки отчетов
ATK QlikView: NPrinting для быстрого создания и рассылки отчетовATK QlikView: NPrinting для быстрого создания и рассылки отчетов
ATK QlikView: NPrinting для быстрого создания и рассылки отчетов
 
Security of hyperion planning
Security of hyperion planningSecurity of hyperion planning
Security of hyperion planning
 

Similar to Стандарт оформления Rules в calculation manager

лекция 3
лекция 3лекция 3
лекция 3cezium
 
лекция
лекциялекция
лекцияvuvuzella
 
Практический анализ по RUP
Практический анализ по RUPПрактический анализ по RUP
Практический анализ по RUP
SQALab
 
программный комплекс весовой учет
программный комплекс весовой учетпрограммный комплекс весовой учет
программный комплекс весовой учетjamis7005
 
Три точки опоры в архитектуре корпоративных систем
Три точки опоры в архитектуре корпоративных системТри точки опоры в архитектуре корпоративных систем
Три точки опоры в архитектуре корпоративных систем
CUSTIS
 
Инжиниринг бизнес процессов и корпоративная архитектура энергетической компан...
Инжиниринг бизнес процессов и корпоративная архитектура энергетической компан...Инжиниринг бизнес процессов и корпоративная архитектура энергетической компан...
Инжиниринг бизнес процессов и корпоративная архитектура энергетической компан...RnD_SM
 
Тренинг GLPK, часть 1: Модель планирования производства
Тренинг GLPK, часть 1: Модель планирования производстваТренинг GLPK, часть 1: Модель планирования производства
Тренинг GLPK, часть 1: Модель планирования производства
Gleb Zakhodiakin
 
Учетная машина — универсальная архитектура учетно-аналитических систем
Учетная машина — универсальная архитектура учетно-аналитических системУчетная машина — универсальная архитектура учетно-аналитических систем
Учетная машина — универсальная архитектура учетно-аналитических систем
CUSTIS
 
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...
Andrey Taritsyn
 
Пространство вариантов_final
Пространство вариантов_finalПространство вариантов_final
Пространство вариантов_finalVlad Berezin, PMP
 
Role based access-control
Role based access-controlRole based access-control
Role based access-controlAlex Frolov
 
презентация релиз 5
презентация релиз 5презентация релиз 5
презентация релиз 5eugenij eugenij
 
Онтологические стандарты организационной модели
Онтологические стандарты организационной моделиОнтологические стандарты организационной модели
Онтологические стандарты организационной модели
Anatoly Levenchuk
 
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Bill Bosler, P.E.
 
High Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHigh Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHighLoad2009
 
Business Studio presentation
Business Studio presentationBusiness Studio presentation
Business Studio presentation
bizstudio
 
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
NAUMEN. Информационные системы управления растущим бизнесом
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиковMedia Gorod
 
метод Oracle (45)
метод Oracle (45)метод Oracle (45)
метод Oracle (45)
romachka_pole
 
Getting Started to the System Design
Getting Started to the System DesignGetting Started to the System Design
Getting Started to the System Design
Anatoly Simkin
 

Similar to Стандарт оформления Rules в calculation manager (20)

лекция 3
лекция 3лекция 3
лекция 3
 
лекция
лекциялекция
лекция
 
Практический анализ по RUP
Практический анализ по RUPПрактический анализ по RUP
Практический анализ по RUP
 
программный комплекс весовой учет
программный комплекс весовой учетпрограммный комплекс весовой учет
программный комплекс весовой учет
 
Три точки опоры в архитектуре корпоративных систем
Три точки опоры в архитектуре корпоративных системТри точки опоры в архитектуре корпоративных систем
Три точки опоры в архитектуре корпоративных систем
 
Инжиниринг бизнес процессов и корпоративная архитектура энергетической компан...
Инжиниринг бизнес процессов и корпоративная архитектура энергетической компан...Инжиниринг бизнес процессов и корпоративная архитектура энергетической компан...
Инжиниринг бизнес процессов и корпоративная архитектура энергетической компан...
 
Тренинг GLPK, часть 1: Модель планирования производства
Тренинг GLPK, часть 1: Модель планирования производстваТренинг GLPK, часть 1: Модель планирования производства
Тренинг GLPK, часть 1: Модель планирования производства
 
Учетная машина — универсальная архитектура учетно-аналитических систем
Учетная машина — универсальная архитектура учетно-аналитических системУчетная машина — универсальная архитектура учетно-аналитических систем
Учетная машина — универсальная архитектура учетно-аналитических систем
 
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...
 
Пространство вариантов_final
Пространство вариантов_finalПространство вариантов_final
Пространство вариантов_final
 
Role based access-control
Role based access-controlRole based access-control
Role based access-control
 
презентация релиз 5
презентация релиз 5презентация релиз 5
презентация релиз 5
 
Онтологические стандарты организационной модели
Онтологические стандарты организационной моделиОнтологические стандарты организационной модели
Онтологические стандарты организационной модели
 
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
 
High Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHigh Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus Ready
 
Business Studio presentation
Business Studio presentationBusiness Studio presentation
Business Studio presentation
 
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
 
метод Oracle (45)
метод Oracle (45)метод Oracle (45)
метод Oracle (45)
 
Getting Started to the System Design
Getting Started to the System DesignGetting Started to the System Design
Getting Started to the System Design
 

Стандарт оформления Rules в calculation manager

  • 1. 1 Стандарт оформления Rules в Calculation Manager Автор: Шамаев Иван (ivan.shamaev@gmail.com) - ivan-shamaev.ru Использовал материалы с сайта essbase.ru - Расюк Евгений (er@essbase.ru)
  • 2. 2 Оглавление Оглавление...................................................................................................................................................................2 Цель документа ...........................................................................................................................................................3 Введение ......................................................................................................................................................................3 Краткое описание объектов Calculation Manager .....................................................................................................3 Стили именования.......................................................................................................................................................5 Правила именования объектов Rules ........................................................................................................................5 Наименование Rules................................................................................................................................................5 Наименование переменных...................................................................................................................................5 Требования к объектам программирования в Calculation Manager .......................................................................6 Использование переменных запуска (Runtime-Prompt, RTP) в правилах расчета.............................................6 Требования к оформлению кода в Calculation Manager ..........................................................................................7 Требования к структуре кода бизнес-правил (Rules)............................................................................................7 Требования к форматированию текста программы.............................................................................................7 Перечисление элементов в разделе FIX................................................................................................................8 Порядок следования FIX блоков ............................................................................................................................8 Требования к версии...............................................................................................................................................9 Требования к комментариям .................................................................................................................................9 Рекомендации по разработке бизнес-правил ........................................................................................................10 Ключевые факторы хорошего кода (выжимка из вышеописанного)................................................................10 Шаблон бизнес-правила (BR07 0208.01: Бюджет ИТ - Расчет Итого. Шаблон) ................................................11 Общее построение бизнес-правила.................................................................................................................11 Содержание шаблона с настроечными параметрами расчета .....................................................................11 Содержание скрипта .........................................................................................................................................12 Заполнение свойств скрипта.............................................................................................................................12 Перенос бизнес-правила из EAS Console в Calculation Manager........................................................................12 Какие переменные можно использовать, а какие запрещено использовать..................................................13 Как используем Templates ....................................................................................................................................13 Приложение 1. «Краткое описание настроечных параметров» ...........................................................................14 1. Data Volume........................................................................................................................................................16 2. Data Handling ......................................................................................................................................................16 3. Memory usage.....................................................................................................................................................17 4. Threading.............................................................................................................................................................17 5. Logging.................................................................................................................................................................17
  • 3. 3 Цель документа Документ является соглашением по оформлению и написанию Rules в Hyperion Calculation Manager. В документе приведены основные правила оформления кода. Цели документа:  Предоставить краткое описание существующих объектов в Calculation Manager;  Предоставить общие правила, позволяющие сохранить единый стиль написания кода, облегчив тем самым его понимание всеми участниками команды;  Ввести базовые правила написания кода, что позволит повысить предсказуемость выполнения кода, а также избежать ошибок при написании кода новыми участниками команды, не знакомыми с внутренними стандартами разработки. Введение Для разработки бизнес правил должен использоваться Calculation Manager. Все правила создаются путем набора локальных скриптов и шаблонов. Все алгоритмы, которые используется в коде более одного раза, должны быть определены в шаблонах (например, агрегация). Далее требования одинаковы как для шаблонов и локальных скриптов, так и для бизнес-правил. Краткое описание объектов Calculation Manager  Substitution variable - Эти объекты и значения переменных хранятся на сервере EssBase и применяются для управления процессом расчета. В этой переменной можно сохранить текстовые значения длиною до 255 символов. Эти сущности являются основными для управления процессом бюджетного контроля и расчета.  Rules (бизнес-правила) – расчеты, реализованные в системе на специальном языке. Как правило, бизнес-правила прикрепляются к формам ввода и могут запускаться автоматически при определенных действиях пользователей (открытии или сохранении данных в форме ввода).  RuleSets (набор бизнес-правил) – совокупность бизнес-правил, которые вместе составляют единый расчетный процесс. RuleSet запускает последовательно или одновременно бизнес-правила в зависимости от логики расчета.  User Variables – Пользовательская переменная, создается администратором (администратор ассоциирует пользовательскую переменную с измерением Hyperion Planning) и используется в формах данных. Значения переменной задаются пользователем при входе в приложение Hyperion Planning. Тем самым пользователь определяет контекст, в разрезе которого ему необходимо отображать информацию на формах, в которых используется эта пользовательская переменная. Например, в форме данных в строках выводятся бизнес-юниты, которые пользователь задает через пользовательскую переменную. При запуске бизнес-правил можно передавать значения пользовательской переменной в бизнес- правило, если только стоит настройка «use members on form» и пользовательская переменная находится в POV или Page формы данных.  Formula - определенный набор логики бизнес-правила или синтаксис, который может использоваться в нескольких бизнес-правилах. Когда требуется обновить логику, требуется внести изменение только в формулу (локализация изменений) и обновление фактически будет внесено в каждое из правил. Формула состоит из набора расчетных операторов (calculation statements), которые пользователи могут написать или спроектировать, используя members, functions и, опционально, условные операторы (conditional statements).
  • 4. 4  Script – состоит из набора автономных расчетных операторов или функций (calc command/functions statements).  Templates - это набор предопределенных стандартных расчетов (например, Clear data, Copy Data, Essbase commands, Amount= Rate*Unit, Aggregate, Allocate). Выделяются системные шаблоны и шаблоны, которые определены пользователями (custom templates). Вы можете включать системные и определенные пользователями шаблоны в бизнес-правила, перетащив их в редакторе бизнес-правила из соответствующих разделов. В качестве компонентов бизнес-правил, шаблон содержит ряд шагов, в которые вводятся параметры.  Execution variable – это переменная VAR или ARRAY типа. В текущем проекте запрещается использовать данные переменные.  Replacement Variable – переменная, которая задается через Variable Designer. Для изменения значения переменной необходимо зайти в Variable Designer и внести изменения. Доступные типы для Replacement Variable в Calculation Manager:  Numeric;  Integer;  String;  Essbase;  Cross Dimension;  Dimension;  Member;  Members;  Percent;  StringAsNumber;  DateAsNumber;  Member Range  RunTime Promt (RTPs) – это replacement variable, у которой в настройке стоит галочка у пункта RTP. При запуске правила необходимо подтвердить значение переменной по умолчанию, либо ввести другое значение. Иллюстрация взаимосвязей между компонентами Calculation Manager:
  • 5. 5 Стили именования  Camel case (UpperCamelCase): первая буква первого слова в идентификаторе в верхнем регистре, все первые буквы последующих слов также начинаются в верхнем регистре. Пример: DepartmentFrom;  Camel case (lowerCamelCase): первая буква первого слова в идентификаторе в нижнем регистре, все первые буквы последующих слов – в верхнем. Пример: переменная vSaleBusinessUnits; Правила именования объектов Rules Наименование Rules Имя правила не может превышать 50 символов. Наименование бизнес-правила состоит из следующих частей: <Префикс объекта Calculation Manager> + <Номер приложения> + ПРОБЕЛ + <Номер папки> + “.” + <Порядковый номер объекта> + <Краткое описание объекта> BR07 0208.01: Бюджет ИТ – CAPEX BR07 0208.02: Бюджет ИТ – OPEX BR07 0208.03: Бюджет ИТ – AGGR TOTAL TM07 0208.01: Шаблон алгоритма расчета OPEX Номер папки – номер папки с формами данных. Префикс объекта – это краткое обозначение объекта для упрощенной идентификации принадлежности объекта к той или иной функциональной группе Calculation Manager. Если объект не относится к какой-либо папке, то используем нули, например: TM07 0000.01 – Общие параметры расчета Префиксы объектов Calculation Manager:  BR – бизнес-правила (rules);  TM – Шаблоны (Templates);  FR – Формулы (Formulas);  SC – Скрипты (Scripts);  RS – Наборы правил (Rule Sets). Наименование переменных Для имен переменных используется стиль Camel case (lowerCamelCase), при этом первым символом является префикс “v”. В имени переменной не должно быть символов и кириллицы. Пример: vSaleBusinessUnits.
  • 6. 6 Требования к объектам программирования в Calculation Manager Для разработки бизнес правил должен использоваться Calculation Manager. Все правила создаются путем набора локальных скриптов и шаблонов. Все алгоритмы, которые используются в коде более одного раза, должны быть определены в шаблонах или скриптах (например, агрегация). Далее требования одинаковы как для шаблонов и локальных скриптов, так и для бизнес-правил. Использование переменных запуска (Runtime-Prompt, RTP) в правилах расчета Создан единый набор переменных Runtime-Prompt для каждого измерения: Допускается использование только перечисленных RTP переменных. В случае острой необходимости добавления новой переменной, Вы обязаны согласовать требуемое изменение с участниками команды. С целью унификации использования переменных RTP, в случае интеграции с внешними скриптами, переменные продублированы в EAS Console (как Essbase Substitution Variables):
  • 7. 7 Управление Substitution Variables для внешних скриптов осуществляется в интеграционном скрипте MXL: Требования к оформлению кода в Calculation Manager Требования к структуре кода бизнес-правил (Rules) Код программы должен состоять из следующих частей: 1. «Шапка» бизнес-правила, в которой указывается следующая информация:  Имя правила, дата создания, версия правила, кто создал правило;  Краткое функциональное описание бизнес-правила, производимых действий над данными (например, Скрипт рассчитывает бюджет ИТ, считаются такие-то показатели по таким-то бизнес-юнитам, для того-то и того-то производится аллокация доходов или расходов);  Перечисление форм с входными параметрами, входящие данные для расчета (т.е. даем краткое описание источников данных для расчета с указанием ключевых элементов среза) и результирующие данные (рассчитываемый срез данных). При использовании виртуальных иерархий на единичках необходимо описать, что в данном скрипте задействована виртуальная иерархия. Данные хранятся в тех блоках, где на пересечении двух измерений бизнес-юнитов по такой-то статье загружены единички.  История изменений (должна включать в себя автора изменений, версию, краткое описание изменений). Также в тексте правила, в комментариях к отдельным частям расчета, необходимо давать расшифровки по внесенным изменениям; 2. Настроечные параметры бизнес-правила для запуска расчета (более подробная информация по настроечным параметрам - https://docs.oracle.com/cloud/latest/financialscs_gs/FATCR.pdf). В каждом скрипте используем шаблон «TM07 0000.01 Общие параметры расчета» (порядок использования шаблона описан в пункте «Общее построение бизнес-правила» документа). Шаблон состоит из следующих настроечных параметров (сами настройки с течением времени могут претерпевать изменения):  SET MSG SUMMARY;  SET UPDATECALC OFF;  SET AGGMISSG ON;  SET EMPTYMEMBERSETS ON;  SET FRMLBOTTOMUP ON;  SET CREATEBLOCKONEQ OFF;  SET CACHE ALL;  SET CACHE HIGH;  SET LOCKBLOCK HIGH;  SET CALCPARALLEL 4;  SET CALCTASKDIMS 2; 3. Код бизнес-правила. Требования к форматированию текста программы Для повышения читаемости бизнес-правил необходимо придерживаться следующих рекомендаций:  Каждый настроечный параметр расчета необходимо снабжать комментарием, что регулирует данная настройка;  Отображать вложенные FIX с отступом в табуляцию;  В условиях FIX элементы каждого направления располагать на отдельных строчках;
  • 8. 8  Снабжать элементы, из имени которых не понятно, что они означают, комментариями с его алиасом или описанием;  Внутри FIX расчеты тоже отображать с отступом;  Каждый элемент расчета писать на новой строчке и начинать с унарного оператора;  Снабжать каждый элемент расчета комментарием с его алиасом или описанием;  Обязательно помечать, если расчет базируется на блоках, которые были созданы в других скриптах, в каком скрипте, зачем, как и почему это было сделано. Перечисление элементов в разделе FIX Конструкции вида FIX…ENDFIX, IF…ENDIF используются для ограничения или фильтрации среза данных в расчетах. Если требуется выполнить расчет по набору элементов, то нужно стремится выражать срез расчета через функции, возвращающие список элементов (например, @RELATIVE("YearTotal",0)). При использовании в FIX конструкций сравнения вида: "Member(member list/range) AND Variable/Member(member list/range)" или функций типа @REMOVE(Member(member list), Member(member list)) Их необходимо выделять в отдельный FIX (несмотря на требование выше) и использовать команду SET EMPTYMEMBERSETS ON перед этим FIX или вначале бизнес-правила (rule). Несоблюдение этих требований может привести к некорректному определению среза и увеличению времени расчетов. Вложенные FIX по одному измерению приводит к объединению срезов описанных в каждом, а не к их пересечению. Порядок следования FIX блоков Первая строчка указывает параметры запуска расчета, передаваемые по стандартным измерениям (год, версия, сценарий). Вторая перечисляет все пользовательские измерения, причем те измерения, которые нужны для расчета в детализации, так же здесь указываются, их нужно ставить в комментариях. Затем происходит раскрытие детальных аналитик.
  • 9. 9 Перед основным телом расчета всегда должен быть раздел с зачисткой исходных данных. Требования к версии Переменная vVersionCalc в каждом бизнес-правиле должна проходить проверку на принадлежность к ветке «VER_CALC», которая находится в измерении версий: Требования к комментариям Комментарии должны содержать только функциональное описание текущего расчета. Закомментированный код нужно удалять. Обязательно заполняются все Description поля у всех объектов Calculation Manager. Запрещается комментирование на английском языке, необходимо все описывать на русском языке. Нельзя использовать жаргонные слова в комментариях, сокращения также не допустимы. Стараться использовать общепринятую в рамках проекта терминологию. Это необходимо для аудита качества информации аналитиками и облегчения передачи скриптов другому разработчику. Если используется специфический метод расчета, у которого есть наименование, то необходимо в комментариях указать это наименование. Плюс кратко описать суть методики расчета.
  • 10. 10 Рекомендации по разработке бизнес-правил Ключевые факторы хорошего кода (выжимка из вышеописанного) Диаграмма MindMap, представленная ниже, содержит основные пункты, которых необходимо придерживаться для написания качественного кода:
  • 11. 11 Шаблон бизнес-правила (BR07 0208.01: Бюджет ИТ - Расчет Итого. Шаблон) Общее построение бизнес-правила Построение бизнес-правила сводится к следующим шагам: 1. Перетаскиваем шаблон со стандартными настроечными параметрами в бизнес-правило (шаблон хранится в кубе D02FUNCB); 2. Перетаскиваем из New Object «Script» в бизнес-правило; 3. Заполняем в скрипте Properties (это шапка скрипта); 4. Пишем код в скрипте на вкладке Script. Желательная структура скрипта: Содержание шаблона с настроечными параметрами расчета Шаблон с настроечными параметрами является общим для всех бизнес-правил. При необходимости настроечные параметры переопределяются в скрипте расчета.
  • 12. 12 Содержание скрипта Пример заполнения скрипта по стандарту оформления. Комментарии, которые относятся к коду, заполняются в объекте Script. Заполнение свойств скрипта Шапка скрипта заполняется в поле Description. Входные данные и история изменений хранятся в поле Comments. Перенос бизнес-правила из EAS Console в Calculation Manager Чтобы не терять графический интерфейс разработки бизнес-правил, необходимо текст бизнес- правила, которое вручную переносится из EAS Console в Calculation Manager, вводить в объект Script. Последовательность действий: 1. Создаем бизнес-правило. 2. Переносим шаблон с настроечными параметрами расчета в бизнес-правило. 3. Переносим в режиме Designer из New Object элемент Script в бизнес-правило. 4. Вставляем в скрипт подготовленный код бизнес-правила (переопределяем настроечные параметры расчета, если это необходимо). 5. Заполняем в Properties поля. 6. Код бизнес-правила можно разрабатывать «вручную» без других элементов из New Object.
  • 13. 13 Какие переменные можно использовать, а какие запрещено использовать 1. EXECUTION VARIABLE запрещено использовать, т.к. могут возникнуть те или иные проблемы с производительностью. 2. Используем только Replacement Variables и substitution variable. Как используем Templates Создаем Templates и в коде бизнес-правила прописываем строчку с параметрами: %Template( name:="D02FUNCB Норматив=средний по юниту" ,application:="D07FUNC" ,plantype:="D02FUNCB" ,dtps:=() ) Иллюстрация использования Templates в Rules:
  • 14. 14 Приложение 1. «Краткое описание настроечных параметров» Настройка Обязательность использования Краткое описание SET AGGMISSG Используем SET AGGMISSG specifies whether Analytic Services consolidates #MISSING values in the database. The default behavior of SET AGGMISSG is determined by the global setting for the database. SET CACHE Используем SET CACHE specifies the size of the calculator cache. SET CALCTASKDIMS Используем SET CALCTASKDIMS specifies how many of the sparse dimensions in an outline are used to identify potential tasks that can be run in parallel. SET CALCHASHTBL Не используем Не используется (настройка устарела). SET CALCPARALLEL Используем SET CALCPARALLEL enables Analytic Services to use parallel calculation. Analytic Services analyzes each pass of a calculation to determine whether parallel calculation is possible. If it is not, Analytic Services uses serial calculation even if CALCPARALLEL is set. SET CLEARUPDATESTATUS Опционально SET CLEARUPDATESTATUS specifies when Analytic Services marks data blocks as clean. SET DATAEXPORTOPTIONS Опционально Each SET DATAEXPORTOPTIONS command specifies a set of option values that are in place until the next SET DATAEXPORTOPTIONS command is encountered. At that time, option values are reset to default, and newly specified option values are set. SET EMPTYMEMBERSETS Используем If EMPTYMEMBERSETS is ON, and a FIX command evaluates to a empty member set, the calculation within the FIX command stops and the following information message is displayed: "FIX statement evaluates to an empty set. Please refer to SET EMPTYMEMBERSETS command." The calculation resumes after the FIX command. If a calculation script contains nested FIX commands, the nested FIX commands are not evaluated. SET COPYMISSINGBLOCK Опционально SET COPYMISSINGBLOCK allows DATACOPY to avoid creating #MISSING blocks during the copy of data from a dense dimension. SET CREATEBLOCKONEQ Используем If calculations result in a value for a sparse dimension member for which no block exists, Analytic Services creates a new block. Sometimes, the new blocks are not desired; for example, when they contain no other values. In large databases, creation and
  • 15. 15 processing of unneeded blocks can increase processing time as well as the storage requirement for a database. SET CREATENONMISSINGBLK Controls whether or not potential blocks are created in memory for calculation purposes and whether or not #MISSING blocks are stored. The SET CREATENONMISSINGBLK command affects the results of calculations on both sparse and dense dimensions. SET FRMLBOTTOMUP Используем Optimizes the calculation of complex formulas on sparse dimensions in large database outlines. This command tells Analytic Services to perform a bottom-up calculation on formulas that would otherwise require a top-down calculation. SET LOCKBLOCK Используем Specifies the maximum number of blocks that Analytic Services can get addressability to concurrently when calculating a sparse member formula. You can choose one of three levels. The number of blocks that Analytic Services can get addressability to at each level is defined using the CALCLOCKBLOCK setting in the essbase.cfg file. SET MSG Используем Sets the level of messaging you want returned about calculations, and enables simulated calculations. SET NOTICE Опционально This setting provides completion notices at intervals during the calculation. The number of notices depends on the level you specify. SET UPDATECALC Используем SET UPDATECALC turns intelligent calculation on or off. Using intelligent calculation, Analytic Services calculates only dirty blocks, such as updated data blocks and their dependent parents. SET UPTOLOCAL Опционально Restricts consolidations to those parents with the same defined currency. The default is OFF. SET DATAIMPORTIGNORETIMESTAMP Опционально Specifies whether to ignore the outline timestamp captured at the time the data was exported. The DATAEXPORT "Binfile" command captures the outline timestamp when it creates a binary export file. By default, when the file is imported, Essbase checks the import file timestamp against the existing outine timestamp to ensure the correct import file is read. You can use SET DATAIMPORTIGNORETIMESTAMP to bypass checking the timestamp. Caution: Bypassing the check enables potentially importing the wrong file. SET CCTRACKCALC Опционально Specifies whether Analytic Services checks the flags set by the CCTRACK setting to
  • 16. 16 determine if the currency data has already been converted. By default CCTRACK is turned on. Analytic Services tracks which currency partitions have been converted and which have not. The tracking is done at the currency partition level: a database with two partitions would have two flags that could be either "converted" or "unconverted." Analytic Services does not store a flag for member combinations within a partition. SET FRMLRTDYNAMIC Опционально Enables you to turn off calculation of all dense Dynamic Calc members during batch calculation if runtime dependent functions are included in formulas on stored members. This command improves batch calculation performance by removing the overhead of calculating all Dynamic Calc members. SET REMOTECALC Опционально For applications with transparent partitions, turns remote calculation to the source on or off. When you are working with transparent partitions and are sure that a calculation script does not include remote values in the calculations, you can use SET REMOTECALC OFF to improve calculation performance. SET RUNTIMESUBVARS Опционально Declares runtime substitution variables that are used in a calculation script. Every runtime substitution variable used in a calculation script must be declared in the SET RUNTIMESUBVARS command. The name of a runtime substitution variable is required. Specifying a default value for the runtime substitution variable is optional. Also optional is a description of the runtime substitution variable's data type and data input limit, which is a string in the <RTSV_HINT>rtsv_description</RTSV_HINT> tag. 1. Data Volume (UPDATECALC) Specify whether to calculate only dirty blocks, such as updated data blocks and their dependent parents, or all data blocksDefault (CLEARUPDATES) Specify when data blocks are marked as cleanDefault (EMPTYMEMBERSETS) Specify whether to stop the calculation within a FIX command if the FIX evaluates to an empty member setDefault (FRMLBOTTOMUP) Specify whether to optimize the calculation of complex formulas on sparse dimensions in large database outlinesDefault 2. Data Handling (AGGMISSING) Specify whether to consolidate #MISSING values in the databaseDefault (CLEARBLOCKONEQ) Specify, within a calculation script, whether new blocks are created when a calculation formula assigns anything other than a constant to a member of a sparse dimensionDefault
  • 17. 17 (CREATEONMISSINGBLOCK) Specify whether potential blocks are created in memory for calculation purposes and whether #MISSING blocks are storedDefault (FRMLRTDYNAMIC) Specify whether to turn off calculation of all dense dynamic calc members during batch calculation if runtime dependent functions are included in formulas on stored members. (This command improves batch calculation performance by removing the overhead of calculating all dynamic calc members.)Default (REMOTECALC) Specify whether to turn remote calculation to the source on or off for applications with transparent partitionsDefault 3. Memory usage (CALC CACHE) Specify the size of the calculator cacheNo changes (Use System default) (LOCKBLOCK) Specify the maximum number of blocks to get addressability to concurrently when calculating a sparse member formulaNo changes (use system default) 4. Threading (CALC PARALLEL) Specify whether to enable parallel calculation or serial calculation (the default)Default (CALCTASKDIM) Specify the number of sparse dimensions included in the identification of tasks for parallel calculation 5. Logging (MSG) Specify the level of messaging you want returned about calculations. (This option enables simulated calculations.)Default (NOTICE) Specify the intervals to receive completion notices about the progress of the calculationNo changes (Use default)