Ein Arbeitsblatt für Interessierte und Lehrpersonen
Übersicht
Lernziele
Dieses Arbeitsblatt dient zur Vertiefung der Lernziele, die in "Einführung in Apache Superset: One Chart" gesetzt wurden. Aus diesem Grund wird empfohlen, erst das Arbeitsblatt "Einführung in Apache Superset: One Chart" durchzuarbeiten.
Das Bearbeiten dieses Arbeitsblatts dauert ca. zwei Stunden, je nach deinem Vorwissen.
Für diese Einführung werden keine Programmierkenntnisse vorausgesetzt; Grundkenntnisse der Tabellenkalkulation genügen fürs Erste.
Für die Übungen in diesem Arbeitsblatt benötigst du Zugang zu einem Apache Superset-Service (vgl. "Einführung in Apache Superset: One Chart" → Benutzerkonto erstellen/anmelden), sowie einen gängigen Webbrowser (am besten funktioniert Superset auf Chrome) und eine Internetverbindung.
Diese Anleitung bezieht sich auf Release 0.34 von Apache Superset, der im September 2019 freigegeben wurde.
Daten und Fragestellungen
Die Daten zu diesem Arbeitsblatt kommen von der Weltbank (Quelle, Lizenz CC BY-4.0, Stand ca. 2017). Die Daten beschreiben die Bevölkerung, urban/rural (Lebensraum) und die Lebenserwartung pro Land bzw. pro Region über die Jahre 1960 bis 2014.
In diesem Arbeitsblatt wird nur die Tabelle wb_health_population
(übersetzt etwa "Weltbank-Gesundheit-Bevölkerung").
Davon verwenden wir folgende Spalten:
-
Name des Landes:
country_name
-
Weltregion, in der das Land liegt:
region
-
Jahr der Datenerhebung (1960 - 2014):
year
-
Anzahl Menschen insgesamt:
SP_POP_TOTL
-
Anzahl Personen, die in der Stadt wohnen:
SP_URB_TOTL
-
Anteil an Personen, die auf dem Land wohnen (rural) in Prozent:
SP_RUR_TOTL_ZS
-
Lebenserwartung:
SP_DYN_LE00_IN
Abbildung 1 zeigt die Daten, die wir nutzen werden. Nimm dir doch auch hier wieder kurz Zeit und schaue dir diese Daten genau an.
Diese Daten wollen wir nun analysieren und uns fragen, ob sich Charakteristika oder Zusammenhänge erkennen lassen, wie beispielsweise: "Leben in einem Land mehr Personen auf dem Land (rural) oder in der Stadt (urban)?", oder "Gibt es einen Zusammenhang zwischen Lebenserwartung und ruralen bzw. urbanen Regionen?".
Sieben Charts (Diagramme)
Am Ende dieser Anleitung wirst du sieben Charts und einen Filter erstellt haben.
Schaue zuerst im Anhang nach, was Apache Superset alles für Diagramme (Charts) anbietet, wobei wir dort nur eine Auswahl getroffen haben von den über 40 Charts, die Superset zurzeit anbietet.
Die Charts, die in diesem Arbeitsblatt verwenden werden, sind in Abbildung 1 in der Reihenfolge nummeriert, in der du sie gleich erstellen wirst.
-
Oben links befindet sich ein Filter (Nr. 8). Damit kann man die Datensätze auf eine Region oder Land beschränken.
-
Direkt darunter ist Chart Nr. 3 zu sehen, benannt mit "World’s Population". Dieser zeigt die Grösse der Bevölkerung und deren Wachstum mittels einer Linie.
-
Rechts dieser beiden Charts befindet sich eine Weltkarte ("% Rural"). Dieser Chart Nr. 7 zeigt durch das Färben der Länder, wie viele Menschen ländlich wohnen (schwarz = 100% / weiss = 0%). Zudem wird durch eine Blase angezeigt, wie viele Menschen das sind.
-
Im sich darunter befindenden Chart Nr. 2 "Rural Breakdown" werden dieselben Daten dargestellt. Der innere Kreis zeigt hierbei die Region an und der äussere das Land (beim Hovern mit der Maus über die Abschnitte werden diese Informationen angezeigt).
-
Am rechten Rand befindet sich eine Tabelle (Chart Nr. 1). Diese zeigt jedes Land und dessen Bevölkerungszahl (Metric) an.
-
Der Linien-Chart "Growth Rate" (Chart Nr. 4) veranschaulicht auch das Bevölkerungswachstum der Länder, jedoch über eine längere Zeitspanne als bei "World’s Population".
-
"World’s Pop Growth" (Chart Nr. 5) visualisiert dieselben Daten wie Growth Rate, wird jedoch in Regionen aufgeteilt.
-
Zuletzt gibt es noch einen etwas komplexeren Chart Nr. 6 "Life Expectancy vs. rural %", der darstellt, wie hoch die Lebenserwartung in einem Land ist, in welcher Region es sich befindet und wie viel Prozent von der Bevölkerung ländlich lebt.
Wenn die Charts während der Erstellung nicht richtig angezeigt werden, kann das zum Teil behoben werden, indem man die Website neu lädt (F5). |
Chart Nr. 1 Bevölkerung pro Land
Als Erstes musst du eine Datenquelle (Source) wählen. Unter können die verschiedenen Tabellen eingesehen werden. Hierbei kann man auf die Lupe klicken, um genauere Informationen über die Tabelle zu erhalten, wie z.B. welche Spalten die Tabelle besitzt und welche Datentypen dort gespeichert werden können. Zudem kann man unter Columns einstellen, ob die Spalte zeitlich oder filterbar ist und ob nach ihr gruppiert werden darf.
Um eine Tabelle abzufragen, muss man unter "Sources" den Menüpunkt "Tables" wählen und dann auf den Namen der Tabelle klicken.
In diesem Beispiel ist das wb_health_population
.
Man kann nur eine Tabelle als Quelle auswählen.
Möchte man mehrere Tabellen zu einer Datenquelle verknüpfen, benötigt man SQL-Kenntnisse. In weiteren Arbeitsblättern auf OpenSchoolMaps wird gezeigt, wie das geht.
Durch das Auswählen einer Tabelle öffnet sich direkt ein neues Fenster bzw. ein neuer Browser Tab, worin man nun einen Chart erstellen kann.
Dort steht nun bei Datasource die gewählte Tabelle wb_health_population
.
Direkt darunter, bei Visualization Type (Chart-Typ) steht Table, also ein einfaches Balken-Diagramm.
Als Erstes musst du unter Time die Zeitspanne anpassen.
Da wir in unserem Beispiel nur das Jahr 2014 betrachten wollen, verwenden wir einen Custom-Filter von 2014-01-01
– 2014-12-31
.
Definiere jetzt unter GROUP BY eine Abfrage, indem du bei Metrics eine Spalte wie SP_POP_TOTL
(Bevölkerung Total) auswählst und davon die Summe nimmst.
Wenn du jetzt Run Query drückst, wird die Abfrage ausgeführt.
Sie zeigt auf einer Zeile die Weltbevölkerung, also wie viele Menschen im Jahre 2014 lebten.
Im Feld Group by kannst du die Abfrage noch weiter unterteilen. Wähle hier das Attribut country_name
aus, um die Bevölkerung pro Land zu erhalten.
Speichere nun diesen Chart als dein erstes Ergebnis in Apache Superset, z.B. mit dem Namen "Chart 1". Du wirst diesen Chart später wieder brauchen.
Aufgabe 2
Nun da du die Bevölkerung von jedem Land siehst, können wir die Daten auf alle Länder, die mehr als 100 Millionen Einwohner haben, beschränken.
Versuche dies mit Hilfe des Filters unter Query (hierfür wird die Option _Custom SQL nicht benötigt)._
Chart Nr. 2 Städtische Aufteilung
Um das Ganze jetzt noch schöner zu machen, kannst du dir unter Datasource & Chart Type → Visualization Type einen passenden Chart zu den Daten auswählen.
Aufgabe 3
Nimm das Ergebnis von Aufgabe 2 und stelle es als Sunburst Chart dar. "Hierarchy" (unter "Query") ist ähnlich zu behandeln wie "Group by" bei der Tabellen-Ansicht.
Setze bei Hierarchy region
an erster Stelle.
Die Reihenfolge ist wichtig für die Darstellung, damit ersichtlich ist, in welcher Region
das jeweilige Land liegt und wie gross der Anteil gegenüber deren Population ist.
An dieser Stelle empfiehlt es sich, den in Aufgabe 2 erstellten Filter wieder zu entfernen oder anzupassen, damit es mehr Beispiele gibt, bei denen man die Folgen des nächsten Schrittes sehen kann.
Jeder Chart hat seine eigenen Optionen. |
Als Nächstes werden wir die Farbe anpassen, da die Abbildung momentan nicht gerade hübsch ist. Die Farbe dieses Charts kann man auf zwei Arten anpassen:
-
Klicke auf den Tab Customize und wähle ein neues Farbschema aus.
-
Benutze die Farbe, um mehr Informationen anzuzeigen. Dies machst du, indem du unter Secondary Metric →
SP_URB_TOTL
(Urban Total) auswählst und summierst. Das führt dazu, dass nun sofort ersichtlich ist wie der Grossteil der Bevölkerung in dem Land lebt (in der Stadt oder auf dem Land).
Speichere nun deinen Chart unter einem passenden Namen. Du wirst ihn später wieder brauchen.
Chart Nr. 3 Wachstum der Bevölkerung
Als Nächstes wäre es spannend zu sehen, wie die Bevölkerung gewachsen ist.
Das Wachstum kann man sich in Superset mit dem Big Number with Trendline Chart als Trendlinie anzeigen lassen, welche auch noch den letzten Wert gross über der Trendlinie darstellt. Der Chart wäre so schon brauchbar, aber du kannst noch unter Options → Comparison Period Lag und Comparison suffix einstellen.
Comparison Period Lag legt fest, welche Jahre miteinander verglichen werden, um das prozentuale Wachstum anzuzeigen. Wenn du eine fünf bei Comparison Period Lag eintippst, vergleicht es die letzte vorhandene Jahreszahl (in diesem Fall 2014), mit der Jahreszahl, die fünf Jahre weiter zurückliegt (2009).
Bei Comparison suffix kannst du einen Text eingeben, der die Prozentzahl beschreibt. Der beschreibende Text wird direkt hinter der Prozentzahl angezeigt.
Aufgabe 4
Stelle das Bevölkerungswachstum von 2000 bis 2014 mittels der Big Number with Trendline dar. Bei Metric soll weiterhin die Summe der Bevölkerung stehen.
Speichere nun deinen Chart unter einem passenden Namen. Du wirst ihn später wieder brauchen.
Chart Nr. 4 Bevölkerungswachstum pro Land
Da Chart Nr. 3 uns aber nur das durchschnittliche Wachstum anzeigt, wäre es noch interessant, das Bevölkerungswachstum pro Land zu sehen, um einen besseren Einblick in die Verteilung zu erhalten.
Aufgabe 5
Jetzt, da du schon das Wachstum der Bevölkerung dargestellt hast, sollte es dir nicht schwerfallen, die Wachstumsrate pro Land mittels eines Line Charts darzustellen. Setze hierbei noch ein Series limit (z.B. 25), um die Anzahl Länder, die angezeigt werden zu beschränken und erhöhe die Zeitspanne auf 1960-2014
. Die Zeitspanne kannst du eintippen oder den Filter auf No filter
setzen.
Speichere auch diesen Chart wieder ab.
Chart Nr. 5 Bevölkerungswachstum pro Region
Aufgabe 6
Eine weitere Art diese Daten darzustellen, wäre mit einem Area Chart möglich. Probiere es aus!
Chart Nr. 4 hat die Daten schon sehr stark aufgeteilt. Also passen wir den Chart am besten so an, dass die Aufteilung weniger stark ist, um einen besseren Überblick zu gewinnen.
Lass dir das Wachstum der einzelnen Regionen anzeigen, bevor du auch diesen Chart wieder abspeicherst. Im Anhang findest du ein Bild (Abbildung 10) von dem Chart. Die Farben könnten evtl. anders sein.
Chart Nr. 6 Lebenserwartung vs. dem Anteil der ländlich lebenden Bevölkerung pro Land
Als Nächstes wollen wir etwas Schwierigeres probieren. Der 6. Chart soll wie folgt aussehen:
In diesem Chart ist ersichtlich, wie viele Einwohner ländlich wohnen (X-Achse), wie hoch die Lebenserwartung ist (Y-Achse), in welcher Region sich ein Land befindet (Farbe der Blasen) und wie hoch die Einwohnerzahl ist (Grösse der Blase).
Dieser Chart veranschaulicht sehr gut, ob und wie die Lebenserwartung mit dem Prozentsatz der ländlich Lebenden zusammenhängt.
Um diesen Chart zu erhalten, musst du zuerst den Bubble Chart auswählen und die Zeitspanne von 2011-01-01
bis 2011-12-31
setzen.
Danach musst du unter Series region
auswählen, um die Blasen dementsprechend zu färben.
Bei Entity musst du nun country_name
wählen, damit die einzelnen Länder angezeigt werden.
Aufgabe 7
Wähle die korrekten Spalten für X Axis, Y Axis und Bubble size.
Falls die Achsenbeschriftung nicht korrekt sein sollte, kannst du links auf den Tab Customize klicken und bei X Axis Format oder Y Axis Format "Adaptive Formatting" auswählen. Zusätzlich soll noch das Series limit entfernt werden, damit alle Länder angezeigt werden. |
Speichere auch diesen Chart unter einem passenden Namen.
Chart Nr. 7 Weltkarte
Zum Abschluss erstellen wir noch Chart Nr. 7, einen Map Chart:
Dieser Map Chart zeigt durch das Färben der Länder an, wie viele Menschen ländlich wohnen (schwarz = 100% / weiss = 0%). Die Anzahl dieser Menschen wird durch eine Blase dargestellt. Um die Prozentzahl der ländlich Lebenden oder die Grösse der Bevölkerung zu sehen, muss du mit der Maus über das Land beziehungsweise der Blase hovern.
Es ist eine World Map. Hier die Optionen dazu:
-
Die Zeitspanne musst du hierfür erneut zu
2014-01-01
bis2014-12-31
abändern. -
Unter Country Control wirst du den
Country_code
und unter Country Field Type dencode ISO 3166-1 alpha-3 (cca3)
auswählen müssen. Country Control wird verwendet, um mittels einer Abkürzung festzulegen, in welchem Land sich etwas befindet. Country Field Type interpretiert diese Abkürzung. -
Unter Metric for color kannst du
SP_RUR_TOTL_ZS
wählen, um die Farbe abhängig vom Prozentsatz von Leuten, die auf dem Land leben, zu machen. -
Zudem kannst du noch unter Bubble size
SP_RUR_TOTL
wählen, um eine Blase für jedes Land zu erstellen, die anzeigt, wie viele Leute auf dem Land leben. Damit die Blasen angezeigt werden, muss bei Show Bubbles ein Häkchen gesetzt werden.
Speichere auch diesen Chart unter einem passenden Namen.
Filter Box für das Dashboard
Jetzt, da wir einige Charts haben, wäre ein Filter praktisch, den man nachher im Dashboard auf alle Charts anwenden kann.
Dafür muss man nur die Filter Box als Visualization Type auswählen und unter Filters passende Spalten auswählen z.B. region
und country_name
.
Zudem kann beim Filter die Option Date Filter abgewählt werden.
Diesen Filter muss man natürlich auch abspeichern, um ihn später benutzen zu können.
Charts zu einem Dashboard anordnen
Unter kannst du nun dein eigenes Dashboard erstellen, indem du oben rechts auf das + drückst. In diesem Dashboard können nun all deine Charts ausgestellt werden.
Beim Erstellen eines Dashboards kann man einiges einstellen, jedoch reicht es oft, nur das Feld Title auszufüllen.
Um mit dem Editieren zu beginnen, musst du oben rechts auf Edit dashboard klicken. Momentan ist dein Dashboard noch leer, jedoch kannst du dieses einfach per Drag & Drop füllen. Die erste Komponente musst du nach oben zum Rand ziehen. Wenn eine Komponente platziert werden kann, wird dies durch eine blaue Linie signalisiert, die zugleich anzeigt,wie/wo die Komponente platziert wird. Zuerst klickst du dafür auf die Edit dashboard-Schaltfläche, wodurch alle Komponenten angezeigt werden, die du hinzufügen kannst.
-
Tabs sind wie beim Browser selber zu verstehen und können alles Mögliche beinhalten.
-
Rows sowie Columns können gebraucht werden, um einzelne andere Komponenten zu verbinden. Wenn Komponenten verbunden sind, kann man den Platz zwischen ihnen auch weiss färben. Durch das Hovern über den verbundenen Komponenten erscheint eine Schaltfläche, welche diese Option anzeigt.
-
Um die verbundenen Komponenten wieder in Gruppen zu unterteilen, kann man Divider verwenden. Diese stellen einen Strich dar.
-
Header können verwendet werden, um den einzelnen Komponenten eine Überschrift zu geben. Markdown kann zum Verfassen eines beschreibenden Textes zu einem Chart benutzt werden.
-
Unter Your charts & filters sind alle Charts zu finden, die man bisher erstellt hat.
Nach dem Hinzufügen einer Komponente kann durch Anklicken der unteren rechten Ecke die gewünschte Grösse eingestellt werden.
Aufgabe 8
Erstelle ein Dashboard mit allen zuvor erstellten Charts und Filtern. Probiere am besten auch gerade die verschiedenen Komponenten aus!
Abschluss
Geschafft! Du solltest nun ein Dashboard zu den Weltbank-Daten haben, das du anderen zeigen kannst.
Wer mehr über Apache Superset erfahren will, dem sei das Informationsblatt "Apache Superset für Fortgeschrittene" auf OpenSchoolMaps empfohlen.
Zu Apache Superset gibt es auch Kurse, u.a. am Geometa Lab HSR. |
Gerne nehmen wir Rückmeldungen entgegen, siehe OpenSchoolMaps > Weitere Unterrichtsideen.
ANHANG: Die sieben Charts und Optionen
Hier siehst du die sieben Charts und deren Auswahlmöglichkeiten. Mittels einer roten Umrandung ist jeweils markiert, welche Optionen benötigt werden, um ein solches Diagramm zu erstellen.
ANHANG: Dashboards Entwerfen
Die Gestaltung des Dashboards ist für die übersichtliche Darstellung der Charts sehr wichtig. Wenn man ein Dashboard entwerfen will, kann es sinnvoll sein, zuerst eine Skizze (Beispiel Abbildung 13) zu kreieren. Hier wird eine Methode vorgestellt, wie man mit verschachtelten Rows und Columns ein Dashboard so einteilen kann, dass es einer solchen Skizze entspricht. Es ist nicht die effizienteste Art (manche Rows / Columns müssten nicht gesetzt werden), dafür ist sie einfach und sollte für die meisten Anwendungen genügen.
Schritt 1:
Als Erstes soll eine Skizze erstellt werden. Für unser Vorgehen ist eine Skizze von Vorteil, da sie die Aufteilung um einiges einfacher macht und damit der Überblick nicht verloren geht.
Schritt 2:
Man sucht sich auf der Skizze alle Linien, die das Dashboard teilen und keinen Chart kreuzen. Die Linien müssen nicht zwingend durch das ganze Dashboard gehen, sie können auch von einer zuvor gezeichneten Linie ausgehen, solange sie keinen Chart kreuzen. Wenn es mehrere Linien gibt, müssen alle parallel zueinander sein. In unserem Beispiel gibt es im ersten Schritt nur eine Möglichkeit (siehe Abbildung 15).
In der ersten Ausführung dieses Schrittes spielt es keine Rolle, ob die Linien horizontal oder vertikal sind. Danach sollten die Linien von zwei aufeinanderfolgenden Schritten immer senkrecht zueinander stehen. Wenn man zweimal nacheinander parallele Linien erhält, hätte man die zwei Schritte zu einem zusammenfassen können. |
Schritt 3:
Im 3. Schritt geht es darum, Rows, Columns oder Charts ins Dashboard einzufügen. Was man ins Dashboard einfügen soll, hängt von der vorherigen Ausführung des ersten Schrittes ab. Wenn man auf der Skizze eine horizontale Linie gezeichnet hat, fügt man zwei Rows ein. Wenn man eine vertikale Linie gezogen hat, setzt man zwei Columns. Eine Row bzw. Column soll nur gesetzt werden, wenn sie mehr als einen Chart umschliesst. Wenn die Row / Column nur einen Chart umfasst, werden an den entsprechenden Stellen die Charts direkt eingesetzt. (Charts sind dunkelgrau markiert)
Vorgehen
Um die Verschachtelung zu erhalten, muss man wiederholt Schritt 2 und Schritt 3 ausführen, bis zwischen allen Charts eine Linie gezogen wurde oder keine Möglichkeit mehr besteht, weitere Linien zu ziehen. Wenn keine Linien mehr gezogen werden können und noch nicht alle Charts mit Linien voneinander getrennt sind, kann die Skizze nicht als Dashboard in Superset umgesetzt werden.
Schritt 1 | Schritt 2 |
---|---|
Abbildung 13. Skizze
|
Abbildung 14. Ausgangslage Superset Dashboard
|
Abbildung 15. Die einzige Möglichkeit, eine Linie durch das Dashboard zu ziehen
|
Abbildung 16. Die waagrechte Linie von Schritt 1 teilt das Dashboard in zwei Rows
|
Abbildung 17. In diesem Schritt sind zwei parallele Linien möglich
|
Abbildung 18. Drei Charts können hier direkt eingesetzt werden
|
Abbildung 19. Nun ist eine weitere horizontale Linie möglich
|
Abbildung 20. Keine der zwei Rows beinhaltet nur einen Chart, weshalb beide gesetzt werden
|
Abbildung 21. Hier sind wieder zwei senkrechte Linien möglich
|
Abbildung 22. Nur eine Column enthält mehr als einen Chart, weshalb nur eine Column gesetzt wird
|
Abbildung 23. Die letzte Linie, die gesetzt werden kann
|
Abbildung 24. Hier beinhalten beide Rows nur einen Chart, weshalb keine Rows gesetzt werden
|
Abbildung 25. Hier nochmals die Skizze, die das gewünschte Resultat zeigt
|
Abbildung 26. Hier das Endprodukt, welches der Skizze sehr ähnlich sieht
|
Nicht umsetzbare Skizzen
Wie im Abschnitt Vorgehen schon erwähnt, kann man nicht alle Dashboard-Ideen umsetzen. Ein Beispiel für eine nicht umsetzbare Skizze zeigt folgendes Bild:
Wenn man bei dieser Skizze versucht, das Dashboard aufzuteilen, endet das immer damit, dass man einen Chart kreuzt, wie im folgenden Bild:
Da man die Skizze nicht weiter unterteilen kann, gibt es keine Möglichkeit, diese Chart-Anordnung als Superset-Dashboard umzusetzen. ---
Noch Fragen? Siehe "Kontakt" auf OpenSchoolMaps!
Frei verwendbar unter CC0 1.0