Close

21. Oktober 2017

Daten grafisch aufbereiten – Bau dir dein Dashboard und visualisiere deine Daten mit metabase

In jedem Unternehmen fallen zahlreiche Daten an, z.Bsp. Adressdaten, Buchhaltungsdaten, Vertriebsdaten, usw. Diese liegen in der Regel in Datenbanken vor, oder auch als Excel-Dateien. Der Zugang erfolgt meist über Applikationen (Anwenderprogramme), die auch die Darstellung der Daten in Form von Berichten, oder einzelnen Grafiken übernehmen.
Was aber, wenn diese angebotenen Darstellungsformen nicht ausreichen, oder man Daten korrellieren möchte, die aus unterschiedlichen Anwendungen stammen, man aber nicht jedes Mal die Software dazu umprogrammieren/erweitern möchte, oder dies womöglich gar nicht kann?
In diesem Fall benötigt man ein Tool, welches auf die verschiedensten Daten zugreift und die Möglichkeit bietet diese auf frei definierbaren Dashboards (Übersichtstafeln) grafisch und tabellarisch darzustellen – nach eigenen Wünschen.
Genau dies leistet „metabase“ (www.metabase.com). Unter allen von mir getesteten Tools beeindruckte mich das Open-Source-System „metabase“ durch Funktionsumfang und Intuitivität, weshalb ich es hier nun vorstellen möchte.

Ich suchte nach einem Tool, das es mir erleichtert Daten grafisch darzustellen. Meine Anforderungen waren folgende:

  • Es soll webbasiert sein – also im Webbrowser laufen -, damit eine Clientinstallation nicht nötig ist.
  • Ich möchte es selbst hosten, d.h. auf einem eigenen Server installieren können
  • Es soll möglich sein, mehrere Dashboards anlegen zu können
  • Der Zugang zu den Dashboards sollte durch Benutzerrechte steuerbar sein
  • Datenquellen sollten leicht einzubinden sein, insbesondere MS-SQL Server
  • Moderne Optik und schicke Charts
  • Daten sollten als Excel-Datei exportierbar sein
  • Die Dashboards sollten interaktiv sein
  • Es soll möglich eigene Filter zu definieren
  • Die Quelldaten (Originaldaten) sollen nicht verändert werden (reiner Lesezugriff)

Ich habe alle möglichen Systeme installiert und getestet, kommerzielle, aber auch Open Source Systeme.

Entschieden habe ich mich letzlich für metabase – für mich das mit Abstand geilste Stück Software der letzten Jahre. Es ist leicht einzurichten, intuitiv, schick und es macht einfach eine Menge Spaß damit zu arbeiten.

Die Einrichtung

Metabase lässt sich auf mehrere Arten in Betrieb nehmen (Link).
Ich habe unter VMWare einen UBuntu-Server aufgesetzt – was gewohnt fix erledigt ist. Deshalb entschied ich mich für das Docker-Image. Ebenso Ruck Zuck war das Docker-Image auf dem Ubuntu-Server installiert. Ruft man nun im Browser http://meinServer:3000 auf, ist metabase startklar. Alles in allem war ich also nach knapp 30 Minuten fertig. By the way – ich komme aus der Windows-Welt und habe von Ubuntu/Linux kaum Ahnung.

metabase LoginTipp: Beim Setup von Metabase hat man die Möglichkeit die Metabase-Datenbank in einem externen Pfad außerhalb des Docker-Containers anzulegen. Das sollte man unbedingt machen – dann hat man es später deutlich leichter ein Metabase-Update einzuspielen! Das Ganze ist unter „Mounting a mapped file storage Volume“ hier zu finden.

Datenquelle verbinden

Jetzt müssen wir Metabase mit Daten füttern – wobei „füttern“ nicht ganz richtig ist, denn wir verlinken einfach Metabase zu unserer Datenquelle – keine Panik, metabase greift nur lesend auf eure Daten zu. Als Datenquelle kann man eigentlich fast alles angeben – metabase unterstützt eine große Anzahl von Datenquelle. In meinem Fall ist das eine MS-SQL Server Datenbank.

Erwartungsgemäß findet sich unter dem Punkt „Admin Panel“ auch der Punkt „Add a database„.

Hier wähle ich den SQL Server aus und hinterlege die entsprechenden Zugangsdaten.

 

Benutzer und Zugriffsrechte

Unter dem Punkt „People“ lassen sich nun Benutzer und Gruppen anlegen. Darüber lässt sich später recht komfortabel der Zugriff auf einzelne Abfragen und Dashboards steuern. Plant man z.Bsp. die Visualisierung von Finanzdaten, so kann man separate Dashboards für die Geschäftsführung und die einzelnen Abteilungen erstellen und über die Berechtigungen steuern, welchen Benutzer/Gruppen jeweils der Zugriff gewährt wird.

Unter „Permissions“ kann man nun auch angeben, welche Benutzer/Gruppen überhaupt auf die eben verbundene Datenquelle zugreifen dürfen. Hier werden folgende Berechtigungen unterschieden:

  • View Queries
    Benutzer dürfen vom Admin erstellte Abfragen nur „sehen“ – d.h. sie können die Ergebnisse der Abfrage (Query) sehen. Sie können auch von Admin eingebaute Abfragefilter ändern – sie können die Abfrage jedoch nicht verändern und keine neue Abfragen anlegen.
  • Write Queries
    Benutzer können vorhandene Abfragen ändern und neue Abfragen anlegen
  • No access
    Benutzer dürfen nix sehen & nix ändern

