crossfilter - Reduce function in dc.js -
i new dc.js library , wanted crossfilter calculation below on grouping method of geochoropleth chart. pretty sure there function pass reduce
method of group
.
i have next info in data.csv
(the first row contains column names):
budget,gid,mdis,uspro,type,fileurl,rvid,verdate,verstat,score 10428,ali-g-006,aliabad,kunduz,hard,/uploadedfiles/reports/sika north/136-sika-north-ali-g-006.pdf,0,19-08-2014,2,0 24853,ali-g-008,aliabad,kunduz,hard,/uploadedfiles/reports/sika north/561-sika-north-ali-g-008.pdf,0,19-08-2014,0 24831,ali-g-019,aliabad,kunduz,hard,/uploadedfiles/reports/sika north/987-sika-north-ali-g-019.pdf,0,18-08-2014,2,0 24771,ima-g-017,imam sahib,kunduz,hard,/uploadedfiles/reports/sika north/557-sika-north- ima-g-017.pdf,0,28-08-2014,2,1 21818,ima-g-019,imam sahib,kunduz,hard,/uploadedfiles/reports/sika north/992-sika-north-ima-g-019.pdf,0,27-08-2014,2,0 12266,kha-g-007,khanabad,kunduz,hard,/uploadedfiles/reports/sika north/583-sika-north - kha-g-007.pdf,0,7/9/2014,1,0 23148,kun-g-002,kunduz,kunduz,hard,/uploadedfiles/reports/sika north/909-sika-north - kun-g-002.pdf,0,1/9/2014,2,0 54584,kun-g-004,kunduz,kunduz,hard,/uploadedfiles/reports/sika north/702-sika-north - kun-g-004 20140709.pdf,0,9/7/2014,1,0 24544,pul-g-001,pul-e khumri,baghlan,hard,/uploadedfiles/reports/sika north/599-sika-north - pul-g-001 - 20140623.pdf,0,6/7/2014,2,1 40149,sskdag046,arghandab (1),kandahar,hard,/uploadedfiles/reports/sika south/239-sika-south-sskdag046.pdf,0,12/9/2014,0,0.625 39452,0003 lgr mag,muhammad aghah,logar,hard,/uploadedfiles/reports/sika east/792-sika-east - 0003 lgr mag - 20140610.pdf,0,10/6/2014,2,0.7 58298,0013 lgr mag,muhammad aghah,logar,hard,/uploadedfiles/reports/sika east/591-sika-east - 0013 lgr mag 20140601.pdf,0,1/6/2014,2,0]
below dimension , grouping chart:
class="lang-js prettyprint-override">var facts = crossfilter(data); var scoref = facts.dimension(function (d) { homecoming d.district;}); var scoreg = scoref.group().reducesum(function(d){return d.score;});
the d.score
field's value calculated using code below php:
$tempsql = $dbase->query('select "vermdis", count(*) total, sum("verstat") sam mt_fver grouping "vermdis"'); while ($r = pg_fetch_array($tempsql)) { $dist = $r['vermdis']; $score = $r[2] / (2 * $r[1]); $disxx[$dist] = $score; }
what accomplish same calculation using group().reduce(function (p,v) { /* ... */ })
dc.js library while grouping values district names.
what results/errors getting? looks pretty much right idea, take account:
if you're usingd3.csv()
, homecoming values strings, you'll need either preprocess data, or utilize +d.score
convert values while reading them the field may come out d.score
depending how reading csv in. you may need adapt cut down function suit calculation if set line break in function pass reduce, can set breakpoint there using browser's debugger , experiment on console figure out look works need.
dc.js crossfilter
No comments:
Post a Comment