如何在Crossfilter中正确创建尺寸和组?

时间:2018-08-21 14:35:42

标签: javascript reactjs crossfilter

我有一个这样的数据集:

[
  {
    event: 'open',
    delay: 120,
    createdAt: 157643454332
  },
  {
    event: 'click',
    delay: 240,
    createdAt: 157866452342
  }
  // roughly a 1000 records with data in the above format
]

我想创建一个看起来像like this的交叉过滤器。

条件如下:

  • 如果更改“星期几”,则会更改其他3张图
  • 如果更改了“小时”,则会更改其他3张图表
  • 如果“打开次数”图形发生更改,则它会更改“星期几”和“一天中的小时”,但不会更改点击次数
  • 如果“点击次数”图发生更改,则它会更改“星期几”和“一天中的小时”,但不会更改“打开次数”

我尝试了很多事情,并被卡住了。谷歌搜索也没有帮助。

任何有帮助我朝正确方向前进的指针的人,将是有帮助的!

我也阅读了文档,但这一切都令人困惑。

更新:这是一个codeandbox,基本上可以完成我现在要设置交叉过滤器的所有操作。

如何对其进行过滤以使其类似于交叉过滤器?那就是让我感到困惑的地方。

https://codesandbox.io/s/l4w2vn5rpz

1 个答案:

答案 0 :(得分:1)

我遇到了难以理解的问题。

对于将来登陆这里的任何人,我在博客文章和API文档中找到的以下代码片段都会有所帮助。

  

该函数必须返回自然排序的值,即   正确执行JavaScript的<<=>=>   运算符。

     

尤其是,这意味着您的维度和组值   函数绝不能返回NaNundefinednull

  

该维读取数据集,并在函数中对具有相同结果的项目进行分组。

  

维度使我们可以将不同子集中的项目分组。应用过滤器会从我们的数据集中排除部分项。

  

用于对数据进行排序的交叉过滤器工具是维度,因此我们的想法是更改维度。

原始帖子可以找到here。另外,在您浏览完博客文章之后,仔细阅读API ReferenceCrossfilter Gotchas确实很有帮助,因为它有助于弄清我觉得文档中有些复杂的事情。

我希望这对某人有帮助!