Erstellt man nun später eigene Abfragen (Queries), lassen sich dort auch Zugriffsrechte für jede Abfrage individuell einstellen.

Mittlerweile unterstützt metabase auch LDAP – d.h. man kann metabase mit einem vorhandenem Active-Directory verbinden.

Abfragen, Filter & Parameter

Ist die Datenquelle verbunden, liest metabase alle vorhandenen Tabellen und Views (Abfragen) der Datenquelle aus. Unter „Data Model“ kann man sich diese auch ansehen.
Später kann man im Abfrage-Editor (Query-Editor) von metabase eigene Abfragen erstellen. Dafür bietet metabase einen prima Query-Editor an, der die Erstellung stark vereinfacht. Man hat zusätzlich auch immer die Möglichkeit in einem SQL-Editor eigenen SQL-Code zu schreiben. Auch der Einbau von Filtern und Parametern ist sehr schick und einfach gelöst.

Man startet durch einen Klick auf den Menüpunkt „Questions“

metabase collection of questions

„Collections“ helfen dabei, seine „Questions“ sinnvoll zu ordnen – so können „Collections“ z.Bsp. Kunden sein, und/oder Abteilungen. Neue Abfragen (Queries) lassen sich dann einer Collection zuordnen – so behält man den Überblick über seine Abfragen – denn das werden im Laufe der Zeit sicher eine ganze Menge werden.

Über das Icon mit dem Vorhängeschloss in rechten oberen Ecke, kann man die Zugriffsrechte für jede Collection individuell steuern.

Klickt man nun eine „Collection“ an (oder erstellt eine neue), sieht man alle Abfragen, die man unter dieser Collection geordnet hat.
Möchten wir nun eine neue Abfrage erstellen, klicken wir auf „Neue Query“ und landen zunächst im Query-Editor. Hier müssen wir metabase als erstes sagen, welche Daten wir darstellen möchten, und können dazu auf alle Tabellen der verbundenen Datenbank zugreifen, oder auf die Ergebnisdaten einer bereits existierenden Query:


Hat man die gewünschte Datenquelle ausgewählt, kann man auf alle Felder der Datenquelle zugreifen und Filter, bzw. Parameter definieren und eine Gruppierung – sofern gewünscht – hinzufügen. Hier lassen sich auch Variablen definieren, die der „normale“ Anwender dann später im Dashboard als Selektionsfilter nutzen kann.

Mit dem Abfrageeditor ist es sehr einfach eine parametrisierte Abfrage zu erstellen. Möchte man seine Abfrage jedoch nicht nur aus einer Quell-Tabelle beziehen, sondern verknüpfte Abfragen (Cross-Joins) benutzen, kann man jederzeit in den SQL-Modus wechseln und eigenen SQL-Code hinterlegen.

Visualiserung der Daten

Das Ergebnis der Abfrage erscheint live und bei der Art der Visualisierung gibt es verschiedene Darstellungsarten zur Auswahl, die metabase allesamt sehr schick umgesetzt hat.

Das Dashboard

Hat man nun diverse Abfragen erstellt, möchte man diese natürlich alle auf einem Ergebnis-Dashboard zusammenstellen. Hier trumpft metabase noch einmal richtig auf. Unter „Dashboards“ kann man nun beliebig viele Dashboards (z. Bsp. für Abteilungen, Kunden, usw.) anlegen und dort die grafischen Darstellungen seiner zuvor erstellten Abfragen als Kacheln ablegen.

Dabei ist jede Kachel in der Größe veränderbar und frei positionierbar. Auch die für den Anwender angebotenen Selektionsfilter, am oberen Rand des Dashboards, lassen sich hier sehr einfach erstellen.

Fazit

Ich kenne keine andere Lösung, mit der sich beliebige Datenquellen derart schnell und schick visualisieren lassen. Wählt man eine vernünftige Struktur bei den Benutzern und Gruppen und setzt die Berechtigungen auf die einzelen Collections (Queries/Abfragen), kann man sehr zügig für einzelne Abteilungen individuelle Dashboards anbieten. Sind die Daten Kundenbezogen, könnte man sogar Kunden von extern Zugriff auf für sie individualisierte Dashboards gewähren. Und das alles extrem Kostengünstig – denn metabase ist Open-Source.

Ferner arbeitet das metabase-Team kontinuierlich an Verbesserungen und neuen Features und das System lässt sich stets mit wenig Aufwand auf die neuste Version upgraden.

Ihr kennt metabase bereits, findet aber andere Lösungen besser? Dann hinterlasst bitte einen Kommentar. Ich wäre gespannt, welche Lösung ich bei meinen Recherchen übersehen habe.

2 Comments on “Daten grafisch aufbereiten – Bau dir dein Dashboard und visualisiere deine Daten mit metabase

Mark Schmidt
11. November 2017 um 14:24

Prima Artikel. Danke für die Übersicht. Suche gerade nach einem solchen Tool und metabase werde ich mir mal anschauen.

Antworten
Axel
11. November 2017 um 14:29

Danke und falls du etwas schickeres finden solltest, bitte hier erwähnen.

Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.