我被一个可能微不足道的问题所困扰,但我想绘制两个按维度分组的表格。
例如:
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
所以在crossfilter上有一个微不足道的dim +组,但是因为dataTable没有把“真正的”群体当作群体......有点卡住
有什么建议吗?
答案 0 :(得分: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查询假组时将其添加到组中。