【问题标题】:Basic dc.js dataTable shows wrong dataBasic dc.js dataTable 显示错误数据
【发布时间】:2021-01-09 21:17:41
【问题描述】:

我在 dc.js 中有一个基本的数据表。我试图让它显示数据中所有值的列表。但相反,它显示了一个子集。在这里非常简化的小提琴:https://jsfiddle.net/dhbrt0om/1/

let ndx = crossfilter(data);
let chart = dc.dataTable("#tableExample");
let data_examplefield = ndx.dimension(function(d) {
    return d.examplefield;
});

chart
  .columns([
    function(d) {
      return d.examplefield;
    },
  ])
  .dimension(data_examplefield)

dc.renderAll();

(小提琴中的完整数据)

我已将 dataTable 维度设置为相关字段。并且列函数应该返回字段值。但它只显示了 5 个可能的值。在 .columns 函数中使用断点单步执行代码,我可以看到它返回了 20 个值 - 但不是来自正确的 20 个字段。

我可以看到,如果我将 data_examplefield 更改为:

let data_examplefield = ndx.dimension(function(d) {
    return d.examplefield ? d.examplefield : 'none';
});

这有助于返回值...但是为什么呢?为什么那里没有“none”?

我显然误解了一些基本的东西,并假设我会踢自己,但我就是看不到。任何帮助表示赞赏。

【问题讨论】:

    标签: dc.js crossfilter


    【解决方案1】:

    啊,我明白这是因为每个字段都需要有一个值。它实际上列在 crossfilter gotchas wiki 中:https://github.com/crossfilter/crossfilter/wiki/Crossfilter-Gotchas

    如果键函数为单行返回未定义,例如由于 缺少字段,这可能会损坏整个索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 2018-02-15
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      相关资源
      最近更新 更多