Beyond Tableau Analytics -
mit Tableau in eine Datenquelle schreiben
Einleitung
Kommt Ihnen Folgendes bekannt vor? Sie schauen sich die Verkaufszahlen der letzten Tage in Ihrem Analysedashboard in Tableau an und entdecken einen Ausreißer. Wie gerne würden Sie jetzt den entsprechenden Datenpunkt markieren und kommentieren, um so Ihre Kolleg:innen darauf aufmerksam zu machen! Sie kennen die Ursache für die Schwankung oder möchten eine Handlungsempfehlung an einen Ihrer Kollegen weitergeben. Schnell wird bei der Nutzung des Visualisierungstools Tableau der Ruf nach einer Rückschreibeoption laut. Das Kommentieren stellt hierbei nur einen von vielen Anwendungsfällen dar. Die Möglichkeit aus Tableau in eine Datenquelle zurückzuschreiben kann beispielsweise auch für die Planung, das Forecasting und nachträgliche Datenkorrekturen eingesetzt werden. Zur einfacheren Verständlichkeit wird im folgenden Beitrag das Beispiel der Kommentierung verwendet. Hierzu stellen wir Ihnen die folgenden vier Optionen vor und beleuchten ihre Funktionsweise und die jeweiligen Vor- und Nachteile:
- Standardfunktion des Tableau Servers
- Extensions
- Low-Code-Anwendungen am Beispiel von MS PowerApps
- Parameter und Stored Procedure
Jedes Unternehmen und jede Abteilung hat eigene Anforderungen, Restriktionen und Daten. Daher gibt es nicht die eine richtige Lösung. Unser Artikel soll als Orientierungshilfe dienen, die für Sie passende Variante für Ihren Use Case zu finden.
Standardfunktion des Tableau Server
Tableau bietet auf dem Tableau Server eine eigene Kommentarfunktion an. Um diese nutzen zu können, bedarf es lediglich einer Einstellung durch den jeweiligen Server-Administrator. Sobald die Kommentarfunktion freigeschaltet wurde, steht sie nach dem Öffnen eines Dashboards zur Verfügung. Die Implementierung der Tableau-eigenen Funktion ist somit sehr einfach, da keine zusätzliche Installation erforderlich ist.
Untenstehendes Beispiel zeigt, wie Anwender in einem Dashboard kommentieren können. Die Verfasser eines Kommentars haben die Möglichkeit, andere Nutzer in einem Kommentar zu markieren. Ebenso können Snapshots von Ansichten (Views) an einen Kommentar angehängt werden. Diese Snapshots sind besonders dann sinnvoll, wenn die Daten sich bis zum erneuten Lesen des Kommentars geändert haben oder spezielle Filter gesetzt wurden.
Einschränkungen ergeben sich hinsichtlich der Kommentierung einzelner Datenpunkte. So ist es nicht möglich, einen spezifischen Datenpunkt in einem Dashboard auszuwählen und nur diesen zu kommentieren. Tableau bietet zudem keine Möglichkeit, die Kommentarfunktion individuell auf einen Anwendungsfall zu adaptieren bzw. Layout und Design an das Dashboard anzupassen.
Nach dem Absenden eines Kommentars ist dieser in der Kommentar-Ansicht für alle Anwender:innen sichtbar. Die Kommentare persistiert Tableau in einer PostgreSQL-Datenbank. Tableau bietet die Möglichkeit die Inhalte der PostgreSQL-Datenbank auszulesen (daher wird häufig von „read-only“ gesprochen), d.h. einmal abgesendete Kommentare können nicht mehr bearbeitet oder korrigiert werden.
Für eine Änderung des Kommentars, muss der ursprüngliche Kommentar gelöscht und ein neuer verfasst werden. In der read-only-Datenbank speichert Tableau alle Informationen zum Tableau Server und der Nutzung. Aus Datenschutzgründen ist der Zugang zu dieser Datenbank häufig deaktiviert. Die Deaktivierung erschwert dem Fachbereich, auf die Kommentare zuzugreifen und wieder in einem Dashboard anzuzeigen.

