Javascript dc.js:减少数据表中的行
所以我有一个Javascript dc.js:减少数据表中的行,javascript,dc.js,crossfilter,Javascript,Dc.js,Crossfilter,所以我有一个data.table对象,它被输出如下: gender hair-color pets group1.totals group2.totals group3.totals F black Y 10 0 0 F black Y 0 7 0 F black
data.table
对象,它被输出如下:
gender hair-color pets group1.totals group2.totals group3.totals
F black Y 10 0 0
F black Y 0 7 0
F black Y 0 0 8
我怎么把它折叠成这样
gender hair-color pets group1.totals group2.totals group3.totals
F black Y 10 7 8
我试过缩小尺寸,但似乎不起作用。我的代码如下:
ndx = crossfilter(data);
dataTable = dc.dataTable('#data-table');
var tableDim = ndx.dimension(function(d) {
return d.gender + "/" + d.hair-color + "/" + d.pets;
});
dataTable
.width(400)
.height(800)
.dimension(tableDim)
.group(function(d){
return "Data Counts";
}),
.columns([
function(d) {
return d.gender;
},
function(d) {
return d.hair-color;
},
function(d) {
return d.pets;
}
function(d) {
if (d.group == 1) return d.totals;
else return 0;
},
function(d) {
if (d.group == 2) return d.totals;
else return 0;
},
function(d) {
if (d.group == 3) return d.totals;
else return 0;
从本质上说,我知道我必须减少和分组我的数据,但我无法找到具体的我必须做什么才能实现。任何帮助都会很好,谢谢 使用以下代码
var ndx=crossfilter(data);
var dimension=ndx.dimension(function(d){return d.hair-color});
var dataByHairColor=dimension.group().reduceCount();
我希望它能解决这个问题。如果您需要其他过滤选项,请使用该选项。我用了染发剂。如果您仍然面临问题,请告诉我从代码的外观来看,它只会按头发颜色进行计数。如果我想要按多个维度(例如按头发颜色、性别和宠物)进行合计,该怎么办?