apache / superset

Apache Superset is a Data Visualization and Data Exploration Platform
https://superset.apache.org/
Apache License 2.0
62.25k stars 13.66k forks source link

"Select All" functionality needed in column select #19426

Open lmaloney opened 2 years ago

lmaloney commented 2 years ago

Discussed in https://github.com/apache/superset/discussions/18247

Originally posted by **cccs-rc** February 1, 2022 Hi all, Having recently deployed 1.4, we've discovered that the "Select All" option (pictured below as seen in 1.3) was removed from column SelectControl in the Explore view. It appears to have been a conscious decision made during the work done for [this SelectControl refactoring PR](https://github.com/apache/superset/pull/16510/files). However, our users rely heavily on that "Select All" functionality, so we're hoping this can be brought back in some form or fashion. Without a "Select All" functionality, users are forced to manually select all the fields they wish to include in a chart. This doesn't scale well when dealing with datasets that have 100+ columns. Our users often want to view such data sets in table charts. While they may ultimately decide to pare the number of fields down to those that are most relevant to their use cases, when users are initially developing charts, it can be critical for them to be able to easily view all the fields/data available in order to identify which fields are most relevant. Our users rely on this functionality so heavily that we've already jammed it back into our fork, so we've seen that things can get a little weird in the UI with the new functionality _and_ a Select All option (e.g., when selected fields are moved to the top of the column list, where should the "Select All" button go?). We're hoping we can come up with a design that will allow us to keep the "Select All" functionality while maintaining good UX. We're happy to do the work and put in a PR if we can get some insight into what criteria the design should meet. Any thoughts/insight would be much appreciated! Thanks!
villebro commented 2 years ago

Thanks for opening the issue @lmaloney. This has been raised by many people since the option was removed. The main motivation for removal is that selecting all columns is a fairly uncommon use case when creating charts - the majority of charts would not easily handle grouping by 100+ columns, both from a visualization perspective, but also from a query performance perspective. However, I understand the use case e.g. in the table chart when using "raw records" mode. Out of curiosity, are you looking to use it exclusively in "raw records" mode in the table chart, or in other charts, too?

lmaloney commented 2 years ago

Ah, I think there is a disconnect here....

My use case, as well as "CCC-RC" (I suspect) use case is indeed the data table chart.

I don't really use the graphing functionality all that much of the charts... I do.. but, 90% of the charts I produce are data tables. Either raw data, OR summaries of data.

Unfortunately most of the data tables just have LOTS of columns.

The data is pre-processed, and cached. (the underlying data table is actually a view, with pre-match results stored in a lookup table that just uses the IDs).

So querying the results (even in the tens of thousands ) takes sub-second time. Of course the presentation within SuperSet is limited to a few thousand at a time. Ergo, performance has not been an issue at all.

So, yes, it's primarily "raw" and it's the data table.

To help persuade justifying re-instatement of this feature, I would point out the obvious... that if many people have raised this issue... then it is indeed used quite a bit! :)

Finally, I want to state that I've been using Superset for my application for the past six months, and I love it so much. I have not experienced any bugs or problems, and I'm looking forward to getting some spare time to contribute to the project.

rusackas commented 1 year ago

@michael-s-molina / @cccs-RyanK do you happen to know the state of affairs here, and if/when this particular issue might be resolvable?

michael-s-molina commented 1 year ago

@rusackas https://github.com/apache/superset/pull/22084 introduced Select All for synchronous selects with mode = 'multiple'. Using Explore with dnd, the Columns popover uses the Select in single mode, which will not enable Select All. If I'm not mistaken, @kasiazjc was working on some prototypes for this issue. I'm not sure if it uses the Select control to resolve it.

SharonCastel commented 9 months ago

How can I enable the option for select all? is there a progress that I missed?

lmaloney commented 8 months ago

To follow up for any others coming here, you too @SharonCastel , there is a way to do this....

The current way to do this, is to create a view/query in the SQL labs. If you make a custom query in sql labs, you can drag and drop all your columns int to the query. when you save off the query, you can automatically going the chart builder, and all your fields will be in the list for the table/chart to use without having to drag and drop every single one.

rusackas commented 5 months ago

Hi all,

I'm not quite sure what to do with this one. Arguably, it's stale and could be closed by that argument. But I know it's still present and important.

Then again it's more of a feature request than a bug... so it should be a Discussion, not an issue. We could close this in favor of https://github.com/apache/superset/discussions/18247 by that argument.

But... I'd like to see this happen (like many others), as I've wished for it. Does anyone here have the intent to contribute such a feature? @kasiazjc did you wind up with any designs around this perchance?

cccs-rc commented 4 months ago

I believe the open questions about design were what stopped our previous contribution. Unfortunately, I don't think we have cycles to try to revive it, but for whoever takes this on, agreement on UI design will be an important piece! :)