Zusammenfassung
(+) Geringe Komplexität
(+) Keine zusätzlichen Kosten
(+) Kein Wartungsaufwand bei Releases
(-) Kein Kommentieren einzelner Datenpunkte
(-) Geringe Individualisierbarkeit
(-) Speicheroptionen beschränkt
Abbildung 1: Architektonischer Aufbau - Tableau Server
Extensions
Die Tableau Produkte bieten einen großen Funktionsumfang. Weitere Funktionen, die Tableau nicht out-of-the-box mitliefert, können als sogenannte Tableau-Extension über ein Extension-Objekt in ein Dashboard integriert werden.
Ist eine Extension ausgewählt und auf dem Dashboard platziert, integriert sich die Extension in das Dashboard wie bspw. ein Container. Die Extension interagiert mit dem Dashboard. Filter oder markierte Daten können von der Extension ausgelesen und der Inhalt des Extension-Objektes dahingehend verändert werden. Durch diese bidirektionale Verbindung zwischen Tableau und der Extension fällt es fast nicht auf, dass es sich um eine Erweiterung handelt. Im Beispiel des Kommentierens wird ein Datenpunkt ausgewählt. Daraufhin öffnet sich ein Fenster (Teil der Extension), welches die Kommentierung des gewählten Datenpunktes ermöglicht. Durch das Betätigen des Speicherbuttons ändert der Webserver die Daten in der Datenbank. Zum Schluss triggert der Webserver einen Refresh der Datenquelle in Tableau.
Technisch verbindet sich die Extension mit einem Webserver, z.B. Node.js und zeigt dessen Inhalte auf dem Dashboard an. Zum Beispiel ein Fenster, um einen Kommentar zu hinterlassen. Der Webserver nutzt die Extension API-Bibliothek um die bidirektionale Verbindung zu Tableau herzustellen [1]. Mithilfe der Verbindung kann die Extension Daten aus Tableau auslesen.
Tableau ermöglicht die Einbindung von in der Extension-Galerie veröffentlichten als auch selbstgeschriebenen Erweiterungen. Unter den veröffentlichten gibt es kostenlose und kostenpflichtige Extensions, wobei erwähnt sein muss, dass viele zwar kostenlos zum Download stehen, aber für die Nutzung häufig eine Lizenz notwendig ist. Tableau veröffentlicht selbst Beispiele zum Schreiben und Aufsetzen einer eigenen Extension [3]. Viele Tableau Beratungshäuser haben bereits eine eigene Tableau Extension zum Zurückschreiben oder Kommentieren entwickelt. Diese können an Ihren Bedarf angepasst werden.

Zusammenfassung
(+) Hohe Individualisierbarkeit
(+) Kommentieren einzelner Datenpunkte
(-) Höchster Entwicklungsaufwand im Vergleich zu anderen Varianten / Hohe Komplexität
(-) Voraussetzung von Programmierfähigkeiten
Abbildung 2: Architektonischer Aufbau - Tableau Extensions [2]
Low-Code-Anwendungen am Beispiel von MS PowerApps
Microsoft PowerApps ist eine Low-Code Entwicklungsplattform und Bestandteil der Microsoft Power Plattform. Das Tool ermöglicht selbst Anwender:innen mit wenigen oder ohne technische Vorkenntnisse, Apps für verschiedenste Anwendungsmöglichkeiten zu entwickeln. So lässt sich auch eine App erstellen, in der User Kommentare verfassen können. Im nachfolgenden Beispiel ist eine solche App in ein Tableau Dashboard eingebaut. Die User haben hier die Möglichkeit, einen bestimmten Staat zu kommentieren, indem sie ihn per Mausklick auswählen. Nach Auswahl des Staates kann im Eingabefenster der App der Kommentar verfasst und in eine Datenquelle geschrieben werden. Die verfassten Kommentare können dann wiederum in dem Dashboard angezeigt werden.
Zu jeder erstellten App wird eine URL generiert, sodass die App über ein Web Page-Objekt und eine dazugehörige URL-Aktion in ein Tableau Dashboard integriert werden kann. Eine Tableau-Extension ist in diesem Fall nicht erforderlich. Jede App kann dabei individuell auf die Bedürfnisse der User zugeschnitten und an Layout und Design des Tableau Dashboards angepasst werden. Der URL-Aktion können Daten über Parameter mitgegeben werden. In vorliegendem Beispiel wird der Staat als Parameter der URL angehängt. Somit bietet die PowerApp die Möglichkeit, einzelne Datenpunkte zu kommentieren.
Die verfassten Kommentare können in eine Vielzahl von Datenquellen geschrieben werden, u.a. in gängige Datenbanken wie MySQL, PostgreSQL, SQL-Server oder auch in Excel Online- oder Sharepoint-Listen. Welche Datenquellen zur Verfügung stehen, ist jedoch abhängig von der Nutzungslizenz. Für viele Unternehmen ist die Low-Code-Variante reizvoll, da sie mit einem Microsoft 365-Abonnement häufig schon PowerApps nutzen können ohne zusätzliche Kosten. Dies ermöglicht das Schreiben in Excel-Online oder in Sharepoint-Listen. Möchten Sie jedoch die Kommentare in eine Datenbank schreiben, ist eine gesonderte Nutzungslizenz zu erwerben.

