How to show fields value on Data table Columns?

Hi there,
I'm a newbie here on Elastic.

Just to give you some context about my journey here, I'm trying elastic to build a business analytics system.
I have an index where the document is something like this:

  "_index": "my-app-event-index",
  "_type": "_doc",
  "_id": "eR9O3HUBaPzjFLFBydwe",
  "_version": 1,
  "_score": null,
  "_source": {
    "eventDate": "2020-11-18",
    "eventDateTime": "2020-11-18 08:45:04",
    "eventName": "Bulk Export",
    "appVersion": "6.5.5",
    "appPlatform": "Cluster",
    "customerName": "No Company Name",
    "platformVersion": "8.13.1",
    "properties": {
      "templateFormat": "XLSX",
      "outputFormat": "CSV",
      "IssuesCount": 16
  "fields": {
    "eventDate": [
  "sort": [

What I'd like to create a visualization where I can list a customer per Row and the total of events per type on columns. I'm trying to create a data table but I'm not being able to get the desired result.

Something like:
Customer | Event A |Event B | Event C
AAA | 12| 33| 12
BBB | 13| 59| 42
BBB | 2| 3| 1

What do you recommend? Suggestions to get this working?

Thank you so much.

Rui Rodrigues.

This use case makes a lot of sense, but it doesn't 100% match the type of table we use for aggregation-based visualizations- because you are trying to show an aggregated value at the intersection of two keys, you have fewer options. Here are the ones I can think of:

  1. Use a less-dense table, where you would have three columns: Customer | Event type | Count
  2. Use a heatmap visualization instead of table. This visualization allows 2 bucketed axes, for both X and Y
  3. Instead of using aggregations, you could pre-aggregate the data using the ES transforms feature. You could create an index which has the summary data you want, and then customize the table in Discover. Once you Save your search from discover, you can add it to a dashboard.

Hi @wylie,
Thank you so much for your reply.
I'm going to try all the suggestions you shared.