2016-04-08 3 views
0

私はプロットしていますcrossfilterは、次元

[ 
{"Year: 2015" , "Name:Person1"}, 
{"Year: 2015" , "Name:Person2"}, 
{"Year: 2015" , "Name:Person3"}, 
{"Year: 2015" , "Name:Person1"}, 
{"Year: 2015" , "Name:Person1"}, 
{"Year: 2016" , "Name:Person4"}, 
{"Year: 2016" , "Name:Person4"}, 
{"Year: 2016" , "Name:Person1"}, 
] 

イベントに参加したどのように多くの人(ユニーク)表示する棒グラフ(クロスフィルタおよび直流JS)を作成しようとしている中で一意の値をカウントdc.js X軸で年、Y軸でカウントします。今と私は取得年に数を減らして

Year: 2015 Count:3 -> person 1,2,3 
Year: 2016 Count:2 -> person 1,4 

サンプルコード

yeardimension.group().reduceCount(function(d) { return d.year }) 
私はクロスフィルターでこれを達成することができますどのようにユニークな値と期待値

Year: 2015 Count:5 
Year: 2016 Count:3 

を取得したい

とDCジャス?

+0

一意の数が3と2であり、 'reduceCount'(パラメータbtwをとらない)は5と3を返します。 – Gordon

答えて

0

カスタムレデューサーを作る必要があります。これはかなり複雑です。非常に高速ではなく、すべてのJS文字列が有効なプロパティ名であるわけではないので、特定のキーでは機能しませんが、適切なアイデアを得る例があります:Crossfilter reduce :: find number of uniques

機能Reductio's exception aggregationの機能を使用して、これらのレデューサーのバージョンは簡単です。または、ReductioとCrossfilterを使って、これを別のやり方で簡単にすることを目指して、Universeを目にしたいかもしれません。

+0

reply.I本当にカスタムJavaスクリプトを追加しようとしましたが、動作しませんでした –

+0

reply.I本当にカスタムJavaスクリプトを追加しようとしましたが、動作しませんでした。それは私の次元が年であり、それを減らそうとしている間に私は名前のためにユニークなものを得ようとしているからです。私の棒グラフのディメンションとグループは年と年であるので、カスタムjsロジックを入れた後でも、クロスフィルターはまだ特定の年のすべてのレコードの数を取得しようとします –

+0

問題を再現する完全なコードを共有してください。 JSfiddleまたはCodepenを使用して実際のサンプルを作成する方が良いでしょう。 –