带有crossfilter组的交互式数据表

时间:2016-05-31 11:43:12

标签: d3.js dc.js crossfilter

所以我有一个相当大的日期和id的数据集,我正在尝试创建各种类型的统计模块。

示例数据:

{"ID":92941,"ACCOMPLISH_DATE":"2015-08-07 13:50:28","RECEIVER_ID":8840,"SENDER_ID":5865,"STATUS_ID":7,"SCENARIO_ID":2,"CREATE_DATE":"2015-08-07 11:41:16"}
{"ID":92942,"ACCOMPLISH_DATE":"2015-08-07 13:50:28","RECEIVER_ID":8841,"SENDER_ID":5865,"STATUS_ID":5,"SCENARIO_ID":3,"CREATE_DATE":"2015-08-07 12:41:16"}

虽然我成功制作了交互式图表,但我也试图制作一个简单的表格来显示每个STATUS_ID在所选时间范围内每个RECEIVER_ID有多少个var ndx = crossfilter(data); var AccDateDim = ndx.dimension(function(d) {return d.ACCOMPLISH_DATE}); var statusDim = ndx.dimension(function(d) {return d.RECEIVER_ID;}); var countPerStatus = statusDim.group().reduceCount(); 。当图表更新并动态更改日期时,我无法让它显示我需要的数据。

我经常搜索,没有发现任何与此问题有关的内容。我发现的唯一一件事就是我不能给数据表提供与其他图表相同的组,遗憾的是我无法找到一个很好的例子,因为我应该如何更改我的代码。 我找到的另一个解决方案是使用其他库,如果我只有这个单独的表来显示会很好,但由于需要多个图表,这不是一个好的解决方案。

我的群组代码:

var datatable   = dc.dataTable("#dc-data-table");
    datatable
        .dimension(statusDim)
         .group(function (d) {
        var format = d3.format('02d');
        return d.ACCOMPLISH_DATE.getFullYear() + '/' + format((d.ACCOMPLISH_DATE.getMonth() + 1));
    })
        .columns([
            function(d) {return d.STATUS_ID;}
        ]);

用于创建实际表格的代码:

2016/05
7
7
7
2016/04
7
5
7

如果有人可以为我提供一个例子,应该如何完成,或者至少解释它是如何/为什么不能完成的,那将是非常有用的。我很乐意接受建议,因为这张桌子让我感到困惑。

也可能有用:我表的当前输出

#define MAXCOUNT 10
typedef int array[MAXCOUNT+1];

typedef struct {
    int Count;
    array items;
} PriorityQueue;

0 个答案:

没有答案