Daten aus einem anderen Blickwinkel

Mo, 4. Oktober 2021, Tim Moritz

Manchmal möchte man vorhandene Daten einmal anders betrachten. Man hat vielleicht eine Software, die Daten in einer Datenbank ablegt und will sich zum Beispiel den zeitlichen Verlauf oder den aktuellen Stand ansehen und die Software bietet solche Funktionen nicht an. Man könnte sich jetzt vielleicht die Rohdaten in der Datenbank anschauen oder (wenn man denn kann) ein paar SQL Queries zusammenhacken.


In diesem Artikel möchte ich euch zeigen, wie ihr das ganze mit der Software Metabase hübsch aufbereiten könnt.

Mein Szenario

In meinem Fall wollte ich die Daten einer Instanz des Ticketsystems Jira auswerten. Ich wollte wissen, wie die Verteilung der Ticket-Typen (Bug, Feature, ...) aktuell ist und wie sie sich entwickelt hat. Das ganze anhand der Anzahl und auch der darauf gebuchten Zeit und filterbar nach Benutzern und Projekten. Die Auswertungen, die Jira liefert, waren mir nicht flexibel genug.

Vorbereitung und Installation

Da meine Jira Instanz in der Cloud gehostet wird, musste ich erstmal einen Weg finden an die Daten zu kommen. Da habe ich das kostenlose Jira Plugin 'Database Exporter for Jira Cloud' gefunden, welches mir die Daten in eine PostgreSQL Datenbank schreibt und alle 30 Minuten aktualisiert. Die Einrichtung war simpel. Im Prinzip braucht man nur die Zugangsdaten zu einer PostgreSQL Datenbank einzugeben. Aber das nur am Rande. Wenn ihr bereits Zugriff auf eine gefüllte Datenbank habt, dann braucht ihr nichts weiter zu tun.

Metabase einrichten war, dank Docker, ebenfalls simpel. Einfach einen Container mit dem metabase/metabase Image auf Docker Hub starten und man kann loslegen. Man öffnet die UI im Browser und wird nach Daten für den ersten Benutzer und die erste Datenquelle gefragt. Weitere Installationsmöglichkeiten finden sich in der Dokumentation.

Metabase

Metabase nutzt das Open-Core-Modell und wird (nach aktuellem Stand) aktiv weiterentwickelt. Die Standardfunktionen stehen unter der AGPL zur Verfügung, es wird aber auch eine Pro und eine Enterprise Edition angeboten. Ausserdem kann man auch Hosting und Support erwerben.

Ich habe mich ausschliesslich mit der freien Variante auseinandergesetzt, die für meine Zwecke vollkommen ausreichend ist. Unterstützt werden aktuell 13 Datenbanktypen, darunter die gängigsten wie MySQL, PostgreSQL, MongoDB und SQLite. Mehrere Datenbanken gleichzeitig stellen auch kein Problem dar.

Benutzung

Hat man eine Datenbank hinzugefügt, gibt es mehrere Möglichkeiten die Daten darzustellen. Man erstellt einzelne separate Auswertungen entweder direkt mit SQL Queries oder kann sich diese mit Assistenten zusammen klicken.

Da ich schon öfter mit SQL gearbeitet habe, war dies die effizienteste Möglichkeit für mich. Hier lassen sich Variablen einfügen, für die dann Filtertypen definiert werden können, die automagisch von Metabase im Query gefüllt werden. Man kann hier simple Text-Filter, aber auch Datums oder sogenannte Kategorie-Filter einfügen. Letzteres wird dann von Metabase als Multi-Dropdown mit Vorschlägen gefüllt. In meinem Fall wäre das zum Beispiel die Auswahl der Projektnamen. Bei mir hat das nicht bei jedem Feld funktioniert, vielleicht hat da jemand noch einen Tipp wie das ganze intern funktioniert.


Durch SQL hat man ein mächtiges Werkzeug an der Hand, mit dem man nach Belieben die Daten verbinden, gruppieren, aggregieren, vorfiltern und vorbereiten kann. Ich gehe davon aus das die grafischen Assistenten einen ähnlichen Funktionsumfang haben.

Das Ergebnis der Abfrage lässt sich als einzelner Wert, in tabellarischer Form, in verschiedensten Diagrammtypen oder auch auf einer Karte darstellen. Da dürften kaum Wünsche übrig bleiben. Die einzelnen Abfragen lassen sich dann in einem oder mehreren Dashboards organisieren. Auf diesen Dashboards lassen sich dann wiederum Filter einfügen, die man dann mit den Filtern der einzelnen Abfragen verbinden kann.

Fazit

Ich konnte mit Metabase mein Vorhaben komplett umsetzen und habe durch das Benutzen der Software noch weitere Ideen dazu bekommen. Das ganze liess sich inkl. Einarbeitungszeit (ohne Lesen der Dokumentation) in wenigen Stunden umsetzen. Ich hatte den Eindruck, nur wenig der vorhandenen Möglichkeiten genutzt zu haben. Meines Erachtens eine empfehlenswerte Software.

Quelle: https://www.metabase.com/start/oss/