data = {
const data = await d3.csv("https://gist.githubusercontent.com/aepton/488ae236cf71e1b6462997397aebdfbd/raw/338e94bc95c6e1c7bd6868540f2bd928f964b659/march_sensor_health.csv", ({name, date, value}) => ({name, date, value: +value}));
const dates = d3.nest()
.key(d => d.date)
.entries(data)
.map(d => new Date(+d.key))
.sort(d3.ascending)
.slice(1);
const values = d3.nest()
.key(d => d.name)
.key(d => d.date)
.rollup(v => v[0].value)
.map(data);
return {
series: values.entries().map(({key, value}) => ({
name: key,
values: dates.map(d => value.get(+d))
})),
dates
};
}