Published
Edited
Jun 27, 2022
Insert cell
Insert cell
arbeitslosRaw = FileAttachment("Arbeitslos Europa - Tabellenblatt3@1.csv").csv()
Insert cell
Insert cell
Insert cell
arbeitslosRaw.columns
Insert cell
Insert cell
wantedYears = {
// Erstelle ein Set …
let columns = new Set(arbeitslosRaw.columns);

// Dann lösche ich «Name» und «Code» daraus
columns.delete("Name");
columns.delete("Code");

// Und mache wieder ein Array daraus
return [...columns];
}
Insert cell
Insert cell
longArbeitslosenzahlen = arbeitslosRaw
.map((row) =>
// Durch alle Zeilen des ursprünglichen Datensatzes
// und danach durch alle Spalten (gewünschte Jahre)
wantedYears.map((year) => ({
// Ein neues Datenobjekt, mit dem Ländernamen,
countryName: row.Name,
// … dem Code
countryCode: row.Code,
// … dem Jahr, das wir an dieser Stelle auch gleich noch zu einem Datum machen
year: d3.utcParse("%Y")(year),
// und schlussendlich die Arbeitslosenrate, die wir an dieser Stelle zu einer Zahl machen
unemployment: +row[year].replace(",", ".")
}))
)
// da wir nun Arrays innerhalb von Arrays erhalten, müssen wir den noch «flach» machen:
.flat()
Insert cell
viewof table1 = Inputs.table(longArbeitslosenzahlen)
Insert cell
Insert cell
import { style } from "@cas-datenvisualisierung/style"
Insert cell
style
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