¿Cómo calcular un ratio desde 2 campos?


(Carlos Gutiérrez Rodríguez) #1

Hola a todos y encantado de conocer y participar en este foro :stuck_out_tongue_winking_eye:

Soy nuevo en ELK y estamos haciendo una prueba de concepto en la que tenemos ventas, objetivos, stocks, etc.
Lo que necesito es bastante sencillo en otras herramientas pero aquí nos estamos volviendo locos:

Se trata se sacar un valor porcentual desde 2 agregados

  • Agregado 1: Sumatorio de las ventas
  • Agregado 2: Sumatorio del objetivo de ventas

El ratio a conseguir debe ser un valor porcentual del (agregado 1 / agregado 2) para obtener un valor tal como 80% dentro de un widget (tipo Metric) en Kibana. ¿es esto posible?

Muchísimas gracias a todos por la ayuda.


(Gabriel Moskovicz) #2

Hola Carlos!

Gracias por llegar a nosotros. Por lo que veo tienes 2 valores y estas buscando la suma de estos valores, y luego calcular un ratio (dividiendo estos valores entre si).

Esto debería ser posible utilizando pipeline aggregations: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline-bucket-script-aggregation.html. Por defecto, elasticsearch no puede dividir dos valores de resultado de las aggregations, entonces para eso se crearon este tipo de aggregations. Para hacer un re-procesamiento de los resultados. Esto hace muy sencillo esto.

En Kibana, aun no es soportado (https://github.com/elastic/kibana/issues/4584) pero de todas maneras uno podria utilizar timelion para eso, que es un kibana plugin (https://github.com/elastic/timelion).

Espero que haya contestado su pregunta.

Saludos!

--Gabriel


(Juan Ignacio Carniglia) #3

Carlos, yo armé una visualización para hacer algo parecido.

Lo que hace es:

  • A = Count Total
  • B = Count de una aggregation (Por ejemplo un Filtro)

Divide A / B, y convierte ese valor a un % (del 0 al 100). En base al porcentaje te muestra una imagen relacionada (Por ejemplo, una botella de vino llena al 10%, una barra de progreso, etc.).

Me parece que fácilmente podés adaptar esta visulización a lo que vos querés hacer.

La vis la tengo acá: https://github.com/JuanCarniglia/kbn_percent_nice_vis

Saludos


(system) #4