В настоящее время я использую Kibana 4 (v4.0.0) в качестве финансовой панели для нашей компании, данные о заказах поступают из ElasticSearch. Я борюсь с отсутствием агрегирования средневзвешенных показателей для расчета валовой прибыли за определенный промежуток времени. Существует возможность написать собственную метрику, однако Kibana не отображает / не реализует пользовательские метрики в построении визуализации таблицы.
Небольшая визуализация демонстрационных данных:
**Order 1**
Revenue: 1000
Cost of goods sold: 800
Gross margin: 200
Gross margin percentage: 200 / 1000 = 0.2 (= 20%)
**Order 2**
Revenue: 100
Cost of goods sold: 20
Gross margin: 80
Gross margin percentage: 80 / 100 = 0.8 (= 80%)
См. эту страницу для расчета процента валовой прибыли
Я устанавливаю валовую прибыль как поле для каждого документа elasticsearch (= объект заказа). Например, в заказе 1 значение поля «валовая_продажа» равно 0,2. Простое возвращение среднего значения полей'ross_margin '(среднее агрегирование) недостаточно, так как это вернет 0,5 ((0,2 + 0,8) / 2), но фактическая валовая прибыль от общей коллекции составляет 0,254 (((1000 + 100) - (800 + 20)) / (1000 + 100)).
Возможно, это средневзвешенное значение возможно с помощью Kibana через обходной путь, но я не могу найти его в документации вообще. Я был бы очень признателен, если бы кто-нибудь мог дать руководство. Пожалуйста, не стесняйтесь запрашивать дополнительную информацию, если мой вопрос вам непонятен.