| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| product:olap:formula [31.05.2019 07:18] – mayn | product:olap:formula [16.08.2019 08:34] (текущий) – [Как создать показатель-формулу] mayn |
|---|
| ====== Создание показателей на основе формулы ====== | ====== Создание показателей на основе формулы ====== |
| |
| #недописаль | |
| |
| ===== Зачем нужен показатель-формула ===== | ===== Зачем нужен показатель-формула ===== |
| |
| ===== Как создать показатель-формулу ===== | ===== Как создать показатель-формулу ===== |
| - Зайдите в шаблон OLAP-куба (предварительно [[product/olap/template|его нужно создать]] и [[product/olap/new_metering|добавить измерение]], а также добавить хотя бы один [[product/olap/request|показатель-измерение). | - Зайдите в шаблон OLAP-куба (предварительно [[product/olap/template|его нужно создать]] и [[product/olap/new_metering|добавить измерение]], а также добавить хотя бы один [[product/olap/request|показатель-измерение]]). |
| - В портлете "Показатели" -> ''Создать''. \\ <image shape="thumbnail">{{ :product:olap:olap_request_formula_1.png?nolink |}}</image> \\ <TEXT align="center">**Рисунок 1** -- Страница шаблона OLAP-куба</text> | - В портлете "Показатели" -> ''Создать''. \\ <image shape="thumbnail">{{ :product:olap:olap_request_formula_1.png?nolink |}}</image> \\ <TEXT align="center">**Рисунок 1** -- Страница шаблона OLAP-куба</text> |
| - Введите название показателя. | - Введите название показателя. |
| <callout type="warning" icon="true">Показатели-формулы, основанные на логических выражениях, можно использовать в других показателях-формулах, либо показателях-индикаторах.</callout> | <callout type="warning" icon="true">Показатели-формулы, основанные на логических выражениях, можно использовать в других показателях-формулах, либо показателях-индикаторах.</callout> |
| |
| | ==== Значения элементов ==== |
| | |<40% 35% 65%>| |
| | |<название показателя 1, 2...n>|Сколько уже создано показателей в этом OLAP-кубе, столько их будет в этом перечне| |
| | |OR|логическое ИЛИ (как минимум одно из двух условий должно выполняться)| |
| | |AND|логическое И (все заданные условия должны выполняться)| |
| | |!=|не равно| |
| | |>=|больше или равно| |
| | |%%<=%%|меньше или равно| |
| | |>|больше| |
| | |<|меньше| |
| | |=|равно| |
| | |)|скобки для изоляции и приоретизации части вычисления| |
| | |(|:::| |
| | |%%^%%|возведение в степень| |
| | |/|деление| |
| | |*|умножение| |
| | |-|вычитание| |
| | |+|сложение| |
| | |Константа|можно внести число-константу, которая будет участвовать в вычислении| |
| | |Проверка на NULL|проверить, есть ли в поле какое-то значение или там пусто| |
| ===== Свойства и доп.опции ===== | ===== Свойства и доп.опции ===== |
| {{page>product/olap/indicator_options}} | ==== Проверка, заполнено ли значение в другом показателе==== |
| | |
| | При задании формулы можно проверить, заполнено ли значение в другом показателе. |
| | |
| | В портлете "Формула" при составлении формулы выберите в выпадающем списке «Проверка на NULL» -- и рядом показатель, который нужно проверить. |
| | |
| | Результат формулы -- логический. |
| | * Если значение проверяемого поля пустое, то результат формулы будет равен 1. |
| | * Если значение проверяемого поля не пустое, то результат формулы будет равен 0. |
| | |
| | ==== Агрегация ==== |
| | |
| | {{page>product/olap/indicator_options#для_показателя_формулы&nofooter&noheader}} |
| | |
| | ==== Скрытый ==== |
| | {{page>product/olap/indicator_options#скрытый&nofooter&noheader}} |
| | |
| | ===== Кейс ===== |
| | **Условия:** на разных этапах проекта (читай -- на разных этапах [[product:requisites:requisite-prosess|реквизита-процесса]]) расчёт услуги по договору должен рассчитываться исходя из разных ставок. |
| | |
| | **Принцип решения:** (X<sub>1</sub>*Y)*C1+(X<sub>2</sub>*Y)*C<sub>2</sub>+...+(X<sub>n</sub>*Y)*C<sub>n</sub>, где: |
| | * X<sub>1</sub>, X<sub>2</sub>...X<sub>n</sub> -- значения из справочников 1, 2...n соответственно. |
| | * Y -- объём работы (количество деталей, число часов и т.п.), который соотносится со ставкой в справочнике. |
| | * C<sub>1</sub>, C<sub>2</sub>...C<sub>n</sub> -- бинарный коэффициент, результат проверки фазы. Требования к коэффициенту: |
| | * Может быть только 0 или 1. |
| | * Только один из коэффициентов в выражении может быть равен 1, вне зависимости от количества возможных коэффициентов (читай -- вариантов, способов расчёта). |
| | |
| | <html> |
| | <!-- |
| | Чтобы рассчитать коэффициент: |
| | - сделать промежуточный системный справочник для сопоставления значения реквизита-процесса (или классификатора) с его числовым обозначением. \\ //Причина? -- В результате вычисления OLAP-куба может быть только число, с текстовыми полями OLAP не работает.// |
| | - создать показатель-значение, который будет возвращать из этого справочника число -- тот идентификатор, который соответствует значению реквизита; |
| | #недописаль |
| | --> |
| | </html> |