С помощью Crossfilter можно ли отслеживать максимальные / минимальные значения при группировке?
При использовании Crossfilter (https://github.com/square/crossfilter) я указываю функции, которые следует использовать при добавлении и удалении данных из группы. Отслеживать скользящее среднее (используя CoffeeScript) довольно тривиально:
<code>reduceAdd = (p, v) -> ++p.count; p.sum += v.digit; p reduceRemove = (p, v) -> --p.count; p.sum -= v.digit; p reduceInitial = -> { count: 0 sum: 0 average: -> return 0 if this.count == 0 return this.sum / this.count } </code>
Можно ли отслеживать максимальные и минимальные значения каждой группы? Я не могу придумать, как сохранить все элементы в огромном массиве и выполнить d3.min / d3.max. Кажется, что добавление / удаление данных было бы крайне неэффективно.
Я также искал способ сказать Crossfilter полностью перестроить группу с нуля, а не удалять элементы из существующей группы. Если применяется фильтр, группа сбрасывается и перестраивается. Ничего очевидного.