const crossfilter = require( 'crossfilter2');
const _ = require('lodash')
function randomGaussian() {
return (
Math.sqrt(-2 * Math.log(Math.random())) *
Math.cos(2 * Math.PI * Math.random())
);
}
const data = _.range(256).map(i => {
// console.log(i, " -- ", randomGaussian() + 8);
return [i, randomGaussian() + 8];
});
const filter = crossfilter(data);
const value1 = filter.dimension(d => d[1]);
const valueGroup = value1.group().reduceSum(d => d[1]);
value1.filter([7.2,8.1])
console.log(value1.top(Infinity).length)
console.log(valueGroup.all().filter(d => d.value ).length)
我希望组长度与维度长度相同... 知道我做错了什么吗?
答案 0 :(得分:1)
根据文档发现维度过滤器不适用于组。
" 注意:分组与交叉过滤器的当前过滤器相交,关联维度的过滤器除外。因此,组方法只考虑满足除此维度过滤器之外的所有过滤器的记录。所以,如果支付的交叉过滤器是按类型和总数过滤的,那么 groupAll by total 只观察按类型过滤。"