tanhaoqin opened a new issue #4310: [Filter Box] Option to bind filter-boxes based on their datasource URL: https://github.com/apache/incubator-superset/issues/4310 Make sure these boxes are checked before submitting your issue - thank you! - [x] I have checked the superset logs for python stacktraces and included it here as text if any - [x] I have reproduced the issue with at least the latest released version of superset - [x] I have checked the issue tracker for the same issue and I haven't found one similar ### Superset version Master version ### Expected results Being able to apply filterbox filters partially on only slices from the same datasource. This can be important in large dashboards or dashboards with mirrored slices. ### Actual results As of the latest version of Superset, filterboxes filters are applied globally to all slices in a dashboard as long as the column name of the filter is present in the slice, with the only exception being the Filterbox slice itself. ### Steps to reproduce We suggest adding an a checkbox to optionally apply datasource binding to filterboxes. With the checkbox selected, filterbox that is created from datasource X will only be applied to slices made from datasource X in the dashboard. We believe that this feature has many different use cases. Also, having this option would not break existing dashboards. Use case 1: For example, let's say we have company dashboard that visualizes marketing efforts. The dashboard could be divided into sections with each section focused on the sales/results/campaigns of a certain region. These sections are identical to each other with the exception of the datasource. Without this feature, our filters will be applied to each section even though it is unnecessary. It also prevents other filterboxes from being used as other filterbox slices will have its options restricted by the filters. While the latter can be solved using the 'immune to filter' option, the first issue cannot be solved if we would actually like to be able to apply filters to it from a seperate filter box. By having this feature, we can prevent unwanted filters to be applied on unrelated slices with conflicting column name. While it is true that we can have seperate dashboards for each section, doing so would make it harder for comparisons to be made and also provide a worse user experience for the dashboard user. Use case 2: In a general-purpose dashboard with no conflicting columns, it is likely that a dashboard contains slices from multiple datasources. Applying a filter reloads ALL slices except the filter box itself, leading to unnecessary API calls and waiting times for the dashboard user. By adding an option to bind filter boxes to datasources, we can apply the reloading on only affected slices thus prevent unneeded reloading on unrelated slices which takes place even where there are no column names conflict. Use case 3: In the case where we want a filter box to be applied globally, this can also be possible by simply not applying the binding when creating them We believe that this feature would be really helpful for Superset users and we are willing to work on a PR for this feature. Would appreciate any feedback or response. Thank you!
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
