Kibana加权平均毛利率

4
我目前正在将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的“gross_margin”字段。简单地返回“gross_margin”字段的平均值(平均聚合)是不够的,因为这将返回0.5 ((0.2 + 0.8) / 2),但总收藏的实际毛利率为0.254 (((1000 + 100) - (800 + 20)) / (1000 + 100))。
也许通过Kibana的变通方法可以实现加权平均,但我无法在文档中找到它。如果有人能提供指导,我将不胜感激。如果我的问题不清楚,请随时要求更多信息。
1个回答

0

针对 Kibana 已经有一个类似的问题记录,目前被标记为增强功能:https://github.com/elastic/kibana/issues/2206。您可以查看评论,看看是否有适用于您的解决方案。基本上,ElasticSearch 有一些称为 scripted_metrics 的东西,当 Kibana 支持它们时,就会有一个解决方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接