# Do calculations in kibana visualization JSON input

**URL:** <https://discuss.elastic.co/t/do-calculations-in-kibana-visualization-json-input/42164>\
**Category:** Kibana\
**Created:** [February 18, 2016, 5:01pm UTC](https://discuss.elastic.co/t/do-calculations-in-kibana-visualization-json-input/42164 "2016-02-18T17:01:28Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![luis.carvalho](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@luis.carvalho](https://discuss.elastic.co/u/luis.carvalho)\
**Post date:** [February 18, 2016, 5:01pm UTC](https://discuss.elastic.co/t/do-calculations-in-kibana-visualization-json-input/42164/1 "2016-02-18T17:01:28Z")

</div>

Hi,

I´m trying to do script calculation using the result of a metric and a field in JSON input. I change the elasticsearch.yml configuration to allowed scripting adding:

**script.engine.groovy.inline.search: true**  
**script.groovy.sandbox.enabled: true**  
**script.inline: on**  
**script.indexed: on**  
**script.search: true**  
**script.engine.groovy.inline.aggs: true**

**\_value** is the result of a sum in kibana metrics visualization and in the same metric putting:

{  
"script": " \_value / 9"  
}

in the JSON input, kibana gives the correct result. But if the script needs the value of a field like:

{  
"script": "\_value / doc['some-field'].value "  
}

kibana don´t show the correct result or don´t give any result.

Some one can help me with this? Thanks!

---

<div class="post-metadata">

**Author:** ![tbragin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tbragin/32/45166_2.png) [@tbragin](https://discuss.elastic.co/u/tbragin)\
**Post date:** [February 19, 2016, 2:07pm UTC](https://discuss.elastic.co/t/do-calculations-in-kibana-visualization-json-input/42164/2 "2016-02-19T14:07:13Z")

</div>

By default Kibana defaults to the Lucene expressions scripting language, so you need to include the "lang" : "groovy" parameter in your script. See example here [Calling groovy script from Kibana](https://discuss.elastic.co/t/calling-groovy-script-from-kibana/2542/3)

---

<div class="post-metadata">

**Author:** ![luis.carvalho](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@luis.carvalho](https://discuss.elastic.co/u/luis.carvalho)\
**Post date:** [February 19, 2016, 3:51pm UTC](https://discuss.elastic.co/t/do-calculations-in-kibana-visualization-json-input/42164/3 "2016-02-19T15:51:50Z")

</div>

Thank you for your help! I try your solution, but for the division operator kibana don´t give any result.

**kibana JSON input:**

`{ "script": "_value + doc['HTTP_Request'].value ", "lang" : "groovy" }`

`{ "script": "_value - doc['HTTP_Request'].value ", "lang" : "groovy" }`

`{ "script": "_value + 9", "lang" : "groovy" }`

For sum, subtraction and divisions with a specific number it's ok.

`{ "script": "_value / doc['HTTP_Request'].value ", "lang" : "groovy" }`

But for this script kibana don´t show any result.

Thanks

---

<div class="post-metadata">

**Author:** ![luis.carvalho](https://avatars.discourse-cdn.com/v4/letter/l/d07c76/32.png) [@luis.carvalho](https://discuss.elastic.co/u/luis.carvalho)\
**Post date:** [February 19, 2016, 4:49pm UTC](https://discuss.elastic.co/t/do-calculations-in-kibana-visualization-json-input/42164/4 "2016-02-19T16:49:01Z")

</div>

Basically I want to do some calculations like:

`(∑MISS / ∑HTTP requests – ∑Manifests requests – ∑m3u8 requests) in Δt * 100%`  
But I don´t know if I can do this kind of formulas in Kibana or Elasticsearch.

Thanks.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 2:01pm UTC](https://discuss.elastic.co/t/do-calculations-in-kibana-visualization-json-input/42164/5 "2017-07-06T14:01:36Z")

</div>


