Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dc.js:减少数据表中的行_Javascript_Dc.js_Crossfilter - Fatal编程技术网

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();

我希望它能解决这个问题。如果您需要其他过滤选项,请使用该选项。我用了染发剂。如果您仍然面临问题,请告诉我

从代码的外观来看,它只会按头发颜色进行计数。如果我想要按多个维度(例如按头发颜色、性别和宠物)进行合计,该怎么办?