Data Operations: Wie Sie die Performance Ihrer Datenanalyse und Dashboards steigern

#dataops: Folgen Sie der Diskussion auf Twitter
#dataops: Folgen Sie der Diskussion auf Twitter

Sind Sie mit der Geschwindigkeit Ihrer Datenanlyse unzufrieden? Oder haben Ihre Dashboards lange Ladezeiten? Dann können Sie bzw. Ihr Datenbank-Administrator folgenden Hinweisen nachgehen, die sich je nach Datenquelle unterscheiden können.

Allgemeine Empfehlungen zur Performance-Optimierung

Möchten Sie die Geschwindigkeit der Analyse verbessern? Dann beachten Sie folgende Punkte:

  • Benutzen Sie mehrere »kleinere« Datenquellen für individuelle Fragestellungen anstatt einer einzigen Datenquelle, die alle Fragestellungen abdecken soll.
  • Verzichten Sie auf nicht notwendige Verknüpfungen.
  • Aktivieren Sie in Tableau die Option »Referentielle Integrität voraussetzen« im »Daten«-Menü (siehe Abbildung 2.20). Wenn Sie diese Option verwenden, schließt Tableau die verknüpften Tabellen nur dann in die Datenabfrage ein, wenn sie explizit in der Ansicht verwendet wird*. Wenn Ihre Daten nicht über referentielle Integrität verfügen, sind die Abfrageergebnisse möglicherweise ungenau.
Aktivierte Option „Referentielle Integrität voraussetzen“ im „Daten“-Menü
Abbildung 2.20: Aktivierte Option »Referentielle Integrität voraussetzen« im »Daten«-Menü

* So wird beispielsweise der Umsatz anstatt mit der SQL-Abfrage SELECT SUM([Sales Amount]) FROM [Sales] S INNER JOIN [Product Catalog] P ON S.ProductID = P.ProductID lediglich mit der SQL-Abfrage SELECT SUM([Sales Amount]) FROM [Sales] ermittelt.

Empfehlungen für Performance-Optimierung bei Dateien und Cloud-Diensten

Achten Sie insbesondere beim Arbeiten mit Dateiformaten, wie Excel-, PDF- oder Textdateien, oder Daten aus Cloud-Diensten wie Google Tabellen zusätzlich auf folgende Punkte:

  • Verzichten Sie auf Vereinigungen über viele Dateien hinweg, da deren Verarbeitung sehr zeitintensiv ist.
  • Nutzen Sie einen Datenextrakt anstatt einer Live-Verbindung, falls Sie nicht mit einem schnellen Datenbanksystem arbeiten (siehe Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden).
  • Stellen Sie sicher, dass Sie beim Erstellen des Extrakts die Option »Einzelne Tabelle« wählen, anstatt der Option »Mehrere Tabellen« (siehe Abbildung 2.21). Dadurch wird das erzeugte Extrakt zwar größer und das Erstellen des Extrakts dauert länger, das Abfragen hingegen wird um ein Vielfaches beschleunigt.
Ausgewählte Option „Einzelne Tabelle“ im „Daten extrahieren“-Dialog
Abbildung 2.21: Ausgewählte Option »Einzelne Tabelle« im »Daten extrahieren«-Dialog

Empfehlungen für Performance-Optimierung bei Datenbank-Servern

Arbeiten Sie mit Daten auf einem Datenbank-Server, wie Oracle, PostgreSQL oder Microsoft SQL Server, und möchten die Zugriffszeiten verbessern? Dann achten Sie bzw. der dafür zuständige Datenbankadministrator zusätzlich auf folgende Punkte:

  • Definieren Sie für Ihre Datenbank-Tabellen sinnvolle Index-Spalten.
  • Legen Sie für Ihre Datenbank-Tabellen Partitionen an.

Dieser Beitrag ist der dritte Teil der Data-Operations-Serie:

Teil 1: Daten für die Analyse optimal vorbereiten
Teil 2: Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden
Teil 3: Wie Sie die Performance Ihrer Datenanalyse und Dashboards steigern

Außerdem basiert dieser Blog-Post auf einem Unterkapitel des Buches “Datenvisualisierung mit Tableau“:

Datenvisualisierung mit Tableau
  • Alexander Loth
  • Publisher: mitp
  • Edition no. 2018 (31.07.2018)
  • Broschiert: 224 pages

How to research LinkedIn profiles in Tableau with Python and Azure Cognitive Services

Tableau is using Python to access the Web Services API provided by Microsoft Azure Cognitive Services
Tableau is using Python to access the Web Services API provided by Microsoft Azure Cognitive Services

A few weeks after the fantastic Tableau Conference in New Orleans, I received an email from a data scientist who attended my TC18 social media session. She had a quite interesing question:

How can a Tableau dashboard that displays contacts (name & company) automatically lookup LinkedIn profile URLs?

Of course, researching LinkedIn profiles for a huge list of people is a very repetitive task. So let’s find a solution to improve this workflow…

1. Python and TabPy

We use Python to build API requests, communicate with Azure Cognitive Services and to verify the returned search results. In order to use Python within Tableau, we need to setup TabPy. If you haven’t done this yet: checkout my TabPy tutorial.

2. Microsoft Azure Cognitive Services

One of many APIs provided by Azure Cognitive Services is the Web Search API. We use this API to search for name + company + “linkedin”. The first three results are then validated by our Python script. One of the results should contain the corresponding LinkedIn profile.

3. Calculated Field in Tableau

Let’s wrap our Python script together and create a Calculated Field in Tableau:

4. Tableau dashboard with URL action

Adding a URL action with our new Calculated Field will do the trick. Now you can click on the LinkedIn icon and a new browser tab (or the LinkedIn app if installed) opens.

LinkedIn demo on Tableau Public

Is this useful for you? Feel free to download the Tableau workbook (don’t forget to add your API key), leave a comment and share this tweet:

Data Operations: Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden

#dataops: Folgen Sie der Diskussion auf Twitter
#dataops: Folgen Sie der Diskussion auf Twitter

Nachdem Sie Ihre Daten für die Analyse optimal vorbereitet haben, stellt sich die Frage auf welche Weise Sie Ihre Daten bereithalten wollen, damit Sie schnell erste Erkenntnisse erhalten.

Tableau bietet Ihnen für die meisten Datenquellen die Möglichkeit, zwischen einer Live-Verbindung, also einer direkten Verbindung zur Datenbank, und einem Datenextrakt, also einem Abzug der Daten zu wählen. Wie Abbildung 1.1 zeigt, können Sie einfach zwischen beiden Verbindungstypen wechseln.

Auswahlknöpfe, um zwischen Live-Verbindung und Datenextrakt zu wechseln
Abbildung 1.1: Auswahlknöpfe, um zwischen Live-Verbindung und Datenextrakt zu wechseln

Live-Verbindungen ermöglichen Ihnen die Arbeit mit den Daten, wie sie zum momentanen Zeitpunkt auf der Datenbank oder der Datei vorliegen. Wenn Sie Daten extrahieren, importieren Sie einige oder alle Daten in die Data Engine von Tableau. Dies gilt sowohl für Tableau Desktop als auch für Tableau Server. Welche Verbindungsmethode Sie bevorzugen sollten, hängt von Ihrer Situation und dem Anwendungsfall, Ihren Anforderungen sowie von der Verfügbarkeit der Datenbank und der Netzwerkbeschaffenheit ab.

Immer aktuell mit der Live-Verbindung

Durch die direkte Verbindung mit Ihrer Datenquelle visualisieren Sie immer die aktuellsten Daten, die Ihnen die Datenbank zur Verfügung stellt. Wenn Ihre Datenbank in Echtzeit aktualisiert wird, müssen Sie die Tableau-Visualisierung nur über die Funktionstaste F5 aktualisieren oder indem Sie mit der rechten Maustaste auf die Datenquelle klicken und die Option Aktualisieren auswählen.

Wenn Sie eine Verbindung zu großen Datenmengen herstellen, die Visualisierung sehr viele Details enthält oder Ihre Daten in einer leistungsstarken Datenbank mit entsprechend ausgestatteter Hardware gespeichert sind, können Sie mit einer direkten Verbindung eine schnellere Antwortzeit erzielen.

