2013-06-23 2 views
1

가정하자 내가 가지고있는 것처럼 보이는 dc.js를에서 생성 된 데이터 테이블 :dc.js - 데이터 테이블에 합계를 추가하려면 어떻게해야합니까?

╔═══╦════════════╦═════════════╗ 
║ ║ Name  ║ Amount  ║ 
╠═══╬════════════╬═════════════╣ 
║ 1 ║ Bob  ║ 25   ║ 
║ 2 ║ Sam  ║ 25   ║ 
║ 3 ║ Steve  ║ 50   ║ 
╚═══╩════════════╩═════════════╝ 

은 어떻게 하단에 소계를 만들려면 어떻게해야합니까?

╔═══╦════════════╦═════════════╗ 
║ ║ Name  ║ Amount  ║ 
╠═══╬════════════╬═════════════╣ 
║ 1 ║ Bob  ║ 25   ║ 
║ 2 ║ Sam  ║ 25   ║ 
║ 3 ║ Steve  ║ 50   ║ 
╚═══╩════════════╩═════════════╝ 
    Total is equal to 100 
════════════════════════════════ 

도움이 되겠습니다.

된 AN :
나는 그것이 작동되도록하는 데이터 테이블에 다음 코드를 추가 끝났다. 기능 "UpdateSummary"내부

.renderlet(function (d) { return UpdateSummary(d); }); 

내가 텍스트를 업데이트 곳 코드를 공유하는 경우, 좀 더 구체적으로 도움을 줄 수 있습니다

+0

솔루션을 설명하기 위해 jsFiddle을 추가 하시겠습니까? 지금 당장은 내 자신을 굴러 가려하지만, 머리를 쓸 수있는 것이 좋을 것입니다. 감사! –

답변

2

"총 100 같다"입니다. 그 동안 내 충고가 있습니다.

dc.js는 크로스 필터 그룹을 사용하여 테이블의 데이터를 설정합니다. 어느 그룹이 그 효과에

var helperArray = myGroup.all(), 
total = 0; 

helperArray.forEach(function(d) {total += d.value.amount;}) 
// console.log(d) to see what d is. it might need to just be total+= d.value 

d3.select("body").append("p") //this should be changed to make it the right spot 
    .text("Total is equal to " + total) 

뭔가 말을합니다 (.group() 방법)이 테이블에 설정합니다.

+0

유효한지 확실하지 않지만 "데이터 테이블이 크로스 필터 그룹을 사용하지 않고 그룹화 기능으로 클로저"라고 말합니다. – mmmdreg

+0

데이터 테이블에 집계 된 숫자를 표시하는 맞춤 d3 코드가 있습니까 ??? – Nisha

관련 문제