You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airflow.apache.org by Maxime Beauchemin <ma...@gmail.com> on 2018/09/12 15:55:40 UTC

Re: Visual Correlation in Superset

The main thing that "scoped filters" and "visual correlation" have in
common is the fact that they imply some sort of cross chart communication.
Christine I tagged you here so you'd see the diagram that Grace shared.

Let's take this to dev@. I think we need an independent SIP for chart
messaging (pub-sub). Filtering events may or may not be pubsub events. I'd
vote for thinking of them independently for now.

Max

On Tue, Sep 11, 2018 at 2:22 PM Christine Chambers <cc...@lyft.com>
wrote:

> It is a bit too soon to call the implementation. Still in the process of
> writing a design for scoped filters though I do like where Grace is going
> with the idea. :)
>
> I see visual correlation (VC) as an extreme case of crossfilter
> <http://square.github.io/crossfilter/> in which the "crossed" section is
> a single grain on the time series (based on the aggregation level of the
> time series). We can think of scoped filters as what can be used to back
> the VC (i.e. the actual slicing). My thought is a scoped filter can be
> created in multiple ways (at least two):
> 1) descriptively through the UI (the MVP IMO)
> 2) implicitly through interactions like the one in VC (e.g. hovering over
> a grain of time)
>
> The model I have forming in my head is a pubsub one where scoped filters
> get published by the ways mentioned above and interested parties (e.g.
> charts in dashboards) subscribe to them. I'm hesitant to pin down the role
> `refreshExcept` plays right now. My gut feeling is I'll refactor/rewrite a
> large portion of it. :)
>
> All of these said, Jamshed, I don't think scoped filters will solve the
> particular hover interaction issue you're running into. Assuming scoped
> filters were implemented today, I'd expect the "show tooltips in other
> charts" bit to be callback functions each chart in the dashboard provides
> (these callback functions will take a scoped filter as one of their
> arguments). Btw, nvd3 is very imperative, to make it play nice with
> redux/react, instead of reaching in for the inner nvd3 object, you could
> consider adding a react wrapper around it and provide a callback function
> to show tooltips.
>
> What's your timeline like for implementing VC? Trying to figure out if/how
> I can help you with the slicing bit.
>
> Cheers,
> Christine
>
> On Tue, Sep 11, 2018 at 12:59 PM Grace Guo <gr...@airbnb.com> wrote:
>
>> BTW, use scoped filter to implement visual correlation in dashboard is
>> just my thought…I didn’t discuss with Christine :)
>> This feature can totally independent of scoped filter too. I am open to
>> all proposals.
>>
>> - Grace
>>
>>
>> On Sep 11, 2018, at 12:44 PM, Jamshed Rahman <jr...@twitter.com> wrote:
>>
>> Thanks for sending the Scoped Filter info. I'm not sure if this is inline
>> with what I'm trying to do though. The "Chart" list objects available in
>> Dashboard.jsx is of type ChartPropShape. They don't have references to the
>> inner nvd3 object, which is required for hover/tooltip rendering. I will
>> need to access to /Chart/Chart.jsx objects for the nvd3 reference.
>>
>> Christine, any thoughts? :-)
>>
>> Jamshed
>>
>> On Mon, Sep 10, 2018 at 6:19 PM Maxime Beauchemin <
>> maximebeauchemin@gmail.com> wrote:
>>
>>> We should take this to dev@ btw
>>>
>>> Max
>>>
>>> On Mon, Sep 10, 2018 at 6:18 PM Maxime Beauchemin <
>>> maximebeauchemin@gmail.com> wrote:
>>>
>>>> + cc Christine Chambers <cc...@lyft.com> who's currently working
>>>> on scoped filters
>>>>
>>>> Max
>>>>
>>>> On Mon, Sep 10, 2018 at 4:37 PM Grace Guo <gr...@airbnb.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> Here is my thought that use *Scoped filter* to resolve this problem.
>>>>>
>>>>> *refreshExcept *hold the logic to find the list of charts that should
>>>>> be affected by filter change.
>>>>>
>>>>> Thanks!
>>>>>
>>>>> - Grace
>>>>>
>>>>> On Sep 10, 2018, at 12:01 PM, Jamshed Rahman <jr...@twitter.com>
>>>>> wrote:
>>>>>
>>>>> That was also my idea but I need some help understanding how charts
>>>>> can subscribe to dashboard events using the current react/redux model. Is
>>>>> there an example of a chart action subscribed to dashboard state? If not,
>>>>> where would be the right place to put it? Sorry I'm still learning
>>>>> react/redux and trying to figure this out so any direction would be helpful.
>>>>>
>>>>> On Sun, Sep 9, 2018 at 8:42 PM Maxime Beauchemin <
>>>>> maximebeauchemin@gmail.com> wrote:
>>>>>
>>>>>> The cross communication between charts on a dashboard is currently
>>>>>> limited to filtering events.
>>>>>>
>>>>>> We need a much better pub-sub approach to widen what's possible
>>>>>> there. You can picture a pub event "time-hover" and some visualizations
>>>>>> could handle this type of event.
>>>>>>
>>>>>> Max
>>>>>>
>>>>>> On Fri, Sep 7, 2018 at 11:17 AM Jamshed Rahman <jr...@twitter.com>
>>>>>> wrote:
>>>>>>
>>>>>>> I think Maxime might be OOO. Adding Chris and Grace since you guys
>>>>>>> were very involved in Dashboard V2 work. Pls let me know if you have any
>>>>>>> suggestions.
>>>>>>> The work is more detailed in the google doc linked below. If you
>>>>>>> don't get access to the google doc, let me know.
>>>>>>>
>>>>>>> Thanks in advance,
>>>>>>> Jamshed
>>>>>>>
>>>>>>> On Wed, Sep 5, 2018 at 10:39 PM Jamshed Rahman <jr...@twitter.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Maxime,
>>>>>>>> Hope you're doing all right.
>>>>>>>>
>>>>>>>> I'm working on adding a feature called Visual Correlation to
>>>>>>>> Superset. But I'm a little stuck trying to find a way to reference Chart
>>>>>>>> objects from Dashboards. Essentially I need to be able to call a function
>>>>>>>> on the nvd3 chart objects from the Dashboard. If you know of any code that
>>>>>>>> does this in Superset, or have suggestions on how to make this work, then
>>>>>>>> fire away. :-)
>>>>>>>>
>>>>>>>> The work is described here in this google doc:
>>>>>>>>
>>>>>>>> https://docs.google.com/document/d/1WrQS_WcE0DfOBpmKQAEqOnDwXnJMg5DRbFl8p71Ig5A
>>>>>>>>
>>>>>>>> --
>>>>>>>> Thanks
>>>>>>>> Jamshed
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Thanks
>>>>>>> Jamshed
>>>>>>>
>>>>>>>
>>>>>
>>>>> --
>>>>> Thanks
>>>>> Jamshed
>>>>>
>>>>>
>>>>>
>>
>> --
>> Thanks
>> Jamshed
>>
>>
>>

