Dash Datatable Drilldown Feature?

Hi everyone! I was just wondering whether there were any community solutions or suggestions on how to get a more robust table solution for Dash than the DataTable component. It works wonderfully for most things, but with some of the large datasets that I’m working with, it is imperative that I be able to “drill down” into the data to peel back the layers of a given piece of aggregated information. About 60% of what I do in Dash is table-related so it would be an incredible help if a more robust table solution were available and of the apps that I’ve seen online, the same is true of many Dash apps with regard to the focus on charting and tables. Thank you! :slight_smile:

Hi,

Could you give us a practical example of what you mean by this statement? Thanks!

This is just an arbitrary link of a drill down example - Drilldown Example. The gist of a drill down is that you may have aggregation but if a user wanted to be able to drill into it, then they would be able to see what that aggregation consists of. There are probably some non-user friendly ways to go about doing that if I wanted to with dash, wherein I do some kind of active cell callback to output an entirely new data, but it would be nice if there were an option to output that data in the confines of the existing datatable itself so that I wouldn’t have to present the user with several different tables as a hierarchy. Let me know if that makes sense or whether there’s something that’s still a bit confusing! :slight_smile:

Hello dash-beginner

You can find something here.

https://community.plotly.com/t/drill-down-table-with-next-button/26330

Yeah so that’s the kind of implementation that I was talking about in terms of active cell and output a new table, but given my dependence on tables, I would benefit greatly from a more advanced feature, wherein you could deliver a tree-like hierarchy when clicking a cell (like in the example that I had sent previously).

Hmm I think tableau (and some of the other platforms) have drilldowns that, in addition to doing the tree structure in your above example, also open entire new pages that have a table (or multiple) at a lower levels aggregation than the original one.
Would opening a new window be a viable solution your thinking of?

By new window, do you mean adjacent DataTables? The adjacent DataTable option is definitely an option that I’ve considered and would be open to implementing should I be unable to do the tree method. I think my organization would prefer to stay on resources that are open source if possible just because we want to make sure that we have full ownership over our stack in case there are ever some rough times ahead.

Nah, i meant like opening up an entire new browser window specific to just the data you may have clicked on. You could do something like this if you want a collapsible table:

I ended up using two (even 4) adjacent table to implement the drilldown. Would be amazing to see this feature implemented by Dash.

You should take a look at the newly open-sourced implementation of ag-grid. With the enterprise license for the grid, you will be able to create an extremely advanced drilldown. I think that this is likely your best option if you need a robust solution, as this is one of the most impressive react datagrid packages that I’ve come across.

2 Likes

Hi @dash-beginner thank you for the follow-up. I do have the Enterprise version and am somewhat familiar with Ag-Grid, so this would indeed be my preferred implementation. However, I haven’t seen anything in the Docs that suggests that the Dash wrapper supports drilldowns. Would you be so kind to provide a lead or code snippet?

Hello @filiron,

The Dash Wrapper is just that, a wrapper, we are trying to pass as much functionality on to the developer as possible.

However you would go about implementing this in AG Grid, you should be able to do so in the wrapper.

Here is an example of Master Detail:

3 Likes

Thank you so much @jinnyzor

1 Like