Czy za pomocą Crossfilter można śledzić maksimum / min podczas grupowania?

Używając Crossfilter (https://github.com/square/crossfilter), określam funkcje, których należy używać podczas dodawania i usuwania danych z grupy. Śledzenie bieżącej średniej (za pomocą CoffeeScript) jest dość trywialne:

<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>

Czy możliwe jest śledzenie maksymalnej i minimalnej liczby każdej grupy? Nie potrafię znaleźć sposobu na powstrzymanie wszystkich elementów w ogromnej tablicy i wykonanie d3.min / d3.max. Wydaje się, że dodawanie / usuwanie danych byłoby niezwykle nieefektywne.

Szukałem też sposobu na przekazanie Crossfilterowi kompletnej przebudowy grupy od podstaw, a nie usuwania elementów z istniejącej grupy. Jeśli zastosowany zostanie filtr, grupa zostanie zresetowana i odbudowana. Nic oczywistego.

questionAnswers(3)

yourAnswerToTheQuestion