KPI: различия между версиями
User (обсуждение | вклад) |
User (обсуждение | вклад) |
||
Строка 165: | Строка 165: | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
+ | |} | ||
+ | |||
+ | В системе поддерживаются отсутствующие (неопределенные) значения. Такие значения не учитываются при расчете итогов, и для большинства операций применимо правило, если какой-либо аргумент не определен, результат также является неопределенным. Исключением является оператор ??, предназначенный для установки неопределенных значений в левой части в значения по умолчанию в правой. И наоборот, оператор ? позволяет получить неопределенные значения, в случае невыполнения заданного критерия в левой части, либо вернут значение справа, если критерий истинный. Например: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! scope="col"| a | ||
+ | ! scope="col"| b | ||
+ | ! scope="col"| a ? b | ||
+ | ! scope="col"| a ?? b | ||
+ | ! scope="col"| a + b | ||
+ | |- | ||
+ | | 1 | ||
+ | | 2 | ||
+ | | 2 | ||
+ | | 1 | ||
+ | | 3 | ||
+ | |- | ||
+ | | 0 | ||
+ | | 2 | ||
+ | | нет значения | ||
+ | | 0 | ||
+ | | 2 | ||
+ | |- | ||
+ | | нет значения | ||
+ | | 2 | ||
+ | | нет значения | ||
+ | | 2 | ||
+ | | нет значения | ||
+ | |- | ||
+ | | 1 | ||
+ | | нет значения | ||
+ | | нет значения | ||
+ | | 1 | ||
+ | | нет значения | ||
+ | |- | ||
+ | | нет значения | ||
+ | | нет значения | ||
+ | | нет значения | ||
+ | | нет значения | ||
+ | | нет значения | ||
+ | |} | ||
+ | |||
+ | В выражениях доступны математические функции минимума и максимума с произвольным количеством аргументов – min, max, а также функция модуля abs. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | | min(1,2,3) | ||
+ | | 1 | ||
+ | |- | ||
+ | | max(1,2) | ||
+ | | 2 | ||
+ | |- | ||
+ | | abs(-3) | ||
+ | | 3 | ||
+ | |- | ||
+ | | abs(0) | ||
+ | | 0 | ||
+ | |- | ||
+ | | abs(3) | ||
+ | | 3 | ||
+ | |- | ||
+ | | abs(1,2) | ||
+ | | неверная формула | ||
|} | |} |
Версия 22:29, 22 июля 2020
Контекст расчета KPI определяется набором рабочих центров (РЦ), базовых и расчетных показателей (БП и РП).
БП представляет собой временной ряд, т.е. совокупность последовательных интервалов времени и значений на этих интервалах. При запуске контекста, БП загружаются микросервисом KPI из родительской системы, с момента времени, указанного в поле «Дата начала» в настройках контекста. В дальнейшем повторные запросы для получения новых данных производятся для каждого БП в соответствие с настройкой «Период опроса». БП загружаются для каждого РЦ контекста по очереди.
Для каждого БП необходимо задать имя переменной и тип. Имя переменной необходимо для указания данного БП в формулах расчета РП. Имя переменной должно начинаться с буквы, не содержать спецсимволов и пробелов.
БП могут быть следующих видов:
- унифицированный базовый показатель;
- индикатор.
Унифицированный базовый показатель имеет общие настройки для всех РЦ. Список доступных в системе БП приведен в таблице.
имя api | название | описание | значения | источник |
---|---|---|---|---|
actualOperation | фактическое время операции | интервалы выполнения задания по данным оператора, исключая простои | 1/0 | данные оператора |
actualOperationDowntime | фактическое время простоя | интервалы простоя, указанные оператором | 1/0 | данные оператора |
plannedOperation | плановое время операции | интервал времени, на котором запланировано задание | 1/0 | задания |
actualGoodProgress | производительность по качественным | скорость изготовления качественных изделий, рассчитанная по отметкам выпуска оператора, с учетом простоев | изделий в час | данные оператора |
actualRejectedProgress | производительность по браку | скорость изготовления брака, рассчитанная по отметкам выпуска оператора, с учетом простоев | изделий в час | данные оператора |
actualUndefinedProgress | производительность по условно годным | скорость изготовления условно годных изделий, рассчитанная по отметкам выпуска оператора, с учетом простоев | изделий в час | данные оператора |
actualTotalProgress | производительность общая | скорость изготовления изделий, рассчитанная по отметкам оператора, с учетом простоев | изделий в час | данные оператора |
plannedQuantity | плановая производительность | плановая скорость изготовления, равная отношению числа изделий в задании к длительности задания. значение определено на интервалах фактического времени операции (actualOperation=1) | изделий в час | задания и данные оператора |
shiftWorkingTime | рабочее время | время смен по расписанию | 1/0 | настройки системы |
productionTime | время операций на рабочем центре | автоматический режим работы станка | 1/0 | машинные данные |
Для БП типа индикатор необходимо указать конкретный индикатор для каждого РЦ, поскольку РЦ могут иметь различный набор индикаторов и разные наименования для них. При этом в дальнейших расчетах БП указывается общим именем переменной, определенном в его настройках.
Для РП необходимо определить наименование и функцию для его вычисления. Также РП, которые необходимо отображать в аналитике, нужно указать, как основные.
Формулы РП могут включать имена БП или РП, константы, бинарные операторы, скобки, математические функции, а также функции расчета итогов (агрегирующие функции).
Константы задаются в числовом виде, с точкой, в качестве разделителя дробной части. Допустима также экспоненциальная форма записи. Например: 1.3, 1.7e3 (эквивалентно 1700), 1E-3 (эквивалентно 0.001).
Имена переменных БП и РП должны начинаться с буквы (латиницы или кириллицы), могут также содержать цифры и символ _. Буквы верхнего и нижнего регистра считаются различными, поэтому, например, названия «Индикатор» и «индикатор» будут интерпретированы, как разные переменные.
РП может быть определен двумя способами: как временной ряд или как итоговый показатель. Формула РП временного ряда должна включать хотя бы один РП временного ряда, либо БП. Такие РП вычисляются по мере поступления данных в микросервис, и полученные значения сохраняются в базе данных. Для каждого РЦ сохраняется отдельный ряд РП.
Итоговый РП представляет собой одно значение, рассчитываемое для некоторого заданного интервала времени. Такой РП вычисляется непосредственно при запросе к микросервису, например, из аналитик. Формула итогового РП может содержать другие итоговые РП, а также агрегирующие функции, примененные к БП или РП временного ряда. Итоговый РП может быть получен для каждого РЦ контекста в отдельности, и как общий для всех РЦ, заданных в запросе.
Для обоих видов РП доступен одинаковый набор бинарных операторов. В таблице приведены доступные операторы, в соответствие с их математическим приоритетом.
^ | возведение в степень |
* / | умножение, деление |
+ - | сложение, вычитание |
> < >= <= == != | операции сравнения (больше, меньше, больше или равно, меньше или равно, равенство, неравенство) |
& | логическое И |
| | логическое ИЛИ |
? ?? | операции с отсутствующими значениями |
Для расчета логических выражений в системе используется соглашение, что значения больше нуля соответствуют значению «истина», а меньше - «ложь», и наоборот, логические операции и операции сравнения возвращают 1 в качестве значения «истина» и 0 – «ложь». Некоторые примеры вычислений для логических операций и операций сравнения приведены в таблице
a | b | a | b | a & b | a < b | a <= b | a ==b | a != b |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
-10 | 10 | 1 | 0 | 1 | 1 | 0 | 1 |
В системе поддерживаются отсутствующие (неопределенные) значения. Такие значения не учитываются при расчете итогов, и для большинства операций применимо правило, если какой-либо аргумент не определен, результат также является неопределенным. Исключением является оператор ??, предназначенный для установки неопределенных значений в левой части в значения по умолчанию в правой. И наоборот, оператор ? позволяет получить неопределенные значения, в случае невыполнения заданного критерия в левой части, либо вернут значение справа, если критерий истинный. Например:
a | b | a ? b | a ?? b | a + b |
---|---|---|---|---|
1 | 2 | 2 | 1 | 3 |
0 | 2 | нет значения | 0 | 2 |
нет значения | 2 | нет значения | 2 | нет значения |
1 | нет значения | нет значения | 1 | нет значения |
нет значения | нет значения | нет значения | нет значения | нет значения |
В выражениях доступны математические функции минимума и максимума с произвольным количеством аргументов – min, max, а также функция модуля abs.
min(1,2,3) | 1 |
max(1,2) | 2 |
abs(-3) | 3 |
abs(0) | 0 |
abs(3) | 3 |
abs(1,2) | неверная формула |