Public
Edited
Dec 6, 2022
1 fork
Importers
Insert cell
Insert cell
sheetsNames = data.sheetNames
Insert cell
category = Object.values(data.sheet("Maine CTEs")[0]).slice(3)
Insert cell
dataArr = {
const arr = sheetsNames.reduce((prev, curr) => {
prev.push(data.sheet(curr, {headers:true}));
return prev;
}, new Array());

let temp = arr[0];
arr[0] = arr[2];
arr[2] = temp;
temp = arr[1];
arr[1] = arr[3];
arr[3] = temp;
temp = arr[3];
arr[3] = arr[5];
arr[5] = temp;
return arr;
}
Insert cell
graph = {
var g = category.reduce((prev, curr) => {
prev[curr] = new Array();
for (let i=0;i<dataArr.length;i++){
const sheet = dataArr[i]
let level = new Array();
for (const row of sheet){
if(Object.keys(row).includes(curr))
level.push({id: row.Name})
}
prev[curr].push(level)
}
return prev;
}, {})
Object.keys(g).map(curr =>{
for (let i=1;i<g[curr].length;i++){
var parent = g[curr][i-1].reduce((prev, curr)=>{
prev.push(curr["id"])
return prev;
},new Array())
g[curr][i].map(row => row["parents"]=parent)
}
})
return g;
}
Insert cell
md`## Download .csv`
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

Insert cell
md`## Import`
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more