Member 11263325 Ответов: 0

Группируйте данные из 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
                    };

                }) 
            };

        }) 
    };

}) 

}; 

0 Ответов