I have a data table that needs complex filtering. It is that kind of interrogation that needs "GROUP BY any-of-the-column" "WHERE any-of-the-column = value" "SORT BY any-of-the-column".

I know good data tables allow users to scan, analyze and manipulate information in a complex way, but I'm afraid that the users will be confused with all the filters because it is a little confusing for me too.

I have some solutions, but I feel none is enough good, so I'd love to hear some thoughts on how to add all that conditions without overwhelming the user.

Thank you a lot for the time to read this!

  • 1
    The best approach in situations like this, where you have already put time and thought into this, and we are working from a one sentence description, is to work from whatever you have already done. You say you have some solutions. You should upload your best one and phrase the question so that its about how your solution doesn't meet the intended goals. That solution, even if it isn't the right one, will provide the context for others to provide good input. – dennislees Feb 9 at 13:59
  • Have you looked at the way you can add complex filters in Mixpanel for example? You add filters one by one and its quite easy to understand for users, although they also provide tooltips in the first use. – Rick P Feb 9 at 19:58
  • @Madalina Taina could you share your solution you have in mind? – NB4 Feb 16 at 6:00

A data can be rendered as a pivot table, that covers the functionality you described.

There is a nice example of how such table facilities can be implemented, you can find it described with a handy example in Google Sheets documentation: create and use pivot tables.

E.g., you can render following rows:

enter image description here

Applying grouping and sorting:

enter image description here

The whole process of configuring seems to be quite intuitive and simple for the users that used to work with spreadsheets:

enter image description here

Perhaps, there is a room for simplification of the interface by means of reducing some excessive fields and operations that are not valid or useful for your particular data set.

There is a well-established approach for analysis that can be applied to table data, that might bring some ideas: online analytical processing.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.