TabPy Tutorial: How to Integrate Python with Tableau for Advanced Analytics

Python in Tableau: TabPy allows Tableau to execute Python code on the fly
Python in Tableau: TabPy allows Tableau to execute Python code on the fly

In 2013, Tableau introduced R Integration, the ability to call R scripts in calculated fields. This opened up possibilities such as K-means clustering, Random Forest models, and sentiment analysis. With the release of Tableau 10.2, we can enjoy a new, fancy addition to this feature: the Python Integration through TabPy, the Tableau Python Server.

Python in Tableau: The Perfect Blend

Python is a widely used general-purpose programming language, popular among academia and industry alike. It provides a wide variety of statistical and machine-learning techniques and is highly extensible. Together, Python and Tableau are the data science dream team to cover any organization’s data analysis needs.

In this tutorial, I’m going to walk you through the installation and connecting Tableau with TabPy. I will also give you an example of calling a Python function from Tableau to calculate correlation coefficients for a trellis chart.

Step by Step: Integrating Python in Tableau

1. Install and start Python and TabPy

Start by clicking on the Clone or download button in the upper right corner of the TabPy repository page, downloading the zip file, and extracting it.

TabPy download via GitHub web page

Protip: If you are familiar with Git, you can download TabPy directly from the repository:

> git clone git://github.com/tableau/TabPy

TabPy download via Git command line interface

Within the TabPy directory, execute setup.sh (or setup.bat if you are on Windows). This script downloads and installs Python, TabPy, and all necessary dependencies. After completion, TabPy is starting up and listens on port 9004.

2. Connecting Tableau to TabPy

In Tableau 10.2 (and later versions), a connection to TabPy can be added in Help > Settings and Performance > Manage External Service Connection:

Tableau main menu
Tableau main menu

Set port to 9004:

External Service Connection dialogue
External Service Connection dialogue

3. Adding Python code to a Calculated Field

You can invoke Calculated Field functions called SCRIPT_STR, SCRIPT_REAL, SCRIPT_BOOL, and SCRIPT_INT to embed your Python script in Tableau:

SCRIPT_REAL('
import numpy as np
return np.corrcoef(_arg1,_arg2)[0,1]
',
SUM([Sales]), SUM([Profit]))
Python script within Tableau
Python script within Tableau

4. Use Calculated Field in Tableau

Now you can use your Python calculation as Calculated Field in your Tableau worksheet:

Tableau workbook featuring a Python calculation
Tableau workbook featuring a Python calculation

Feel free to download the Tableau Packaged Workbook (twbx) here.

Further Reading: Visual Analytics with Tableau

Join the data science conversation and follow me on Twitter and LinkedIn for more tips, tricks, and tutorials on Python in Tableau and other data analytics topics. If you’re looking to master Tableau, don’t forget to preorder your copy of my upcoming book, Visual Analytics with Tableau (Amazon). It offers an in-depth exploration of data visualization techniques and best practices.

Also, feel free to comment and share my TabPy Tutorial tweet:

Blog post updates:

Predictive Maintenance Beispiele: 4 Methoden zur Kostenoptimierung durch Predictive Maintenance

Predictive Maintenance Beispiele: PdM Dashboard auf Tableau Mobile und IoT Realtime Feed auf Tableau Desktop
Predictive Maintenance Beispiele: PdM Dashboard auf Tableau Mobile und IoT Realtime Feed auf Tableau Desktop

Einführung: Warum ist Predictive Maintenance wichtig?

Instandhaltungskosten tragen wesentlich zu den Produktionskosten bei, wobei sie je nach Branche auf 15 bis 60 Prozent der Gesamtkosten geschätzt werden. Predictive Maintenance (PdM), die vorausschauende Instandhaltung, hat das Potenzial, diese Kosten deutlich zu senken.

Unsere Erfahrungen und die ausführlichen Beispiele in meinem Buch zur Digitalisierung Decisively Digital: From Creating a Culture to Designing Strategy (Amazon) zeigen, dass Predictive Maintenance die Gesamtkosten einer Maschine während ihrer gesamten Lebensdauer reduzieren kann.

