Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:olap:formula [31.05.2019 07:18] maynproduct:olap:formula [16.08.2019 08:34] (текущий) – [Как создать показатель-формулу] mayn
Строка 1: Строка 1:
 ====== Создание показателей на основе формулы ====== ====== Создание показателей на основе формулы ======
- 
-#недописаль 
  
 ===== Зачем нужен показатель-формула ===== ===== Зачем нужен показатель-формула =====
Строка 15: Строка 13:
  
 ===== Как создать показатель-формулу ===== ===== Как создать показатель-формулу =====
-  - Зайдите в шаблон 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>
   - Введите название показателя.   - Введите название показателя.
Строка 29: Строка 27:
 <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>