Re: Visual Correlation in Superset

Posted by Sid Anand <sa...@apache.org>.
Wrong dev list :-)
-s

On Wed, Sep 12, 2018 at 8:55 AM Maxime Beauchemin <
maximebeauchemin@gmail.com> wrote:

> The main thing that "scoped filters" and "visual correlation" have in
> common is the fact that they imply some sort of cross chart communication.
> Christine I tagged you here so you'd see the diagram that Grace shared.
>
> Let's take this to dev@. I think we need an independent SIP for chart
> messaging (pub-sub). Filtering events may or may not be pubsub events. I'd
> vote for thinking of them independently for now.
>
> Max
>
> On Tue, Sep 11, 2018 at 2:22 PM Christine Chambers <cc...@lyft.com>
> wrote:
>
> > It is a bit too soon to call the implementation. Still in the process of
> > writing a design for scoped filters though I do like where Grace is going
> > with the idea. :)
> >
> > I see visual correlation (VC) as an extreme case of crossfilter
> > <http://square.github.io/crossfilter/> in which the "crossed" section is
> > a single grain on the time series (based on the aggregation level of the
> > time series). We can think of scoped filters as what can be used to back
> > the VC (i.e. the actual slicing). My thought is a scoped filter can be
> > created in multiple ways (at least two):
> > 1) descriptively through the UI (the MVP IMO)
> > 2) implicitly through interactions like the one in VC (e.g. hovering over
> > a grain of time)
> >
> > The model I have forming in my head is a pubsub one where scoped filters
> > get published by the ways mentioned above and interested parties (e.g.
> > charts in dashboards) subscribe to them. I'm hesitant to pin down the
> role
> > `refreshExcept` plays right now. My gut feeling is I'll refactor/rewrite
> a
> > large portion of it. :)
> >
> > All of these said, Jamshed, I don't think scoped filters will solve the
> > particular hover interaction issue you're running into. Assuming scoped
> > filters were implemented today, I'd expect the "show tooltips in other
> > charts" bit to be callback functions each chart in the dashboard provides
> > (these callback functions will take a scoped filter as one of their
> > arguments). Btw, nvd3 is very imperative, to make it play nice with
> > redux/react, instead of reaching in for the inner nvd3 object, you could
> > consider adding a react wrapper around it and provide a callback function
> > to show tooltips.
> >
> > What's your timeline like for implementing VC? Trying to figure out
> if/how
> > I can help you with the slicing bit.
> >
> > Cheers,
> > Christine
> >
> > On Tue, Sep 11, 2018 at 12:59 PM Grace Guo <gr...@airbnb.com> wrote:
> >
> >> BTW, use scoped filter to implement visual correlation in dashboard is
> >> just my thought…I didn’t discuss with Christine :)
> >> This feature can totally independent of scoped filter too. I am open to
> >> all proposals.
> >>
> >> - Grace
> >>
> >>
> >> On Sep 11, 2018, at 12:44 PM, Jamshed Rahman <jr...@twitter.com>
> wrote:
> >>
> >> Thanks for sending the Scoped Filter info. I'm not sure if this is
> inline
> >> with what I'm trying to do though. The "Chart" list objects available in
> >> Dashboard.jsx is of type ChartPropShape. They don't have references to
> the
> >> inner nvd3 object, which is required for hover/tooltip rendering. I will
> >> need to access to /Chart/Chart.jsx objects for the nvd3 reference.
> >>
> >> Christine, any thoughts? :-)
> >>
> >> Jamshed
> >>
> >> On Mon, Sep 10, 2018 at 6:19 PM Maxime Beauchemin <
> >> maximebeauchemin@gmail.com> wrote:
> >>
> >>> We should take this to dev@ btw
> >>>
> >>> Max
> >>>
> >>> On Mon, Sep 10, 2018 at 6:18 PM Maxime Beauchemin <
> >>> maximebeauchemin@gmail.com> wrote:
> >>>
> >>>> + cc Christine Chambers <cc...@lyft.com> who's currently working
> >>>> on scoped filters
> >>>>
> >>>> Max
> >>>>
> >>>> On Mon, Sep 10, 2018 at 4:37 PM Grace Guo <gr...@airbnb.com>
> wrote:
> >>>>
> >>>>>
> >>>>>
> >>>>> Here is my thought that use *Scoped filter* to resolve this problem.
> >>>>>
> >>>>> *refreshExcept *hold the logic to find the list of charts that should
> >>>>> be affected by filter change.
> >>>>>
> >>>>> Thanks!
> >>>>>
> >>>>> - Grace
> >>>>>
> >>>>> On Sep 10, 2018, at 12:01 PM, Jamshed Rahman <jr...@twitter.com>
> >>>>> wrote:
> >>>>>
> >>>>> That was also my idea but I need some help understanding how charts
> >>>>> can subscribe to dashboard events using the current react/redux
> model. Is
> >>>>> there an example of a chart action subscribed to dashboard state? If
> not,
> >>>>> where would be the right place to put it? Sorry I'm still learning
> >>>>> react/redux and trying to figure this out so any direction would be
> helpful.
> >>>>>
> >>>>> On Sun, Sep 9, 2018 at 8:42 PM Maxime Beauchemin <
> >>>>> maximebeauchemin@gmail.com> wrote:
> >>>>>
> >>>>>> The cross communication between charts on a dashboard is currently
> >>>>>> limited to filtering events.
> >>>>>>
> >>>>>> We need a much better pub-sub approach to widen what's possible
> >>>>>> there. You can picture a pub event "time-hover" and some
> visualizations
> >>>>>> could handle this type of event.
> >>>>>>
> >>>>>> Max
> >>>>>>
> >>>>>> On Fri, Sep 7, 2018 at 11:17 AM Jamshed Rahman <jrahman@twitter.com
> >
> >>>>>> wrote:
> >>>>>>
> >>>>>>> I think Maxime might be OOO. Adding Chris and Grace since you guys
> >>>>>>> were very involved in Dashboard V2 work. Pls let me know if you
> have any
> >>>>>>> suggestions.
> >>>>>>> The work is more detailed in the google doc linked below. If you
> >>>>>>> don't get access to the google doc, let me know.
> >>>>>>>
> >>>>>>> Thanks in advance,
> >>>>>>> Jamshed
> >>>>>>>
> >>>>>>> On Wed, Sep 5, 2018 at 10:39 PM Jamshed Rahman <
> jrahman@twitter.com>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> Hi Maxime,
> >>>>>>>> Hope you're doing all right.
> >>>>>>>>
> >>>>>>>> I'm working on adding a feature called Visual Correlation to
> >>>>>>>> Superset. But I'm a little stuck trying to find a way to
> reference Chart
> >>>>>>>> objects from Dashboards. Essentially I need to be able to call a
> function
> >>>>>>>> on the nvd3 chart objects from the Dashboard. If you know of any
> code that
> >>>>>>>> does this in Superset, or have suggestions on how to make this
> work, then
> >>>>>>>> fire away. :-)
> >>>>>>>>
> >>>>>>>> The work is described here in this google doc:
> >>>>>>>>
> >>>>>>>>
> https://docs.google.com/document/d/1WrQS_WcE0DfOBpmKQAEqOnDwXnJMg5DRbFl8p71Ig5A
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> Thanks
> >>>>>>>> Jamshed
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Thanks
> >>>>>>> Jamshed
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>>> --
> >>>>> Thanks
> >>>>> Jamshed
> >>>>>
> >>>>>
> >>>>>
> >>
> >> --
> >> Thanks
> >> Jamshed
> >>
> >>
> >>
>