【发布时间】:2015-07-07 17:19:43
【问题描述】:
所以我有一个像这样输出的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;
基本上我知道我必须减少和分组我的数据,但我找不到具体要做什么才能实现。任何帮助都会很棒,谢谢!
【问题讨论】:
标签: javascript dc.js crossfilter