Zusammenfassung
(+) Self-Service / Entwicklung im Fachbereich möglich durch Low-Code-Plattform
(+) Hohe Individualisierbarkeit
(+) Kommentieren einzelner Datenpunkte
(-) Mögliche Zusatzkosten
Abbildung 3: Architektonischer Aufbau - MS PowerApps [2]
Parameter und Stored Procedure
Bei den vorherigen beiden Varianten wurde zusätzlich zu Tableau Server und der Datenquelle noch eine „Hilfstechnologie“ verwendet. Es ist jedoch auch möglich, eine Kommentarfunktion allein mit den Mitteln von Tableau und einer Datenbank umzusetzen.
Die Kommentierung läuft folgendermaßen ab: Die User wählen einen Datenpunkt aus, z.B. eine Bestellung mit hohem Umsatz. Um diesem zu kommentieren, wird der Kommentar in ein Parameterfeld eingetragen. Durch das Klicken auf einen Speicherknopf werden die Nutzer:innen weitergeleitet und der Kommentar abgespeichert. Nach einer Datenaktualisierung sind die Kommentare für die Anwender:innen sichtbar.
Hierzu benötigt es Parameter als Eingabeoption und Stored Procedures zum Schreiben in die Datenbank. Stored Procedures können als kleine Skripte in Datenbanken angesehen werden. Diese bestehen aus SQL-Befehlen. Dadurch werden nur fortgeschrittene Tableau- und SQL-Kenntnisse benötigt. Eine Datenquelle in Tableau ruft die Stored Procedure auf.
Um einen Kommentar zu erstellen, selektieren die Fachanwender:innen einen Datenpunkt im Dashboard und verfassen den dazugehörigen Kommentar im entsprechenden Parametereingabefeld. Die Parameteraktion schreibt die Identifikatoren des Datenpunktes (z. B. eine Auftrags-ID) in einen Parameter.
Dies ermöglicht später die Zuordnung des Kommentars zu dem Datenpunkt in der Datenbank. Der Aufruf einer Datenquelle mit der Stored Procedure triggert anschließend den Schreibvorgang. Da diese Variante nur die Datenbank- und Tableau-Mittel verwendet, ist sie weniger wartungsanfällig bei neuen Tableau-Releases.

