【问题标题】:dc.js: multiple dimension filtersdc.js:多维过滤器
【发布时间】:2018-01-25 08:23:09
【问题描述】:

我是 dc.js 的新手。我正在尝试使用它来按多个条件过滤我的数据集。我可以使用以下代码按一个条件(类型)进行过滤。

var psv = d3.dsvFormat("|");
var experiments = psv.parse("time|userId|type|version\n" + data);
var ndx = crossfilter(experiments);
var typeDim = ndx.dimension(function(d) { return d["type"]});
var result = typeDim.filter(targetType).top(GLOBAL.MAX_FEEDBACK_COUNT);

如何将另一个维度过滤条件应用于result?喜欢按userId 过滤吗? 提前致谢。

【问题讨论】:

    标签: javascript d3.js dc.js crossfilter


    【解决方案1】:

    一个常见的混淆原因:.filter 不返回过滤后的数据。它将过滤器应用于有状态的维度。然后dimension.top()group.all() 是从交叉过滤器中检索原始数据和聚合数据的函数。

    如果您想应用另一个过滤器,您通常会为此创建另一个维度,例如一个键入userId。然后交叉过滤器实例将在两个过滤器上过滤。

    但请注意:交叉过滤器组(您通常在其中读取聚合数据)does not observe its own dimension's filters。令人困惑的是,dimension.top does observe this dimension's filter

    【讨论】:

      猜你喜欢
      • 2014-08-02
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      相关资源
      最近更新 更多