2016-10-13 17 views
1

私はおそらく些細な問題で悩まされてきましたが、私は次元別に2つのテーブルを描きたいと思います。dc.jsを使用して集計テーブルを作成するにはどうすればよいですか?

var data=[{country:"US", medal:"gold",sport:"jump",year:"2015"}, 
{country:"US", medal:"silver",sport:"jump",year:"2011"} 
{country:"CN", medal:"gold",sport:"jump",year:"2015"}} 

といくつかのテーブル描きたい:

例えば

country medals 
US  2 
CN  1 

medal  qty 
gold  2 
silver 1 

をそうdataTableのdoesnのように些細な薄暗い+ crossfilterのグループが、グループとして「本当の」グループを取る...ビットがつまった

何か提案がありますか?

答えて

2

一般に、dc.dataTableのディメンションとして、グループにはbottomメソッドを指定するだけでグループを使用できます。

var cf = crossfilter(["a","a","b","b","c","d","d","d"]) 
var dim = cf.dimension(function(d) { return d; }); 
var grp = dim.group() 
grp.bottom = grp.top; 

var dataTable = dc.dataTable('#dataTable'); 

dataTable 
    .dimension(grp) 
    .group(function() { return ""; }) 
    .size(100) 
    .columns(['key', 'value']); 

dc.renderAll(); 

問題は、すべての必要な情報をグループに入れる必要があるということです。カスタムグループでこれを行うことも、dataTableが偽のグループを照会するときに追加の情報を検索してグループに追加するグループをラップする偽のグループを作成することもできます。

関連する問題