Kibana map drill-downs enable access to all fields

I've been using drill-downs for about a year now and have been meaning to post on this topic to get feedback on if I'm missing something in what I'm attempting to do. We use drill-downs mainly from maps and I'll describe my understanding how how we've got them to work and how we'd like them to work.

Use Case
I'll use the NYC taxi dataset as an example since it's similar to what we're doing and allows me to describe the data we're working with. Our dataset is looking at clustering of events (drop-off, pick-up) points and we are clustering the data spatial-temporally. Our dataframe looks like
cluster_id | lat | lon | cluster_start_time | cluster_end_time | cluster_radius | google_maps_link | ... other data fields

On our map we are plotting the clusters in the above dataframe.

Current Approach
In maps we need to add tooltips for any values we want to use in a drill-down. We can then add a Single click "Go to URL" drill-down and use {{event.value}} to drive. Each tooltip we add has the menu option and each value is separate. I have NOT been able to get {{event.rowIndex}}, {{event.values}} to work. So in order for us to leverage data to create a "Go to URL" link I'm finding myself needing to actually create a field that contains multiple values that I can then parse. In this case a create a value in the dataframe called lat_lon that looks like "23.123 45.3453" and then parse the lat and lon separately so that I can use the lat and lon in the URL which looks like https:\\example.com?lat={{lookup (split event.value " ") 0}}&lon={{lookup (split event.value " ") 1}}. Fortunately I found the following issue which allowed me to parse the string using lookup and split.

That works but feels like a big limitation.

Feature Request
Maybe this functionality already exists and I don't know how to use drill-downs properly, but what I would like is to access the entire data row for "Single click" functionality so that I could do something like https:\\example.com?lat={{event.value['lat']}}&lon={{event.value['lon']}}. Every point on a map represents a row and the URLs we will need to build will likely depend on a minimum of 5 fields (lat, lon, cluster_start_time, cluster_end_time, cluster_radius). Our work around now is to create a run-time field and or regular field that contains all 5 values and shove them into a single field so we can access them using the split/lookup approach described above.

This would also allow me to define multiple drill-downs still, I would just select which value(s) are used in each drill-down. I understand that sending all the data to the client may be excessive for some indicies but that can be controlled either with new functionality by (1) allowing the user to specify which fields are available for the url and sent back to the browser or existing functionality (2) only allow urls to access fields that are selected as tooltips.

Another benefit of this feature request is that the single click menus could be shown either above or below the tooltips and not require another click to access them. Currently the "Single click" functionality is very hidden and so most users I work with I need to actually them how to get to the URL link, that alone is a big barrier for users with this feature.

I'll defer to some of my colleagues who know the drilldown feature best but wanted to comment on this part

Another benefit of this feature request is that the single click menus could be shown either above or below the tooltips and not require another click to access them

we are working on a tooltip redesign that will surface actions like drill downs more directly and will hopefully help users discover the extra actions. Tooltip redesign · Issue #615 · elastic/elastic-charts · GitHub

as well as some fixes in an upcoming minor to the table visualization (where the drill is hidden in a + [Lens] Allow cell contents to be clickable when drilldowns are enabled · Issue #102115 · elastic/kibana · GitHub

Hi @petersedivec ,

The {{event.rowIndex}} and {{event.values}} variables are not available in Single click trigger. Those variables are only available for Row click trigger, which happens on table row clicks, and those variables reference the data downloaded in the table.

Trigger variables: Customize interactions with drilldowns | Kibana Guide [8.3] | Elastic

Regarding your feature request for access to more granular document level data on Single click, that is something interesting we could explore. The challenges there are: as you mentioned, sending lots of data to the client, but also, the Single click event is usually an aggregation of many documents and there the fields in those documents might have different values. Like a Single click event might happen on an aggregation, which is composed of many individual documents, where each document has a different {{event.value['lat']}} value.

1 Like

Graham -

Thanks for the feedback, I've been having issues getting to the Elastic discuss page since Friday from client site so just doing the email reply. I read through all the related issues for github issue 615, sounds awesome and looking forward to a lot of the updates. I stepped away from working with the elastic stack for the last 6-8 months but seeing the updates and the pace is super impressive. Several features like time soldier (7.14) have been released that will have huge benefits for our use cases.

Thanks, I figured the event.rowIndex and event.values were tied to tables and wouldn't work. Appreciate the link to the trigger variables section. I've been reading the drill-down documentation over-and-over multiple times and each time able to digest and understand a little more. I've always found the ES documentation to be very accurate, terse and concise but generally all there. Some of the concepts which are new can be tough to understand, e.g. understanding "single-click vs context menu" and not really understanding the differences.

Regarding the feature request discussion, I understand that for tables and all non-map visualizations "single-click" events will almost always be aggregations of data, however for maps that leverage "Documents", those maps I believe will always result in single data points. Even when there are multiple points at the exact same coordinate, Kibanan shows them as separate layers in the tooltip dialogue. I realize this is a much more specific use case of "single click" but most of our use cases the maps are the main focus of our dashboards with surrounding charts and metrics generally just summarizing facets of the dataset and allowing for filtering against key dimensions.

Thanks for the time and thought on the feedback.

@petersedivec would you mind opening an enhancement request at Sign in to GitHub · GitHub for Maps Row click trigger drill down support? Please include your use case.

Thanks,

Nathan