CSV 파일의 합계를 사용하여 그룹을 가져 오려고하지만 모든 0 값을 제거하려고합니다. 내 csv 파일의크로스 필터 : 그룹에서 값을 제거하거나 필터링하는 방법
예 : 나는
{"key":"Function2","value":26},
{"key":"Function3","value":2},
{"key":"Function1","value":0}
01을 얻을
var ndx = crossfilter(csv);
var functions = ndx.dimension(function(d)
{
return d["Function"];
});
var functionAmountGroup = functions.group().reduceSum(function (d)
{
return d3.format(".2f")(d["Value"]);
});
: 나는 여기
{"key":"Function2","value":26},
{"key":"Function3","value":2}
을 얻고 싶은
Continents Function Value
South Asia Function1
South Asia Function2 14
Europe Function1
Europe Function2 12
Europe Function3 2
내 코드입니다
하지만 0 값 때문에 "Function1"줄을 제거하고 싶습니다. 그럼 내가 얻는 방법을 모르는,
{"Continents":"Europe","Function":"Function3","Value":"2"},
{"Continents":"South Asia","Function":"Function2","Value":"14"},
{"Continents":"Europe","Function":"Function2","Value":"12"}
그러나 filterValues 이제 치수 :
나는 가치 차원과 필터링을 시도, 그것은 나를 잘 돌려
var filterValues = ndx.dimension(
function(d)
{
return d["Value"];
}).filter(
function(d)
{
if(0 < Math.abs(d))
return d;
});
괜찮아 이러한 필터링 된 결과가있는 "기능"이있는 새로운 차원입니다.
filteredValues.dimension(function(d)
{
return d["Function"];
});
같은
뭔가는 잘못이다!
누군가 나를 도와 줄 수 있습니까? 나는 더 이상 아이디어가 없다!
고마워,
vanessa
네, 답변 주셔서 감사 많은! 나는 당신의 코드를 시도했지만, 결국 바 카르트를 만들기 위해 직류 그룹이 필요하기 때문에 여전히 효과가 없다. jsFiddle을 만들었습니다 -> http://jsfiddle.net/vma/h28hp/15/ 다시 도움을 청합니다. 바네사 – vanessa
아, 그래, 네가 지금 무슨 뜻인지 안다.이것은 실제로 dc.js가 예상대로 작동하도록 API에 추가해야 할 것입니다. 그동안 CrossFilter 그룹을 위장한 총 해킹으로 jsFiddle을 업데이트했습니다. http://jsfiddle.net/h28hp/17/ –
그래, 잘 작동하고 있습니다! 이 아이디어에 대해 너무 고마워, 나는 그런 해킹 안 했어 :) – vanessa