In meinem vorherigen Beitrag in diesem Blog habe ich Möglichkeiten beschrieben, wie man mit Business Intelligence Software Produktionsdaten analysieren kann und zwei Beispiele hierfür genannt (Tableau und Zoho Analytics). Während die Verwendung von BI-Software oft einen komfortableren Umgang mit größeren Datenmengen als Excel erlaubt und auf einfache Weise ansprechende Visualisierungen ermöglicht, gibt es noch einen zweiten Anwendungsfall, bei dem es bessere Lösungen als Excel gibt
Automatische Erstellung von Diagrammen per Programmierung
Excel ist primär eine Tabellenkalkulation, die auch Diagramme erzeugen kann. BI-Software wie Tableau hat ihren Schwerpunkt auf dem Konsolidieren, Bereinigen und Darstellen von Daten. Manchmal macht es jedoch Sinn, die Erstellung von Diagrammen nicht mit einer grafischen Oberfläche zu gestalten, sondern dies einmal grundlegend zu programmieren, und zur Erzeugung von Diagrammen dann das fertige Programm aufzurufen.
Der Aufwand für das Schreiben des Programms ist größer als das Zusammenklicken von Diagrammen in Excel. Er lohnt sich aber dennoch, wenn das selbe Programm immer wieder oder zumindest viele Male aufgerufen werden kann und das Importieren, Bereinigen, Konsolidieren und Erstellen der Diagramme automatisch abläuft.
Der Industriestandard Python
Zur automatischen Erstellung von Diagrammen eignen sich grundsätzlich eher Skriptsprachen. Diese sind schneller zu erlernen als klassische, kompilierte Programmiersprachen, erlauben kürzere und lesbarere Programme und nehmen dem Anwender in jeder Hinsicht viel Arbeit ab. Ihr größter Nachteil, die langsamere Ausführungsgeschwindigkeit, wird durch schnellere Computer immer unwichtiger und ist für die meisten Anwendungsfälle in der Produktion unerheblich.
Als Standard-Skriptsprache hat sich seit einigen Jahren Python etabliert. Python verbindet die Vorteile vieler anderer Skriptsprachen, ist komplett frei und verfügt über eine ausgezeichnete Dokumentation und eine sehr große Nutzerbasis im Internet. Laut TIOBE ist Python die Skriptsprache Nr. 1 und ihr Anteil steigt seit Jahren weiter. Ich selbst nutze Python seit 20 Jahren für jegliche Aufgaben zur Automatisierung von Datenauswertung- und -manipulation.
Verschiedene Bibliotheken für Diagramme verfügbar
Ein weiterer Vorteil von Python ist, dass hierfür viele Programmierbibliotheken zur Erstellung von Diagrammen (sowie zur Datenkonsolidierung) verfügbar sind. Die Grundlage für die meisten Diagrammbibliotheken bildet Matplotlib. Auf dieser Bibliothek basieren viele der anderen Visualisierungsbibliotheken. Eine sehr gute Übersicht über verschiedene Diagrammbibliotheken für Python findet man z. B. hier. Genannt seien an dieser Stelle nur Seaborn, das die Programmierung noch einmal deutlich vereinfacht gegenüber Matplotlib und Bokeh, das speziell für interaktive Diagramme entwickelt wurde.
Maximale Anpassbarkeit der Diagramme
Zusätzlich zum Vorteil der Automatisierbarkeit bietet die Diagrammerstellung mit Python den Vorteil, dass Diagramme viel besser ausgestaltet werden können. Neben den klassischen Diagrammtypen, die man aus Excel kennt, bietet z.B. Matplotlib eine große Zahl weiterer Darstellungsarten. Legenden, Beschriftungen, Farben, Achsen, kurzum: alles, kann mit Matplotlib und seinen Nachfolgern nach eigenem Bedarf gestaltet werden. Eine Galerie von Beispieldiagrammen findet man hier. Bei den folgenden Beispielen von dieser Seite haben Sie vielleicht – wie ich – auch gleich schon ein paar Ideen, welche Produktionsdaten man damit darstellen könnte:
Von den Beispiel aus der Seaborne Galerie sind mir die folgenden 4 Beispiel aufgefallen, die sich gut für Produktionsdaten eignen:
Fazit: es muss nicht immer Excel sein
Mit dem vorherigen Beitrag über BI-Systeme und diesem Beitrag über programmierte Diagramme habe ich gezeigt, dass es nicht immer Excel sein muss, wenn Diagramme für die Produktion erstellt werden sollen. Excel hat den großen Vorteil, dass es fast überall verfügbar ist und mit geringem Aufwand gute Darstellungen liefert. Es schadet jedoch nicht, die Alternativen zu kennen. Nur wer sich der Möglichkeiten bewusst ist und die Vor- und Nachteile für den jeweiligen Einsatzfall abwägen kann, findet die beste Lösung.