减少未调用的函数

时间:2019-03-16 15:40:45

标签: dc.js crossfilter

this entry有关。我正在尝试使用下面的数据集创建一个轮换组。但是,reduce() 函数似乎没有被调用。我不清楚为什么。下面是我的代码。

queue()
    .defer(d3.json, "assets/data/datatest1.json")
    .await(grpData);

function grpData(err, statData) {
    var ndx = crossfilter(statData);
    console.log(`Number of records in dataset: ${ndx.size()}`);

    buildStatYearSel(ndx);
}

function buildStatYearSel(ndx) {
    var dim = ndx.dimension(function(d) {return d.Year});
    var rotatedGrp = rotate(dim, ['Year', 'StatKey']);

    var foo = 1; // Nice place to set a break point
}

function rotate(dim, cols) {
    var _groupAll = dim.groupAll().reduce(
        function(p, v) {
            cols.forEach(function(c) { // add
                p[c] += v[c];
            });
            return p;
        },
        function(p, v) { // remove
            cols.forEach(function(c) {
                p[c] -= v[c];
            });
            return p;
        },
        function() { // init
            console.log("In init"); // never see this in console.
            var p = {};
            cols.forEach(function(c) {
                p[c] = 0;
            });
            return p;
        });
    return {
        all: function() {
            return d3.map(_groupAll.value()).entries();
        }
    };
}

数据如下:

[
{"Year": "2002", "StatKey": "02437", "First": "108.26", "Tenth": "101.20", 
"Last": "81.73"},
{"Year": "2002", "StatKey": "102", "First": "81.24", "Tenth": "75.59", 
"Last": "50.37"},
{"Year": "2002", "StatKey": "326", "First": "76.47", "Tenth": "57.14", 
"Last": "5.88"},
{"Year": "2003", "StatKey": "02437", "First": "106.03", "Tenth": "101.79", 
"Last": "87.44"},
{"Year": "2003", "StatKey": "102", "First": "77.86", "Tenth": "73.95", 
"Last": "48.02"},
{"Year": "2003", "StatKey": "326", "First": "55.56", "Tenth": "47.50", 
"Last": "11.76"},
{"Year": "2004", "StatKey": "328", "First": "74.24", "Tenth": "68.65", 
"Last": "48.03"},
{"Year": "2004", "StatKey": "103", "First": "73.27", "Tenth": "69.55", 
"Last": "54.68"},
{"Year": "2004", "StatKey": "102", "First": "77.23", "Tenth": "73.13", 
"Last": "49.88"}
]

非常感谢任何指导。

0 个答案:

没有答案