Die Auswahl einer direkten Verbindung schließt nicht die Möglichkeit aus, die Daten später zu extrahieren. Andersherum können Sie auch wieder von einem Extrakt zu einer Live-Verbindung wechseln, indem Sie mit der rechten Maustaste auf die Datenquelle klicken und die Option Extrakt verwenden deaktivieren.

Unabhängig mit einem Datenextrakt

Datenextrakte haben naturgemäß nicht den Vorteil, dass sie in Echtzeit aktualisiert werden, wie es bei einer Live-Verbindung der Fall ist. Die Verwendung der Data Engine von Tableau bietet jedoch eine Reihe von Vorteilen:

Leistungsverbesserung bei langsamen Datenquellen:

Vielleicht ist Ihre Datenbank stark mit Anfragen belastet oder bereits mit transaktionalen Operationen beschäftigt. Mithilfe der Data Engine können Sie Ihre Datenbank entlasten und die Datenhaltung von Tableau übernehmen lassen. Extrakte können Sie am besten außerhalb der Stoßzeiten aktualisieren. Tableau Server kann Extrakte auch zu festgelegten Zeitpunkten aktualisieren, zum Beispiel nachts um 3 Uhr.

Inkrementelles Extrahieren:

Durch das inkrementelle Extrahieren wird auch die Aktualisierungszeit beschleunigt, da Tableau nicht die gesamte Extraktdatei aktualisiert. Es fügt nur neue Datensätze hinzu. Um inkrementelle Extrakte auszuführen, müssen Sie ein Feld angeben, das als Index verwendet werden soll. Tableau aktualisiert die Zeile nur, wenn sich der Index geändert hat. Daher müssen Sie beachten, dass Änderungen an einer Datenzeile, die das Indexfeld nicht ändert, von der Aktualisierung nicht berücksichtigt werden.

Datenmenge mit Filtern einschränken:

Eine andere Möglichkeit, Extrakte zu beschleunigen, besteht darin, beim Extrahieren der Daten Filter anzuwenden. Wenn für die Analyse nicht die gesamte Datenmenge benötigt wird, können Sie den Extrakt so filtern, dass er nur die erforderlichen Datensätze enthält. Wenn Sie eine sehr große Datenmenge haben, müssen Sie nur selten den gesamten Inhalt der Datenbank extrahieren. Zum Beispiel kann Ihre Datenbank Daten für viele Regionen enthalten, aber Sie benötigen möglicherweise nur die Daten zur Region »Süd«.

Um einen Extrakt entsprechend anzulegen, wählen Sie als Verbindung Extrakt aus und klicken dann auf das nebenstehende Bearbeiten. Es öffnet sich das Fenster Daten extrahieren. Mit einem weiteren Klick auf Hinzufügen können Sie nun einen Filter erstellen, der für Ihren Extrakt angewandt wird (siehe Abbildung 1.2).

Der Datenextrakt kann mit Filtern eingeschränkt werden
Abbildung 1.2: Der Datenextrakt kann mit Filtern eingeschränkt werden

Weitere Funktionen für bestimmte Datenquellen:

Wenn Ihre Daten aus einer bestimmten Datenquelle stammen, so sind unter anderem Aggregationsfunktion wie Median (beispielsweise bei Access-Datenbanken ) bei einer Live-Verbindung nicht verfügbar. Arbeiten Sie mit einem Extrakt, können Sie diese Funktionen nutzen, auch wenn sie von der ursprünglichen Datenquelle nicht unterstützt werden.

Datenübertragbarkeit:

Sie können Extrakte lokal speichern und auch dann verwenden, wenn die Verbindung zu Ihrer Datenquelle nicht verfügbar ist. Eine Live-Verbindung funktioniert nicht, wenn Sie nicht über ein lokales Netzwerk oder das Internet auf Ihre Datenquelle zugreifen können. Extrakte werden außerdem komprimiert und sind normalerweise wesentlich kleiner als die ursprünglichen Datenbanktabellen, was dem Weitertransport der Daten zugutekommt.

Achten Sie auf Datenschutz und Data Governance