Das Prinzip von Predictive Maintenance

Predictive Maintenance zielt darauf ab, den Ausfall einer Maschine vorherzusagen und somit die Wartung zu optimieren. Die Wartungsarbeiten erfolgen nur dann, wenn ein Ausfall voraussichtlich eintreten wird. Doch wie lässt sich diese Vorhersage treffen?

Jene Vorhersagen, die häufig im Kontext mit Industrie 4.0 gesehen werden, lassen sich auf Grundlage folgender Fakten treffen:

  • Aktuelle Sensordaten: Wie verhält sich die Maschine gegenwärtig?
  • Historische Sensordaten: Wie hat sich die Maschine in der Vergangenheit verhalten?
  • Benachbarte Sensordaten: Wie haben sich andere, ähnliche Maschinen verhalten?
  • Instandhaltungsprotokoll: Wann wurde die Maschine zuletzt gewartet oder getauscht?
  • Instandhaltungsempfehlung: Welche Wartungsintervalle empfiehlt der Hersteller?

Methoden zur Interpretation von IoT-Daten

Solche Daten aus dem Internet der Dinge (IoT) lassen sich nun nicht ohne weiteres sinnvoll auf einem Dashboard darstellen. Ein Blick auf die bloßen Daten lässt hier kaum Schlüsse zu. So ist es für erfolgreiches Predictive Maintenance essentiell, dass statistische Methoden wie diese angewandt werden:

1. Mustererkennung: Durch das Identifizieren von Mustern zwischen bestimmten Ereignissen und Maschinenausfällen können wir voraussagen, wann und warum eine Maschine ausfallen könnte. Zum Beispiel könnte eine Maschine, die bei der Verarbeitung eines bestimmten Materials besonders belastet wird, eher ausfallen.

2. Trendmodell: Ein Trendmodell gibt den zeitlichen Verlauf der Maschinenperformance bis zu einem Ausfall wieder. Dies kann durch verschiedene Regressionsansätze modelliert und in drei Komponenten unterteilt werden: Trend, Saison und Rauschen.

3. Ereigniszeitanalyse: Die Analyse historischer Daten zu Ausfällen liefert ein weiteres Modell, das gegen aktuelle Messdaten gelegt werden kann, um damit die Dauer bis zum nächsten Ausfall bestimmen zu können.

4. Kritische Schwellwerte: Eine Überprüfung, ob bestimmte Schwellenwerte überschritten wurden, kann ebenfalls Hinweise auf einen bevorstehenden Ausfall geben. Diese Schwellenwerte können initial von Experten festgelegt und später durch maschinelles Lernen angepasst werden.

Diese Methoden lassen sich zum Beispiel in Python und R implementieren. Die Resultate zeigen konkrete Handlungsempfehlungen und eignen sich somit ausgezeichnet für Dashboards, die auch auf Tablets oder Smartphones gut zur Geltung kommen und fortlaufend aktualisiert werden.

Feedback und weiterführende Literatur

Wenn Sie mehr über Predictive Maintenance und über die Anwendung von digitalen Strategien in Ihrer Organisation erfahren möchten, empfehle ich Ihnen mein Buch Decisively Digital: From Creating a Culture to Designing Strategy (Amazon).

Was sind Ihre Gedanken zu Predictive Maintenance? Welche Daten und Methoden nutzen Sie für Ihre Instandhaltungsstrategie? Ich freue mich auf Kommentare und Anregungen. Teilen Sie uns Ihre Erfahrungen und Vorschläge in den Kommentaren mit:

Update: Predictive Maintenance mit Tableau wird außerdem auf der CeBIT am Stand der Deutschen Telekom im Rahmen von „Echtzeit-Analysen von Maschinendaten und externen Datenquellen“ vorgestellt:

„Predictive Maintenance Beispiele: 4 Methoden zur Kostenoptimierung durch Predictive Maintenance“ weiterlesen