3

Crossfilter API のドキュメントを何度か読みましたが、次の方法がわかりません。

設定したとします

crossfilter(event);

およびディメンション foo:

var foo = event.dimension(function(d) { return d.foo; }),
foos = foo.group(function(d) { return Math.floor(d) ; });

次に、フィルターが適用される前event.size()に、イベント内のレコードfoos.size() 数と、foo ディメンション内の個別のレコード数が表示されます。

すごい!次に、ブラシをスライドさせてフィルターを適用します。event.groupAll().value()選択されているイベント内の現在のレコード数が表示されるようになりました。再び素晴らしい。

では、foo ディメンション内の個別のレコードの現在の数を取得するにはどうすればよいでしょうか? API プリミティブのさまざまな組み合わせを試しましたが、どれもうまくいかないようです。

何か案は?

4

2 に答える 2

7

これでうまくいくはずです

var n = foo.top(Number.POSITIVE_INFINITY).length;
于 2013-10-10T15:17:34.600 に答える
0

Reno が提案した解決策についてコメントするほどの評判はありません。

これでうまくいくはずです

var n = foo.top(Number.POSITIVE_INFINITY).length;

このソリューションの問題は、効率的ではないことです。これは、トップ関数がデータを並べ替えているためです。

私はあなたと私がフィルターにカウンターを持っているのと同じ問題を抱えています。

于 2014-07-28T09:54:21.123 に答える