In Unternehmen spielen Datenschutz und Data Governance und damit verbunden Integrität und Sicherheit der Daten eine wichtige Rolle. Wenn Sie Extrakte an Mitarbeiter oder Geschäftspartner verteilen, sollten Sie die etwaige Vertraulichkeit Ihrer Daten berücksichtigen. Ziehen Sie in Betracht, den Inhalt des Extrakts über Filter einzuschränken und zu sichtbaren Dimensionen zu aggregieren.

Sind Sie sich unsicher, arbeiten Sie im Zweifelsfall besser mit einer Live-Verbindung, da in diesem Fall Ihre Datenbank das Rechte-Management steuert und so Ihre Daten nicht von Personen ohne ausreichende Berechtigungen gesehen werden können.

Dieser Beitrag ist der dritte Teil der Data-Operations-Serie:

Teil 1: Daten für die Analyse optimal vorbereiten
Teil 2: Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden
Teil 3: Wie Sie die Performance Ihrer Datenanalyse und Dashboards steigern

Außerdem ist dieser Blog-Post ein Auszug aus dem Buch “Datenvisualisierung mit Tableau“, das am 31. Juli 2018 erschienen ist:

Datenvisualisierung mit Tableau
  • Alexander Loth
  • Publisher: mitp
  • Edition no. 2018 (31.07.2018)
  • Broschiert: 224 pages

Das Tableau-Buch ist ab sofort im Handel erhältlich

Das erste deutschsprachige Tableau-Buch ist auch bei Amazon erhältlich
Das erste deutschsprachige Tableau-Buch ist auch bei Amazon erhältlich

Das Buch “Datenvisualisierung mit Tableau” ist ab sofort im Handel erhältlich:

Vorschau:

Mehr erfahren:

Erfahren Sie mehr zu “Datenvisualisierung mit Tableau” auf der Webseite zum Tableau-Buch!

[Update 11 Aug 2018]: In den Informatikbücher-Top-20 bei Amazon!
[Update 17 Aug 2018]: In den Informatikbücher-Top-10 bei Amazon!

Datenvisualisierung mit Tableau: Tableau-Buch ab sofort vorbestellbar

Das erste deutschsprachige Tableau-Buch enthält auch ein Kapitel zur Datenaufbereitung mit Tableau Prep
Das erste deutschsprachige Tableau-Buch enthält auch ein Kapitel zur Datenaufbereitung mit Tableau Prep

Mein Buch “Datenvisualisierung mit Tableau” kann ab sofort vorbestellt werden:

Bevor ich nun selbst viel zum Buch schreibe, gebe ich einfach mal einen Auszug aus dem Umschlagtext wieder:

Visualisieren Sie Ihre Daten schnell und ausdrucksstark mit Tableau, um praktisch umsetzbare Ergebnisse zu erhalten. Alexander Loth zeigt Ihnen Schritt für Schritt, wie Sie ganz einfach visuelle Analysen erstellen und so selbst komplexe Datenstrukturen verstehen sowie gewonnene Erkenntnisse effektiv kommunizieren können.

Das Buch richtet sich an:

  • Menschen, die Zugang zu Daten haben und diese verstehen möchten
  • Führungskräfte, die Entscheidungen auf Grundlage von Daten treffen
  • Analysten und Entwickler, die Visualisierungen und Dashboards erstellen
  • angehende Data Scientists

Zum Verständnis dieses Buches sind weder besondere mathematische Fähigkeiten noch Programmiererfahrung nötig. Es eignet sich daher auch für Einsteiger und Anwender, die sich dem Thema Datenvisualisierung und -analyse praxisbezogen und ohne ausschweifende theoretische Abhandlungen, nähern möchten.

Die grundlegenden Funktionen von Tableau werden Schritt für Schritt erläutert und Sie lernen, welche Visualisierungsmöglichkeiten wann sinnvoll sind. Der Autor zeigt Fallbeispiele auf, die weit über eine »Standard-Analyse« hinausreichen und geht auf Funktionen ein, die selbst erfahrenen Nutzern oft nicht hinlänglich bekannt sind. Sie erhalten außerdem Hinweise und Tipps, die das Arbeiten mit Tableau erleichtern, und können so zukünftig Ihre eigenen Daten bestmöglich visualisieren und analysieren.

[Update 25 Jul 2018]: Hier ist das erste Exemplar ganz druckfrisch: