rolledVideoWatchTimes = d3
.rollups(
videoWatchTimes,
(v) => {
return {
min: d3.min(v, (d) => d["Watch time (minutes)"]),
mean: d3.mean(v, (d) => d["Watch time (minutes)"]),
median: d3.median(v, (d) => d["Watch time (minutes)"]),
max: d3.max(v, (d) => d["Watch time (minutes)"]),
rawDate: v[0].rawDate
};
},
(d) => d.date
)
.map((d) => ({ date: d[0], ...d[1] }))
.sort((a, b) => d3.ascending(a.rawDate, b.rawDate))