Создание показателей на основе формулы
Зачем нужен показатель-формула
Показатели-формулы позволяют посчитать значения из других типов показателей. Например, можно рассчитать:
- процент освоения бюджета;
- показатели освоенного объема;
- среднюю стоимость работ на единицу площади объекта;
- или премиальную составляющую заработной платы сотрудника.
Перед созданием показателей на основе формул необходимо, чтобы в кубе уже был хотя бы один показатель на основании запросов, иначе переменных для выполнения расчетов в показателе-формуле попросту не будет.
Как создать показатель-формулу
- Зайдите в шаблон OLAP-куба (предварительно его нужно создать и добавить измерение, а также добавить хотя бы один показатель-измерение).
- Введите название показателя.
- В поле «Тип показателя» выберите «Формула».
- В портлете «Формула», в выпадающем меню, выберите один из существующих показателей редактируемой сводки.
- Нажмите кнопку «Добавить» для добавления новой строки формулы.
- В выпадающем меню выберите арифметическую или логическую операцию.
- Нажмите кнопку «Добавить» для добавления новой строки формулы.
- Сохраните показатель.
Результатом логической формулы является число «0» – если условие не выполняется, число «1» – если условие выполняется.
Показатели-формулы, основанные на логических выражениях, можно использовать в других показателях-формулах, либо показателях-индикаторах.
Значения элементов
| <название показателя 1, 2…n> | сколько уже создано показателей в этом OLAP-кубе, столько их будет в этом перечне |
| OR | логическое ИЛИ (как минимум одно из двух условий должно выполняться) |
| AND | логическое И (все заданные условия должны выполняться) |
| != | не равно |
| >= | больше или равно |
| <= | меньше или равно |
| > | больше |
| < | меньше |
| = | равно |
| ) | скобки для изоляции и приоретизации части вычисления |
| ( | |
| ^ | возведение в степень |
| / | деление |
| * | умножение |
| - | вычитание |
| + | сложение |
| Константа | можно внести число-константу, которая будет участвовать в вычислении |
| Проверка на NULL | проверить, есть ли в поле какое-то значение или там пусто |
Свойства и доп.опции
Проверка, заполнено ли значение в другом показателе
При задании формулы можно проверить, заполнено ли значение в другом показателе.
В портлете «Формула» при составлении формулы выберите в выпадающем списке «Проверка на NULL» - и рядом показатель, который нужно проверить.
Результат формулы - логический:
- если значение проверяемого поля пустое, то результат формулы будет равен 1;
- если значение проверяемого поля не пустое, то результат формулы будет равен 0.
Агрегация
Скрытый
Кейс
Условия: на разных этапах проекта (читай - на разных этапах реквизита-процесса) расчёт услуги по договору должен рассчитываться исходя из разных ставок.
Принцип решения: (X1*Y)*C1+(X2*Y)*C2+…+(Xn*Y)*Cn, где:
- X1, X2…Xn - значения из таблиц 1, 2…n соответственно;
- Y - объём работы (количество деталей, число часов и т.п.), который соотносится со ставкой в таблице;
- C1, C2…Cn - бинарный коэффициент, результат проверки фазы. Требования к коэффициенту:
- может быть только 0 или 1;
- только один из коэффициентов в выражении может быть равен 1, вне зависимости от количества возможных коэффициентов (читай - вариантов, способов расчёта).

