mysql - D3 get particular elements value of json example -


i have json example this:

[  {"emp_name":"abc","works_on":"wheels","time_from":"2012-03-27 10:00:00","time_to":"2012-03-27 12:00:00"},  {"emp_name":"xyz","works_on":"seat","time_from":"2012-03-27 14:00:00","time_to":"2012-03-27 17:00:00"},  {"emp_name":"abc","works_on":"painting","time_from":"2012-03-28 10:00:00","time_to":"2012-03-28 12:00:00"},  {"emp_name":"xyz","works_on":"tube","time_from":"2012-03-28 14:00:00","time_to":"2012-03-28 17:00:00"},  {"emp_name":"pqr","works_on":"engine","time_from":"2012-03-29 10:00:00","time_to":"2012-03-29 12:00:00"},  {"emp_name":"abc","works_on":"wiper","time_from":"2012-03-29 14:00:00","time_to":"2012-03-29 17:00:00"},  {"emp_name":"mno","works_on":"air_cooler","time_from":"2012-03-30 10:00:00","time_to":"2012-03-30 12:00:00"},  {"emp_name":"abc","works_on":"wheels","time_from":"2012-03-30 14:00:00","time_to":"2012-03-30 17:00:00"}, ] 

i don't know if there way count total working hours each employer.

if understood question correctly want count total work times each emp_name.

just need use code:

var data = [         { "emp_name": "abc", "works_on": "wheels", "time_from": "2012-03-27 10:00:00", "time_to": "2012-03-27 12:00:00" },         { "emp_name": "xyz", "works_on": "seat", "time_from": "2012-03-27 14:00:00", "time_to": "2012-03-27 17:00:00" },         { "emp_name": "abc", "works_on": "painting", "time_from": "2012-03-28 10:00:00", "time_to": "2012-03-28 12:00:00" },         { "emp_name": "xyz", "works_on": "tube", "time_from": "2012-03-28 14:00:00", "time_to": "2012-03-28 17:00:00" },         { "emp_name": "pqr", "works_on": "engine", "time_from": "2012-03-29 10:00:00", "time_to": "2012-03-29 12:00:00" },         { "emp_name": "abc", "works_on": "wiper", "time_from": "2012-03-29 14:00:00", "time_to": "2012-03-29 17:00:00" },         { "emp_name": "mno", "works_on": "air_cooler", "time_from": "2012-03-30 10:00:00", "time_to": "2012-03-30 12:00:00" },         { "emp_name": "abc", "works_on": "wheels", "time_from": "2012-03-30 14:00:00", "time_to": "2012-03-30 17:00:00" }     ]; 

this function d3.nest().key(function (d) { return d.emp_name }) group data emp_name.

    var nest = d3.nest().key(function (d) { return d.emp_name })         .rollup(function(v) {             return d3.sum(v, function (d) {                 //convert time standard format                 var stimeto = d.time_to;                 var splitedtimeto = stimeto.split(" ");                 splitedtimeto = splitedtimeto[0] + "t" + splitedtimeto[1];                  var stimefrom = d.time_from;                 var splitedtimefrom = stimefrom.split(" ");                 splitedtimefrom = splitedtimefrom[0] + "t" + splitedtimefrom[1];                //cal difference between time_to , tim_from                  var timeto = date.parse(splitedtimeto);                 var timefrom = date.parse(splitedtimefrom);                 var deltatime = timeto - timefrom;                 //convert date milli s hour                 deltatime = math.ceil(deltatime / (1000 * 3600));                 console.log(deltatime);                  return deltatime;             });         })         .entries(data);      console.log(json.stringify(nest)); 

complete jsfiddel here.


Comments