[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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 <cchambers@xxxxxxxx>
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 <grace.guo@xxxxxxxxxx> 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 <jrahman@xxxxxxxxxxx> 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@xxxxxxxxx> wrote:
>>
>>> We should take this to dev@ btw
>>>
>>> Max
>>>
>>> On Mon, Sep 10, 2018 at 6:18 PM Maxime Beauchemin <
>>> maximebeauchemin@xxxxxxxxx> wrote:
>>>
>>>> + cc Christine Chambers <cchambers@xxxxxxxx> who's currently working
>>>> on scoped filters
>>>>
>>>> Max
>>>>
>>>> On Mon, Sep 10, 2018 at 4:37 PM Grace Guo <grace.guo@xxxxxxxxxx> 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 <jrahman@xxxxxxxxxxx>
>>>>> 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@xxxxxxxxx> 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@xxxxxxxxxxx>
>>>>>> 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@xxxxxxxxxxx>
>>>>>>> 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
>>
>>
>>