2013-03-19 17 views
7

W Crossfilter documentation zawiera następujące informacje.Dlaczego tak jest w Crossfilter?

grupowanie przecina filtry bieżące filtru krzyżowego, z wyjątkiem skojarzonego filtra wymiaru. Dlatego metody grupowe uwzględniają tylko rekordy, które spełniają wszystkie filtry oprócz tego filtru tego wymiaru. Tak więc, jeśli filtr przekierowań płatności jest filtrowany według typu i sumy, grupa po klasie obserwuje tylko filtr według typu.

Co kryje się za tym i jak to się dzieje?

Odpowiedz

9

Powodem jest to, że Crossfilter jest przeznaczony do filtrowania skoordynowanych widoków. W tym scenariuszu zazwyczaj filtrujesz wymiar, który jest wizualizowany i chcesz, aby inne wymiary zmieniały się w zależności od filtru. Ale wymiar, w którym definiowany jest filtr, powinien pozostać stały, częściowo dlatego, że byłby on zbędny (mechanizm filtrujący jest zwykle wyświetlany wizualnie), a częściowo dlatego, że nie chcesz, aby wartości wymiarów przeskakiwały podczas prób filtrowania na nich .

W każdym przypadku, aby go obejść, możesz zdefiniować dwa identyczne wymiary tego samego atrybutu. Użyj jednego wymiaru do filtrowania, a drugiego do grupowania. W ten sposób, jeśli chodzi o Crossfilter, twój wymiar filtrowania i wymiary grupowania są oddzielne.

+2

To jest rodzaj rozwiązania, które sprawiłoby, żebym czuł się źle o sobie – Renaud

+0

@Reno, może wydawać się dziwne, ale filtr crossowy został zaprojektowany dla konkretnego efektu interaktywnego. To nie jest czysta struktura danych. Jeśli chcesz uzyskać inny efekt, użyj biblioteki inaczej. – Gordon

Powiązane problemy