我目前正在实施 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 的解决方法实现,但我无法在文档中找到它。如果有人可以提供指导,我将不胜感激。当您不清楚我的问题时,请随时请求更多信息。