Dashboards mittels Chart-Libraries

Einer der grossen Vorteile von Analytics-Plattformen wie Power BI, Tableau oder Qlik ist die einfache und spielerische Bedienung. Daten können eingebunden und auf grafischen Oberflächen zu ansprechenden Reports und Dashboards zusammengestellt werden. Natürlich kann es auch hier schnell einmal komplex werden und in der realen Welt muss vor allem viel Zeit in die Datenaufbereitung gesteckt werden. Aber mit der Oberfläche von diesen Tools sind keine Programmierkenntnisse erforderlich.

 

Was aber, wenn eine einfache Grafik in eine bestehende Applikation eingebaut werden muss oder wenn ein Dashboard in eine Webapplikation eingebunden werden sollte? Die Analytics-Plattformen bieten oft Embedding-Funktionen an, um genau dies umzusetzen. Der Haken: Das kann ziemlich teuer werden. In solchen Fällen bilden Libraries, die auf Charts und Grafiken spezialisiert sind, eine geeignete Alternative. Und das Schöne dabei: Der Software Entwickler bewegt sich in seiner ihm bekannten Entwicklungsumgebung.

JS Libraries – Integration mit HTML und JavaScript

JavaScript Libraries sind populär, oftmals kostenlos und gestützt von einer breiten Community. Sie können meistens mit purem HTML oder bekannten Erweiterungen überall verwendet werden. Beispiele sind Chart.js, D3.js oder Google Charts.

 

Nachfolgend ein einfaches Sankey Diagramm von Google Charts mit statischen Daten. Die Integration in eine Website wie diese hier ist problemlos möglich. 

Die Libraries bieten Aggregations-Funktionen, Slider und Dropdowns zum Filtern, Optionen zur Darstellung, usw. Auch die Anbindung von REST API ist z.B. durch AJAX simple, wie nachfolgendes Beispiel zeigt (Quelle gemeindeverzeichnis.ch.):

Wenn man solche Libraries verwenden möchte, dann muss man vor allem eins beherrschen: JavaScript.

Know Your JavaScript

Die Visualisierungsfunktionen werden von der Library geliefert, der Rest ist reines JavaScript. Die Vorarbeit ergibt sich vor allem im Datenbezug. Da stellt sich wie bei Analytics-Tools ebenfalls die Frage: Wie viel «Data Preparation» wird vorgängig in der Quelle gemacht (z.B. Views in der SQL-Datenbank, bereinigtes CSV, etc.). Je mehr Zeit vorgängig investiert wird, desto schneller ist man mit der Aufbereitung der Charts. Je nach Library können vereinfachte Datenzugriffe bereitgestellt werden, oder aber man nutzt JQuery oder JavaScript.

 

Es stellt sich nun schnell die Frage: Wann macht es Sinn, eine Analytics-Plattform zu nutzen und wann solche JS Libraries? Oder gibt es gar eine Kombination der beiden?

Jedes Tool seinem Zweck

Man vergleicht die beiden Gebiete schnell einmal, es handelt sich schliesslich beide Male um die Visualisierung von Charts, Reports und Dashboards. Aber eigentlich verfolgen sie unterschiedliche Zwecke:

  • Analytics-Plattformen werden zwar genutzt, um interaktive Reports zu erstellen, aber eben auch um tiefgehende Analysen durchzuführen und Insights zu generieren. Die Nutzer von solchen Tools sind BI-Spezialisten oder Daten-Analysten – keine Programmierer. Ziel ist nicht primär ein Report zur Einbindung in eine Business Applikation vorzunehmen, sondern KPIs, Geschäftszahlen, Monitoring etc. an entsprechende Zielgruppen zu liefern. Die Analytics-Plattform bietet alle Mittel dazu, von der Datenaufbereitung über die Analyse bis hin zur Veröffentlichung. Die Ansicht der Reports erfolgt dann auch in der gleichen Umgebung, inkl. Compliance, Security und Kollaborations-Möglichkeiten.
  • In Business Applikationen kann die Anforderung aufkommen, die vorhandenen Daten als Grafik zu präsentieren, da diese einen schnellen Aufschluss über Totale, Anteile oder Verteilung ergeben. Dabei ist oft bekannt, wie die Grafik aussehen sollte und welche unterliegenden Daten genutzt werden. Es steht der Informations-Zweck von bekannten Daten im Vordergrund und nicht die Analyse von Mustern und Insights, wie sie Daten-Analysten durchführen.

Eine Kombination der beiden Gebiete ist möglich: Die Analytics-Umgebung kann genutzt werden, um die Daten zu erforschen und bestmögliche Grafiken zu definieren. Sind diese bekannt, kann die Aufgabe dem Entwickler der Business Applikation übergeben werden, welcher mittels Chart-Libraries die Umsetzung in der Applikation vornimmt.

 

Für all jene, die trotzdem ihre Analytics-Dashboard embedden möchten: Das ist zwar möglich, jedoch können hier schnell hohe Kosten aufgrund Lizenzierung und Cloud-Betrieb entstehen. Das lohnt sich für Applikationen in kleineren und mittleren Betrieben eher selten.

 

Fazit: Sollen Daten in einer Applikation visuell dargestellt werden, eignen sich Chart-Libraries. Sollen Daten analysiert und zu Reporting-Zwecken aufbereitet werden, so liegt man mit einer Analytics-Plattform sicher nicht falsch.