0
필터를 그룹에 적용하면 필터링 된 변경 내용이 내지도 축소 그룹에 반영되지 않습니다. 나는 아래로 필터링 변경을 원하는 - 또는축소가 차원 필터링을 반영하지 않습니다.
에 내 데이터는 설정은 보통입니다 :
var rides = crossfilter(data),
all = rides.groupAll(),
gender = rides.dimension(function(d) { return d.gender; }),
gendersAvg = gender.group().reduce(reduceAddGender, reduceRemoveGender, reduceInitialGender).all(),
내지도는 다음과 같은 기능이 설정되어 감소 :
function reduceAddGender(p, v) {
p.count++;
return p;
}
function reduceRemoveGender(p, v) {
p.count--;
return p;
}
function reduceInitialGender() {
return {
count: 0
};
}
내가 좋아하는 내 필터링을 수행 이 :
gender.filter(function(d){ return d === parseInt(z[1]) || d === parseInt(z[0]) });
내 모든 치수는 하나를 제외하고 필터를 반영합니다. 필터링 후 GendersAvg
의 값을 찾아 보면 해당 값이 필터를 반영하지 않습니다.
아이디어가 있으십니까? 평균을 두 번째로 호출해도 값은 변경되지 않습니다.
크로스 필터 그룹 값은 그룹이 정의 된 차원 * 기타 *의 필터를 기반으로 계산됩니다. 그룹 차원의 필터는 무시됩니다. 고맙습니다 : https://github.com/square/crossfilter/wiki/API-Reference#dimension_group –
감사합니다. 해결책이 있습니까? –
원하는대로 다릅니다. 두 번째 측정 기준을 만들고 그 기준으로 필터를 적용하면 원래 측정 기준이 필터링되지만 동일한 측정 기준을 사용하는 경우 일반적으로 그 이유가 없습니다. 그룹. 이 경우 gendersAvg.all()을 사용하여 직접 원하는 그룹을 찾을 수도 있습니다. filter (function (d) {return d.key === parseInt (z [1]) || d.key == = parseInt (z [0])}); –