dc.js dataTable - 如何使用预定义的组

时间:2014-09-02 21:24:55

标签: datatable dc.js crossfilter

我想加载一个dc dataTable,其中包含已经分组和过滤的维度数据。这可能吗?我假设它是,但到目前为止我看到的例子在表格构建时编码了简单的组,我不能让它以任何其他方式工作!

var facts = crossfilter(data);
var testTable = dc.dataTable('#testtable');
var providerDim = facts.dimension(function (d) {
   if (d.report_by_3 !== null) {
    return d.report_by_3;
   }
});

var MH003Group = providerDim.group().reduceSum(function (d) {
  if (d.indicator_code === 'MH003') {
    return (d.observed / d.expected);
  } else {
    return null;
  } 
});

var MH003Group2 = {
  all: function () {
    return MH003Group.all().filter(function (d) {
        return d.value !== null;
    });
  }
};

dataTable.width(960)
  .height(8000)
  .dimension(providerDim)
  // .group(MH003Group2)
  .group(function (d) {
    return 'data';
  })
  .size(10)
  .columns([function (d) {return d.indicator_code;},
            function (d) {return d.report_by_1;},
            function (d) {return d.report_by_3;},
            function (d) {return (d.observed / d.expected);}
   ]);
  .sortBy(function (d) {return d.report_by_1;})
.order(d3.ascending);

在上面的代码中,我想使用预定义的分组在维度中显示已过滤的行,而不是当前正在发生的维度中的所有数据行。

0 个答案:

没有答案