javascript - 如何在 Crossfilter 中正确创建维度和组?
问题描述
我有一个这样的数据集:
[
{
event: 'open',
delay: 120,
createdAt: 157643454332
},
{
event: 'click',
delay: 240,
createdAt: 157866452342
}
// roughly a 1000 records with data in the above format
]
我想创建一个看起来像这样的交叉过滤器。
条件如下:
- 如果更改星期几,它会更改其他 3 个图表
- 如果更改了一天中的时间,它会更改其他 3 个图表
- 如果打开次数图表发生更改,它会更改星期几和一天中的时间,但不会更改点击次数
- 如果点击次数图表发生更改,它会更改星期几和时段,但不会更改打开次数
我已经尝试了很多东西,并且被卡住了。谷歌搜索也没有帮助。
任何有任何指示可以帮助我朝着正确方向前进的人都会有所帮助!
我也阅读了文档,但这一切都非常令人困惑。
更新:这是一个代码框,它基本上可以完成我现在所做的一切来设置交叉过滤器。
如何过滤它以充当交叉过滤器?这就是让我感到困惑的地方。
解决方案
我得到了我难以理解的东西。
对于将来登陆这里的任何人,我在博客文章和 API 文档中找到的以下片段将有所帮助。
该函数必须返回自然排序的值,即相对于 JavaScript 的 、 和 运算符表现
<
正确<=
的>=
值>
。特别是,这意味着您的维度和组值函数绝不能返回
NaN
、undefined
或null
。
.
维度读取数据集并在函数中对具有相同结果的项目进行分组。
.
维度允许我们将项目分组到不同的子集中。应用过滤器是从我们的数据集中排除项目的子集。
.
用于对数据进行排序的交叉过滤器工具是维度,因此想法是更改维度。
原始帖子可以在这里找到。此外,在阅读完博客文章之后,彻底阅读API 参考和Crossfilter Gotchas真的很有帮助,因为它有助于澄清我认为文档中的一些复杂内容。
我希望这可以帮助别人!
推荐阅读
- magento2 - magento 2 可配置产品缺货
- typescript - *indirect* 依赖的 TypeScript 错误,带有“找不到声明文件”
- php - 禁用 Woocommerce 中特定类别的购物车项目的其他产品类别
- c# - 调用公共函数时如何修复“变量已分配但其值从未使用”错误?
- r - 无法从 R Markdown 中的 Amelia 包中加载“自由贸易”数据
- ruby - 未初始化的常量 Syke::Core RubyGem
- python - 计算每个默认存储桶中有多少美元
- python - Python如何从postgres中的表中替换指定的单词/字符
- sql - SQL中按列分组联合查询
- c# - 当应用程序位于不同目录中时,如何找到启动应用程序的原始目录