Группируйте данные из csv файла и манипулируйте ими с помощью D3
Пример данных из CSV файла содержит следующие данные:
ScheduledTime,WorkStation_Id,Order_Id,Duration(seconds) 01.01.2016 00:00:00,10A,1,15 01.01.2016 00:00:15,10A,1,25 01.01.2016 00:00:35,10A,1,10 01.01.2016 00:00:45,10A,2,10 01.01.2016 00:00:55,10A,2,10 01.01.2016 00:01:05,10B,1,20 01.01.2016 00:00:25,10B,1,10 01.01.2016 00:00:35,10B,2,20 .....
Вот что я пытаюсь сделать, но безуспешно:
Я пытаюсь получить время начала и сумму продолжительности для каждого Order_Id на основе WorkStation_Id, чтобы вычислить время окончания. Я хочу рассчитать время начала, добавив продолжительность.
Я хочу перебрать полученные значения ключа объекта.
Код, который я пытаюсь использовать, не дает мне правильного времени начала и окончания. Кроме того, так как результат, полученный в консоли, выглядит следующим образом:
[…] 0: {…} key: "10A" values: […] [0…99] 0: {…} key: "1" values: […] 0: {…} key: "1451602800000" value: 8709616866000 ....
Поскольку полученный результат имеет пары ключевых значений, как я могу получить доступ к времени начала и времени окончания для каждого Order_Id на основе WorkStation_Id
Я ошибаюсь во многих местах, но мне нужно руководство относительно того, как я могу это сделать, поскольку сейчас я ничего не знаю, даже после того, как попробовал много онлайн-помощи. Я учусь применять группировку, как в SQL-запросе, но думаю, что тот, который я сделал, не является правильным подходом.
Было бы здорово, если бы кто-то мог предложить идеи о том, как действовать дальше или группировать данные. Если вся моя идея сделать это неверна, то кто-нибудь, пожалуйста, скажите мне, как это сделать.
Спасибо.
Что я уже пробовал:
d3.csv("data/data2.csv", function(data1) { var workStation = d3.nest() .key(function(d) { return d.WorkStation_Id; }) .key(function(d) { return d.Order_Id; }) .key(function(d) { return d.ScheduledTime; }) .rollup(function(v) { return d3.sum(v, function(d) { return d.Duration; }); }).entries(data1); });
Я попытался получить доступ к каждой паре ключ значение как код который я нашел в интернете но это не тот результат который я ищу:
var workStation= { "name": "World", "children": workStation.values.map(function (workStation_Id) { return { "name": workStation.key, "children": workStation.values.map(function (Order_Id) { return { "name": Order.key, "children": Order.values.map(function (ScheduledTime) { return { "name": ScheduledTime.key, "size": ScheduledTime.values }; }) }; }) }; }) };