代码之家  ›  专栏  ›  技术社区  ›  Yi Chai

dc。js:多维过滤器

  •  3
  • Yi Chai  · 技术社区  · 7 年前

    我刚到华盛顿。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 ? 提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gordon    7 年前

    一个常见的混淆原因: .filter dimension.top() group.all() 是从交叉过滤器中检索原始数据和聚合数据的函数。

    如果要应用另一个过滤器,通常会为此创建另一个维度,例如,一个已设置关键帧的维度 userId

    不过要小心:一个交叉过滤组(通常在其中读取聚合数据) does not observe its own dimension's filters does observe this dimension's filter