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%)

请参阅此页面计算毛利率百分比

我将毛利率设置为每个弹性搜索文档(=订单对象)的字段。例如,订单 1 的 'gross_margin' 字段等于 0.2。仅仅返回 'gross_margin' 字段的平均值(平均聚合)是不够的,因为这将返回 0.5 ((0.2 + 0.8) / 2),但总集合的实际毛利率为 0.254 (((1000 + 100 ) - (800 + 20)) / (1000 + 100))。

也许这个加权平均值可以通过 Kibana 的解决方法实现,但我无法在文档中找到它。如果有人可以提供指导,我将不胜感激。当您不清楚我的问题时,请随时请求更多信息。

4

1 回答 1

0

针对 Kibana 记录了一个类似的问题,该问题当前被标记为增强:https ://github.com/elastic/kibana/issues/2206 您可以查看评论以查看是否有任何适合您的方法。基本上,ElasticSearch 有一个叫做 scripted_metrics 的东西,当 Kibana 支持它们时,就会有一个解决方法。

于 2015-06-19T02:00:27.803 回答