我已多次阅读Crossfilter API文档,但看不到如何执行以下操作。
假设我已经设置
crossfilter(event);
和维度foo:
var foo = event.dimension(function(d) { return d.foo; }),
foos = foo.group(function(d) { return Math.floor(d) ; });
然后,在应用任何过滤器之前,event.size()
将为我提供事件中的记录数量,foos.size()
将为我提供foo维度中不同记录的数量
大!现在我通过滑动刷子应用一些过滤器。 event.groupAll().value()
现在为我提供了所选事件中的当前记录数。太棒了。
现在如何获取foo维度中当前不同记录的数量?我尝试了许多不同的API原语组合,但似乎都没有。
有什么想法吗?
答案 0 :(得分:7)
这应该可以解决问题
var n = foo.top(Number.POSITIVE_INFINITY).length;
答案 1 :(得分:0)
我没有足够的声誉评论Reno提出的解决方案。
这应该可以解决问题
var n = foo.top(Number.POSITIVE_INFINITY).length;
这个解决方案的问题是效率不高,因为top函数是对数据进行排序。
我遇到了同样的问题,你和我在过滤器中有一个计数器,知道有多少条目有维度。