Zusammenfassung
(+) Self-Service / Entwicklung im Fachbereich möglich mit fortgeschrittenen Tableau- und SQL-Kenntnissen
(+) Keine zusätzlichen Kosten und wenig Wartungsaufwand bei Releases, da nur Tableau- und Datenbankfunktionen verwendet werden
(+) Kommentieren einzelner Datenpunkte
(-) Individualisierbarkeit und Design sind durch die Optionen von Dashboards und Parametern limitiert
Abbildung 4: Architektonischer Aufbau - Parameter und Stored Procedure
Fazit & Ausblick
Jede der vier vorgestellten Möglichkeiten hat ihre eigenen Vor- und Nachteile, die je nach Use Case und Rahmenbedingungen abgewogen werden sollten. Wichtige Aspekte, die berücksichtigt werden sollten, sind der Setup Aufwand, die Individualisierbarkeit, die zusätzlichen Kosten, das notwendige Know-How und der mögliche Wartungsaufwand bei neuen Tableau-Releases.
Hier wurden vier Optionen dargestellt, um in Tableau Kommentare hinzuzufügen. In diesem Zusammenhang wird nochmals darauf hingewiesen, dass die Varianten, mit Ausnahme der Tableau Standardfunktion, generell als Writeback- oder Rückschreibefunktionen angesehen und genutzt werden können. Somit ist eine Nutzung für andere Anwendungsfälle, wie z.B. Forecasting oder Planning möglich.
Standardfunktion Tableau Server |
Microsoft Power Apps | Parameter | Tableau Extension (eigenständige Entwicklung) |
|
Set Up Aufwand | Gering: Einstellung im Tableau Server. |
Mittelmäßig: Abhängig vom Aufwand für die Erstellung der App. |
Mittelmäßig: Einrichtung der neuen Datenquelle, der Stored Procedure & der Parameter erforderlich. |
Hoch: Programmierung der Extension notwendig. |
Individualisierbarkeit (bzgl. Anwendungsfall, Formatierung, Design) | Keine | Hoch | Mittelmäßig (in Bezug auf Formatierung & Design) |
Hoch |
Datenpunkt kommentieren | Nicht möglich | Möglich | Möglich | Möglich |
Komplexität: Usability für den Fachbereich / Self-Service- Ansatz | Gering: Simple Funktionalität, kein Self-Service gegeben. |
Gering - mittelmäßig: Einarbeitung erforderlich. Self-Service durch Low Code gegeben. |
Mittelmäßig: Fortgeschrittene Tableau- & SQL-Kenntnisse erforderlich, Self-Service teilweise gegeben. |
Hoch: Programmierkenntnisse erforderlich, Self-Service u. U. gegeben. |
Speicheroptionen | Nur Postgres read-only möglich. | Vielzahl von möglichen Datenquellen, abhängig von Lizenz. |
Relationale Datenbanken, für die Tableau Stored Procedures unterstützt oder Stored Procedures/Functions über ein Select-Statement aufgerufen werden können. |
Alle |
Zusätzliche Kosten | Keine | Kosten abhängig von verwendeter Datenquelle | Keine | Gegebenenfalls Kosten durch den Webserver |
Wartungsaufwand bei Releases | Keine | Gering | Gering | Gering - mittelmäßig |
Die Empfehlung für eine Allround-Lösung kann nicht ausgesprochen werden. Vorstellbar ist jedoch eine Implementierungsstrategie, die wie folgt aussehen könnte: Für eine erste unternehmensweite Implementierung bietet sich die Parameter und Stored Procedure-Variante als Option an, da sie kostengünstig ist und wenig Know-How erfordert. Um eine Hands-on Lösung auf Projektebene zu liefern, reicht diese Variante häufig aus. Im zweiten Schritt können mehr spezialisierte Varianten wie die Low-Code Variante mit MS PowerApps oder Extension bereitgestellt werden. Diese bieten sich dann an, wenn das schlichte Design der Parameter-Mittel nicht mehr ausreicht.
Wenn Sie Interesse an den Möglichkeiten zum Kommentieren oder Zurückschreiben haben, nehmen Sie gerne ganz unkompliziert Kontakt zu uns auf.
Quellen
[1] Vgl. https://tableau.github.io/extensions-api/docs/trex_getstarted.html (Zuletzt abgerufen am 01.03.2022)
[2] In Anlehnung an https://tableau.github.io/extensions-api/docs/trex_overview.html (Zuletzt abgerufen am 01.03.2022)
[3] Vgl. https://tableau.github.io/extensions-api/docs/trex_getstarted.html (Zuletzt abgerufen am 01.03.2022)
Tags
#Dashboard, #Datenbank, #extension, #forecasting, #Kommentar, #stored procedure, #Tableau Server, #Writeback