2017-10-13 24 views
1

다른 두 차원으로 인덱싱 된 데이터를 사용하여 한 차원의 데이터 합계를 찾아야하는 지점에 고생했습니다.dc.js의 다른 두 가지 차원의 데이터를 비교하여 한 차원의 데이터 합계

예 : 여기

"mode_device","method","discount","time","first_time","paid","p_id","p_sku" 
"Desktop","EBS",,"1344887090","1344887090","1079","8786","PPLB03571285" 
"Desktop","MOBIKWIK-WALLET","89","1474371140","1474371140","591","99068","PPLB009DCBBFREE" 
"AndroidApp","COD","97","1474371149","1438844849","647","72321","PPLB034601" 
"Desktop","JUSPAY","60","1474371158","1474371158","398","92389","PPLB713SQ306" 
"AndroidApp","COD","190","1474371247","1448993680","1261","72685","PLB0029regenerist3" 
"Desktop","JUSPAY","90","1474371346","1474371346","599","86728","PPLB66719804817" 
"Desktop","DEBITCARD","60","1474371366","1465733603","398","92389","PPLB713SQ306" 
"AndroidApp","COD","0","1474371404","1474371404","577","106032","PPLB0335PA0990NM" 
"Desktop","COD","43","1474371404","1468956726","356","13221","PPLB039605" 

우리가 mode_devicemethod 비교하고 우리가 지불에서 데이터의 합을 반환해야합니다.

예 : AndroidApp와 COD가 여러 번 반복 할 수있다 데이터 우리는 그래프를 dc.js를 사용하여

Android-COD:468 
Android-Ebs:234 
Ios-COD:468 

처럼 반환해야

"Android","COD","234" 
"Android","Ebs","234" 
"Ios","COD","234" 
"Ios","COD","234" 
"Android","COD","234" 

같은 것을 가지고 말할 수 있습니다.

답변

0

이 데이터를 어떻게 그려야하는지 궁금하지 않습니다. 두 필드로 구분 된 막대가있는 막대 차트입니까?

하지만 모두 mode_devicemethod으로 집계하려는 경우, 당신은 단순히 키에 두 값을 모두 사용하는 차원 만들 수 있습니다

var modeMethodDimension = cf.dimension(function(d) { return [d.mode_device, d.method].join('-'); }); 
var modeMethodGroup = modeMethodDimension.group(function(d) { return +d.paid; }); 

지금 그룹이

[{key: 'Android-COD', value: 468}, {key: 'Android-Ebs', value: 234}, ...] 
같은 키 값 쌍을 가져야한다을

dc.barChart에 입력하면 해당 키가 막대의 이름이됩니다.