可以两次使用.exceptionCount(true)吗?

时间:2017-07-03 20:58:18

标签: crossfilter reductio

我有一个问题,我想计算与foo相关的bar和num的不同元素

var data = crossfilter([
{ foo: 'one', bar: 'A', num: '1' },
{ foo: 'two', bar: 'B', num: '2' },
{ foo: 'three', bar: 'A', num: '3' },
{ foo: 'one', bar: 'B', num: '3' },
{ foo: 'one', bar: 'A', num: '2' },
{ foo: 'two', bar: 'B', num: '2' },
]);

即,我想得到,例如:

[ { key: 'one', value: { exceptionCount: 2, exceptionCount2: 3 },    // 'bar' dimension has 2 values: 'A' and 'B', and has 3 values: '1' and '2' and '3'
{ key: 'two', value: { exceptionCount: 1, exceptionCount2: 1 },    // 'bar' dimension has 1 value: 'B', '2'
{ key: 'three', value: { exceptionCount: 1 , exceptionCount2: 1} ] // 'bar' dimension has 1 value: 'A', '3'

我使用带有exceptionCount的reductio库来分隔num和bar,但是我无法加入只与foo关联的文件。

请帮助我,

2 个答案:

答案 0 :(得分:2)

是的,reductio.value方法允许您在组中放置多个相同类型的Reducer。自述文件中有一个使用exceptionSum的示例,可以使用exceptionCount进行调整。你的小组结构会有所改变。

https://github.com/crossfilter/reductio#aggregations-standard-aggregations-reductio-b-value-b-i-propertyname-i-

答案 1 :(得分:0)

谢谢,

我用

 reducer=reductio();
 reducer.value('nbar').exception(function(d){return d['bar']}.exceptionCount(true);
 reducer.value('nnum').exception(function(d){return d['num']}.exceptionCount(true);

我适用于小组。

 reducer(my_group_name);