Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] Intra Dashboard Interaction (Publish Subscriber Design Pattern) #7512

Closed
jitendra-kumawat opened this issue May 15, 2019 · 16 comments
Assignees
Labels
dashboard:native-filters Related to the native filters of the Dashboard enhancement:request Enhancement request submitted by anyone from the community .pinned Draws attention

Comments

@jitendra-kumawat
Copy link
Contributor

jitendra-kumawat commented May 15, 2019

Most of BI Tools have features of Data Drill Down and Dashboard Linking but superset doesn't have this in design so this is Design Proposal to add these features in superset and we can serve below use cases

Use cases
Intra Dashboard Interactivity means whenever user do selection over any visualization/chart in Dashboard then selection of that chart can apply to rest/set of charts in following manner depends on UX/Usecases-

Apply as filters/global filters in sql query as where clause with required query operators referred as applyFilter
Change model or schema of chart referred as changeConfig
Show information in popup referred as showPopup
Redirect to new URL or any other dashboard url referred as redirectToUrl
Mix of any action listed above referred as applyFilter and configChange
Selection sync or highlight same selections in different charts referred as highlightSelections

Design

To solve above use cases here is a design proposal to implement above feature in superset and calling it as Publish Subscriber Design Pattern , in this any charts which is used for selection (via click or user-interaction) called as Publisher and rest /set of charts listening these selections and update itself based on action defined called as subscribers.
refer to following terminology

  • Publisher - any chart publish selection on click
  • Publish Columns - list of columns and respective data published in form of selection
  • Subscriber- any chart subscribe selections published by publisher
  • Action - action need to execute on subscription, actions can be any above use case listed in introduction (1-6)
  • Operator- SQL query operators used while creating where clause like =,!=,IN etc
  • Subscribe Columns- subscriber can choose columns from publish columns before execute action
  • Extra- store extra metadata required like publish value can map with chart ids to dynamic chart changes
  • Interactor - acts mediator between charts and dashboard to identify publisher, subscriber and execute action with correct information
  • PubSubMetaData - metadata info related to publisher and subscriber

Design Flow screenshot

  1. Over all design flow diagram

Screenshot 2019-05-07 at 10 01 37 AM

Screenshot 2019-05-13 at 12 28 36 PM

** 2. UI for get info of publishers and subscribers from user**
Screenshot 2019-05-13 at 12 32 00 PM

Steps

1.There is a option on Dashboard to configure above parameters
2. A separate UI at dashboard level open to set PubSub info from USER and store it as PubSubMetaData .
3. once user will choose this option and it will store in Dashboard state and MetaData.

Describe alternatives you've considered
We can implement above design in two stages

Phase -I

  • All Pub sub info will be store at Chart level in form data and new options will be defined and added in PubSub section of Chart
  • PubSubMetaData will be created from slices and store at dashboard level and Options of Reconcile will be provided at dashboard level
  • once user will choose this option PubSubMetaData will create and store
  • interactor will be implemented as per design.

Screenshot 2019-05-13 at 12 57 14 PM

IMG_20190513_164645

IMG_20190513_164936

Phase -2

  • Designed UI will be implemented as per design and read all pubsub info from UI instead slices formdata
  • Reconcile option change to Configure Filters and update functionality

Additional context
NA

If anyone have any thoughts related to this type of feature then we can have a discussion further .

@issue-label-bot
Copy link

Issue-Label Bot is automatically applying the label #enhancement to this issue, with a confidence of 0.95. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

@issue-label-bot issue-label-bot bot added the enhancement:request Enhancement request submitted by anyone from the community label May 15, 2019
@jitendra-kumawat jitendra-kumawat changed the title [Feature] Intra Dashboard Interaction (Publish Subscriber Design Pattern) [Feature request] Intra Dashboard Interaction (Publish Subscriber Design Pattern) May 15, 2019
@graceguo-supercat
Copy link

@xtinec take a look!

@jitendra-kumawat
Copy link
Contributor Author

@xtinec , if you have any thoughts over this design we can discuss .

@jitendra-kumawat
Copy link
Contributor Author

@mistercrunch @graceguo-supercat ..any thoughts or input over this feature

@stale
Copy link

stale bot commented Aug 19, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. For admin, please label this issue .pinned to prevent stale bot from closing the issue.

@stale stale bot added the inactive Inactive for >= 30 days label Aug 19, 2019
@stale stale bot closed this as completed Aug 26, 2019
@satishabburi
Copy link

Any input on when this feature scheduled for development?

@kalimuthu123
Copy link

any update about this feature

@Mabloq
Copy link

Mabloq commented Feb 27, 2020

Need this feature for the execs that dont know how to investigate data on their own. They just want the intuitive "click to go deeper" approach. This sounds like a really cool design and I hope it gets picked up!

@tomrod
Copy link

tomrod commented Sep 23, 2020

Agreed with these comments. Lack of this feature will probably prevent adoption by my org.

@ITNoesis
Copy link

ITNoesis commented Dec 8, 2020

This is highly desirable..

@junlincc junlincc reopened this Dec 9, 2020
@stale stale bot removed the inactive Inactive for >= 30 days label Dec 9, 2020
@junlincc junlincc added the dashboard:native-filters Related to the native filters of the Dashboard label Dec 9, 2020
@junlincc
Copy link
Member

junlincc commented Dec 9, 2020

We are aware of the high demand of this feature, and have been working on setting up the architecture to enable cross filtering, drill down etc. that PowerBI and other BI tools offer.
we don't have committed timeline yet, but it's definitely happening!

@junlincc junlincc added the .pinned Draws attention label Dec 9, 2020
@villebro
Copy link
Member

villebro commented Dec 9, 2020

FYI as part of the dashboard native filter project we've recently introduced a new hook to viz plugins that can be used to push data from a viz to the dashboard. For now it's mostly limited to adding filters and overriding temporal parameters (time range, time grain etc), but we're also looking into supporting other types of interaction, like changing groupbys etc. This can be used to drive cross filtering between charts and also drill downs down the road. See the setExtraFormData hook in apache-superset/superset-ui#840

@eddymoussallem
Copy link

We are aware of the high demand of this feature, and have been working on setting up the architecture to enable cross filtering, drill down etc. that PowerBI and other BI tools offer.
we don't have committed timeline yet, but it's definitely happening!

Glad to hear!!!!

@inviscid
Copy link

Based on @villebro comment above, is there a timeline for when we might be able to perform drill through natively?

@pundirg
Copy link

pundirg commented Apr 28, 2021

is there any updates or timeline ? this feature will provide wider adoption

@jhult
Copy link
Contributor

jhult commented Jul 20, 2021

Looks like there is some good progress in this PR: #14688

@apache apache locked and limited conversation to collaborators Feb 2, 2022
@geido geido converted this issue into discussion #18384 Feb 2, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
dashboard:native-filters Related to the native filters of the Dashboard enhancement:request Enhancement request submitted by anyone from the community .pinned Draws attention
Projects
None yet
Development

No branches or pull requests