Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:olap:formula [30.05.2019 09:36] maynproduct:olap:formula [16.08.2019 08:34] (текущий) – [Как создать показатель-формулу] mayn
Строка 1: Строка 1:
 ====== Создание показателей на основе формулы ====== ====== Создание показателей на основе формулы ======
 +
 ===== Зачем нужен показатель-формула ===== ===== Зачем нужен показатель-формула =====
 Показатели-формулы позволяют посчитать значения из других типов показателей. \\  Показатели-формулы позволяют посчитать значения из других типов показателей. \\ 
Строка 12: Строка 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>
   - Введите название показателя.   - Введите название показателя.
Строка 26: Строка 27:
 <callout type="warning" icon="true">Показатели-формулы, основанные на логических выражениях, можно использовать в других показателях-формулах, либо показателях-индикаторах.</callout> <callout type="warning" icon="true">Показатели-формулы, основанные на логических выражениях, можно использовать в других показателях-формулах, либо показателях-индикаторах.</callout>
  
 +==== Значения элементов ====
 +|<40% 35% 65%>|
 +|<название показателя 1, 2...n>|Сколько уже создано показателей в этом OLAP-кубе, столько их будет в этом перечне|
 +|OR|логическое ИЛИ (как минимум одно из двух условий должно выполняться)|
 +|AND|логическое И (все заданные условия должны выполняться)|
 +|!=|не равно|
 +|>=|больше или равно|
 +|%%<=%%|меньше или равно|
 +|>|больше|
 +|<|меньше|
 +|=|равно|
 +|)|скобки для изоляции и приоретизации части вычисления|
 +|(|:::|
 +|%%^%%|возведение в степень|
 +|/|деление|
 +|*|умножение|
 +|-|вычитание|
 +|+|сложение|
 +|Константа|можно внести число-константу, которая будет участвовать в вычислении|
 +|Проверка на NULL|проверить, есть ли в поле какое-то значение или там пусто|
 ===== Свойства и доп.опции ===== ===== Свойства и доп.опции =====
-==== Агрегация ==== 
-Для показателей формул агрегация меняет метод расчета формулы для сводного итога в отчете. 
- 
-<callout type="success" icon="true"> 
-Например, есть показатель-формула, который считается как \\  
-''С=АxВ'': 
-  * если агрегация включена, то сводный итог для показателя ''С'' считается как ''∑Сi'', где ''i'' – строки отчета. 
-  * если агрегация выключена, то сводный итог для показателя ''С'' считается как ''∑Аi x ∑Вi'', где ''i'' – строки отчета. 
-</callout> 
-==== Разрешить NULL ==== 
-Позволяет в незаполненных значениях показателя OLAP-куба оставить пустое значение (null). По умолчанию (опция не активирована) пустые значения показателя заменяются на нули. 
- 
-==== Скрытый ==== 
-Используется для вспомогательных показателей, используемых для промежуточных расчетов. Если включено, то при построении отчета этот показатель по умолчанию будет скрыт.  
- 
 ==== Проверка, заполнено ли значение в другом показателе==== ==== Проверка, заполнено ли значение в другом показателе====
  
 При задании формулы можно проверить, заполнено ли значение в другом показателе. При задании формулы можно проверить, заполнено ли значение в другом показателе.
  
-В описании формулы выберите «Проверка на NULL» -- и рядом показатель, который нужно проверить.+В портлете "Формула" при составлении формулы выберите в выпадающем списке «Проверка на NULL» -- и рядом показатель, который нужно проверить.
  
 Результат формулы -- логический.  Результат формулы -- логический. 
Строка 52: Строка 58:
   * Если значение проверяемого поля не пустое, то результат формулы будет равен 0.   * Если значение проверяемого поля не пустое, то результат формулы будет равен 0.
  
-<callout type="info" icon="true"+==== Агрегация ==== 
-Проверка на NULL имеет смысл при активированной опции ''Разрешить NULL''+ 
 +{{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> 
-</callout>+<!-- 
 +Чтобы рассчитать коэффициент: 
 +  - сделать промежуточный системный справочник для сопоставления значения реквизита-процесса (или классификатора) с его числовым обозначением. \\ //Причина? -- В результате вычисления OLAP-куба может быть только число, с текстовыми полями OLAP не работает.// 
 +  - создать показатель-значение, который будет возвращать из этого справочника число -- тот идентификатор, который соответствует значению реквизита; 
 +#недописаль 
 +--> 
 +</html>