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.