dc-js / dc.js

Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
Apache License 2.0
7.41k stars 1.81k forks source link

Issue in Crossfilter top and group methods #1828

Closed shijocj closed 3 years ago

shijocj commented 3 years ago

I am working on crossfilter version 1.3.12. Here I have 2 dimensions, one as group dimension and other one is sort dimension.

var groupDimension = cf.dimension(function(d) { return d.ELEMENT + " : "+ d.NOMDY});

var sortDimension = cf.dimension(function(d) { return d.ELEMENT });

Here first I am applying filter on groupDimension like as below groupDimension.filterExact(d); // here d is "1DP - DNL747: 0 mg/kg/dose : 86".

Then I take sortDimension.top(Infinity) I got the result as below [{"SEX":"Male","NOMDY":86,"STRESN":149,"ELEMENT":"1DP - DNL747: 0 mg/kg/dose"},{"SEX":"Male","NOMDY":86,"STRESN":151,"ELEMENT":"1DP - DNL747: 0 mg/kg/dose"},{"SEX":"Male","NOMDY":86,"STRESN":175,"ELEMENT":"1DP - DNL747: 0 mg/kg/dose"},{"SEX":"Male","NOMDY":86,"STRESN":107,"ELEMENT":"1DP - DNL747: 0 mg/kg/dose"},{"SEX":"Male","NOMDY":86,"STRESN":166,"ELEMENT":"1DP - DNL747: 0 mg/kg/dose"}]

But when I find sortDimension.group().all() I got result as [{"key":"1DP - DNL747: 0 mg/kg/dose","value":4},{"key":"2DP - DNL747: 10 mg/kg/dose","value":0},{"key":"3DP2 - DNL747: 20 mg/kg/dose","value":0},{"key":"4DP - DNL747: 100 mg/kg/dose","value":1},{"key":"Predose","value":0}]

Actually sortDimension.group().all() result is wrong, because in sortDimension.top(Infinity) I am getting 5 values, that all are "1DP - DNL747: 0 mg/kg/dose" element, but in sortDimension.group().all() method return "1DP - DNL747: 0 mg/kg/dose" count as 4 , "4DP - DNL747: 100 mg/kg/dose" count as 1 and other elements count as zero.

When I verified in data sortDimension.top(Infinity) method working as correct, but the sortDimension.group().all() method giving wrong result.

image

Can anybody help me here please.

gordonwoodhull commented 3 years ago

Please don't cross-post issues between the dc.js and crossfilter repos.

Also filed as crossfilter/crossfilter#163