自定义缩减的行图未正确排序

时间:2017-01-11 21:19:53

标签: dc.js crossfilter

遇到rowChart问题,我试图限制使用cap()显示的行数,但生成的图表没有正确排序;无论是否使用cap()或rowsCap(),它似乎都按维度而不是组排序。我有自定义缩减,访问器的行为与预期一致。我怀疑数据中存在问题,因为当我只查看第一个字符或第二个字符时,下面的代码片段按预期工作但是当我包含第三个字符时失败。以前有人见过这种行为并知道如何解决它吗?

            userDim[i] = facts.dimension(function(d) { return d[config[i].field]; });
            userGrp[i]  = userDim[i].group().reduce(reduceAddSAIDI(), reduceRemoveSAIDI(), reduceInitSAIDI);                

            var newMeasure = config[i].measure;

            chart[i] = dc.rowChart("#" +  config[i].tagID +"-chart");
            chart[i].dimension(userDim[i]);
            chart[i].group(userGrp[i]);
            chart[i].elasticX(true);
            chart[i].xAxis().ticks(2);
            chart[i].othersGrouper(false);
            //chart[i].rowsCap(25);
            chart[i].cap(25);
            chart[i].ordering(function(d){return -d.value[newMeasure];});
            chart[i].valueAccessor(function (d) { return -d.value[newMeasure];});

维度上的分箱功能,当使用维度字段中的前两个字符时,它会给出预期结果,但如果维度数组变得更大,则看起来排序不正确:

    function binFeeder(inVal) {
    if (inVal != "")  {
        binVal = inVal.substring(0,2);
    } else {
        binVal = "NoData";
    }
    if (consoleDebug) console.log (inVal + " --> " + binVal); 
    return binVal;
}

0 个答案:

没有答案