I usually use Kibana (as a basic user) with a flow of independent timed events. I then make some graphs on the evolution or statistics of a population in a specific timeframe.
I now face a problem I do not know how to approach: a set of timed events, but with a common identifier and a common date that groups them into clusters and I would like to make statistics on these clusters.
To take an example, consider the following set of data ("some date" is a random date)
[
{
"id": 1,
"age": 20,
"nice": true,
"sent": "date1"
},
{
"id": 1,
"age": 25,
"nice": false,
"sent": "date1"
},
{
"id": 2,
"age": 20,
"nice": false,
"sent": "date2"
},
{
"id": 2,
"age": 30,
"nice": false,
"sent": "date2"
}
]
My goal is to have an evolution of the average of "nice" people by id
(or by sent
). This requires to first group the data by id
, then to calculate the average by group, and then to plot this average over time (the group is located at sent
).
Is Kibana able to do something like that?
My backup plan is to mak the calculations upstream and sent the results to Kibana but I would like to avoid this because I may want to show some other statistics (say, the median instead of the average - this will require all data to be updated in Kibana from the upstream backend)