我目前正在实施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%)
请参阅this page for calculation of the gross margin percentage
我将毛利率设置为每个elasticsearch文档(=订单对象)的字段。例如,订单1的'gross_margin'字段等于0.2。简单地返回“gross_margin”字段(average aggregation)的平均值是不够的,因为这将返回0.5((0.2 + 0.8)/ 2),但总收集的实际毛利率为0.254((( 1000 + 100) - (800 + 20))/(1000 + 100))。
也许这种加权平均值可以通过解决方法与Kibana一起使用,但我无法在文档中找到它。如果有人能提供指导,我将不胜感激。当我的问题不明确时,请不要犹豫,请求更多信息。
答案 0 :(得分:0)
针对Kibana记录了一个类似的问题,目前标记为增强功能:https://github.com/elastic/kibana/issues/2206 您可以查看评论,看看是否有什么适合您。基本上,ElasticSearch有一个名为scripted_metrics的东西,当Kibana支持它们时,那么就会有一种解决方法。