我想使用“过滤器框”以外的其他切片来将过滤器应用于仪表板。

对于结构像一棵树的数据集,我已经将d3可视化库中的缩进树调整为一个看起来像这样的切片:

我的树切片具有代表不同路径的分支和级别,以及包含我的值的末端节点。
javascript - 从“筛选器框”以外的切片应用仪表板筛选器-LMLPHP

现在,我想使用此切片来过滤我的仪表板。特别是,当用户单击我的一个终端节点时,我想删除以前的任何值,而是应用该节点的值。

我尝试将节点的路径和值表示为字符串,并像在常规“过滤器框”中那样使用它。但是,在很多情况下,我最终会得到很长的字符串,从而导致糟糕的用户体验。

我查看了“过滤器框”实现,以查看是否可以找到用于更改过滤器设置的方法。但是,这似乎是一个非常复杂的过程,在我的片中重新实现“筛选器框”在我看来是错误的方法。

是否有更改仪表板过滤器并将其应用的通用方法?

最佳答案

除已设置为(可选)发出仪表板过滤器事件的“过滤器框”之外,“表”可视化是当前唯一的其他可视化。实施方法如下:

https://github.com/apache/incubator-superset/blob/master/superset/assets/visualizations/table.js#L130

可视化界面是一个接收slicepayload参数的函数。如上例所示,slice对象公开了addFilerremoveFilter

因此,可以通过使用slice对象将您的可视化设置为发出适当的过滤事件。

关于javascript - 从“筛选器框”以外的切片应用仪表板筛选器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47176317/

10-11 13:20