Data Science Toolbox: How to use Julia with Tableau

Julia in Tableau: R allows Tableau to execute Julia code on the fly, enhancing your data analytics experience.
Julia in Tableau: R allows Tableau to execute Julia code on the fly, enhancing your data analytics experience.

Michael, a data scientist, who is working for a German railway and logistics company, recently told me during a FATUG Meetup that he loves Tableau’s R integration and Tableau’s Python integration. As he continued, he raised the question of using functions they have written in Julia. Julia, a high-level dynamic programming language for high-performance numerical analysis, is an integral part of the newly developed data strategy in Michael’s organization.

Tableau, however, does not come with native support for Julia. I didn’t want to keep Michael’s team down and was looking for an alternative way to integrate Julia with Tableau.

This solution is working flawlessly in a production environment for several months. In this tutorial, I’m going to walk you through the installation and connecting Tableau with R and Julia. I will also give you an example of calling a Julia statement from Tableau to calculate the sphere volume.

Step by Step: Integrating Julia in Tableau

1. Install Julia and add PATH variable

You can download Julia from julialang.org. Add Julia’s installation path to the PATH environment variable.

2. Install R, XRJulia, and RServe

You can download base R from r-project.org. Next, invoke R from the terminal to install the XRJulia and the RServe packages:

> install.packages("XRJulia")
> install.packages("Rserve")

XRJulia provides an interface from R to Julia. RServe is a TCP/IP server that allows Tableau to use facilities of R.

3. Load libraries and start RServe

After packages are successfully installed, we load them and run RServe:

> library(XRJulia)
> library(Rserve)
> Rserve()

Make sure to repeat this step every time you restart your R session.

4. Connecting Tableau to RServe

Now let’s open the Help menu in Tableau Desktop and choose Settings and Performance >Manage External Service connection to open the External Service Connection dialog box:

TC17 External Service Connection

Enter a server name using a domain or an IP address and specify a port. Port 6311 is the default port used by Rserve. Take a look at my R tutorial to learn more about Tableau’s R integration.

5. Adding Julia code to a Calculated Field

You can invoke Calculated Field functions called SCRIPT_STR, SCRIPT_REAL, SCRIPT_BOOL, and SCRIPT_INT to embed your Julia code in Tableau, such as this simple snippet that calculates sphere volume:


SCRIPT_INT('
library(XRJulia)
if (!exists("ev")) ev <- RJulia()
y <- juliaEval("
4 / 3 * %s * ' + STR([Factor]) + ' * pi ^ 3
", .arg1)
',
[Radius])

6. Use Calculated Field in Tableau

You can now use your Julia calculation as an alternate Calculated Field in your Tableau worksheet:

Using Julia within calculations in Tableau (click to enlarge)
Using Julia calculations within Tableau (click to enlarge)

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

Further Reading: Mastering Julia

If you want to go beyond this tutorial and explore more about Julia in the context of data science, I recommend the book Mastering Julia. You can find it 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 Julia 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 Tableau Julia Tutorial tweet:

Data Strategy: Erstickt Innovation zwischen Berichtswesen und Data Discovery?

Abbildung 4: Interaktives Dashboard zur Darstellung von variablen Abhängigkeiten in Tableau
Abbildung 4: Interaktives Dashboard zur Darstellung von variablen Abhängigkeiten mit TensorFlow in Tableau

Der erste Schritt auf dem Weg zu besserer Entscheidungsfindung im Unternehmen, ist zu verstehen, wie gute (oder schlechte) Entscheidungen zustande kamen. Genau wie manche Unternehmen formale Prozesse für Aktivitäten haben, wie z. B. What-if-Analysen, prädiktive Wartung und Bestimmung von Abhängigkeiten in Korrelationen (siehe Abbildung 4), so müssen sie formale Prüfprozesse für Entscheidungen im gesamten Unternehmen einführen. Dies soll jedoch keinesfalls dazu dienen, die an schlechten Entscheidungen Beteiligten zu bestrafen, sondern den Entscheidungsfindungsprozess und -stil des Unternehmens im Allgemeinen verbessern.

Die Rolle der IT nähert sich hierbei wieder ihren Wurzeln an und statt eine Berichtefabrik für den Rest des Unternehmens zu unterhalten, wird die IT wieder zum Dienstleister und Partner, der die Infrastruktur für eine Data Discovery bereitstellt. IT-Mitarbeiter werden entlastet und erhalten den Freiraum, ihre professionelle Energie und Kreativität in den Dienst der Innovation zu stellen, und die Mitarbeiter in den Abteilungen sehen ihre Datenfragen nicht am Flaschenhals Berichtswesen verhungern. Nur so lassen sich die Investitionen in Business Intelligence und Analytics optimal in den Dienst der strategischen Ziele des Unternehmens stellen.

Abbildung 5: Anforderungen, Fähigkeiten und Ziele einer Datenstrategie (TC17-Präsentation)
Abbildung 5: Anforderungen, Fähigkeiten und Ziele einer Datenstrategie (TC17-Präsentation)

Moderne Unternehmen sehen sich vielen analytischen Anforderungen (siehe Abbildung 5) gegenüber, und diese Anforderungen werden unweigerlich schneller wachsen, als Unternehmen sie bedienen können. Es ist daher unerlässlich, Analytics als lebenswichtigen Teil der eigenen Datenstrategie zu verstehen und entsprechend zu planen.

Dabei ist ein umfassender Betrachtungswinkel sinnvoll, denn die wachsende Nachfrage nach Analysen und Erkenntnissen wird mehr und mehr von den kundenbezogenen Abteilungen wie Marketing oder Support ausgehen. Dementsprechend wird auch das Budget für Analytics verstärkt aus diesen Abteilungen kommen, statt aus einem zentralisierten IT- oder BI-Budget. Dort, wo viele Kundendaten vorhanden sind, wird der CMO bald mehr für Analytics ausgeben als der CIO. Und dort, wo Mitarbeiter über gut integrierte, intuitive Werkzeuge für komplexe Analysen verfügen, können gute Instinkte und datenbasierte Entscheidungen Hand in Hand für den Erfolg sorgen.

Dieser Beitrag ist der fünfte Teil der Datenstrategie-Serie:

Teil 1: Die Notwendigkeit einer modernen Datenstrategie im Zuge der digitalen Transformation
Teil 2: Steigern smarte Erkenntnisse den Business Impact?
Teil 3: 10 BI & Analytics Trends, die in keiner Datenstrategie fehlen dürfen
Teil 4: Wie unterstützen Analysen Ihre Entscheidungsfindung?
Teil 5: Erstickt Innovation zwischen Berichtswesen und Data Discovery?

TC17 Data Strategy Title Slide Möchten Sie mehr zu den neuesten Trends im Bereich Datenstrategie erfahren? Dann freue ich mich, wenn Sie an meinem Vortrag „Building an Enterprise Big Data & Advanced Analytics Strategy“ auf unserer Tableau Conference TC17 (9.-12. Okt., Las Vegas) teilnehmen.

Tableau Conference TC17 Sneak Peek: Integrating Julia for Advanced Analytics

Demo: using Julia within calculations in Tableau (click to enlarge)
Demo: using Julia calculations within Tableau (click to enlarge)

We have already seen some love from Tableau for R and Python, boosting Tableau’s Advanced Analytics capabilities.

So what is the next big thing for our Data Science Rockstars? Julia!

Who is Julia?

JuliaJulia logo is a high-level dynamic programming language introduced in 2012. Designed to address the needs of high-performance numerical analysis its syntax is very similar to MATLAB. If you are used to MATLAB, you will be very quick to get on track with Julia.

Compared to R and Python, Julia is significantly faster (close to C and FORTRAN, see benchmark). Based on Tableau’s R integration, Julia is a fantastic addition to Tableau’s Advanced Analytics stack and to your data science toolbox.

Where can I learn more?

Do you want to learn more about Advanced Analytics and how to leverage Tableau with R, Python, and Julia? Meet me at the 2017 Tableau Conferences in London, Berlin, or Las Vegas and join my Advanced Analytics sessions:

Will there be an online tutorial?

Yes, of course! I published tutorials for R and Python on this blog. And I will also publish a Julia tutorial soon. Feel free to follow me on Twitter @xlth, and leave me your feedback/suggestions in the comment section below.

Further reading: Mastering Julia

A German translation of this post is published on the official Tableau blog: Tableau Conference On Tour Sneak Peek: Julia-Integration für Advanced Analytics

Update 11 Oct 2017: The Julia+Tableau tutorial blog post is now published.

Digitale Banken: Die Chancen von Blockchain, Künstlicher Intelligenz und Machine Learning

Commerzbank Tower
Commerzbank Tower: Zahlt sich für Banken die Kooperation mit Fintechs aus? (Foto: Flickr)

Die Zukunft im Finanzwesen bleibt vielversprechend und spannend. Haben uns kürzlich noch Innovationen in der Erschließung neuer Märkte und in der Vermögensverwaltung beschäftigt, so sind es heute mehr denn je die raffinierten datengetriebenen Technologien, die in den Vordergrund gerückt sind.

Anfang dieses Jahres startete Futura Analytics, ein Fintech, das enorme Datenmengen und maschinelle Lernmodelle nutzt, um Regeln zur Risikobewertung in Echtzeit umzuschreiben. Futura Analytics verwandelt Daten aus Twitter und anderen öffentlichen Quellen in nutzbare Signale und identifiziert die relevantesten Informationen in Echtzeit für Kunden im Finanzsektor (Beispiel: Bitcoin/Sentiment-Analyse).

Künstliche Intelligenz ist Teil der Zukunft

Banken und Fintechs nutzen die künstliche Intelligenz und die immer besser werdende Verarbeitung von natürlicher Sprache, um Kunden einen besseren Zugang zu Finanzdienstleistungen zu ermöglichen. Produktempfehlungen basierend auf Mustererkennung hilft die passende Dienstleistung anzubieten. Natürliche Sprache wird zu einer Vereinfachung von Zahlungsinteraktionen führen.

M2M-Lösungen rationalisieren Cloud-basierte Authentifizierung

Zwillingstürme der Deutschen Bank
Deutsche Bank (Foto: Flickr)

Allerdings müssen Zahlungsinteraktionen direkt von Gerät zu Gerät immer noch Barrieren überwinden, wie z.B. das Gewährleisten einer nahtlose Authentifizierung zwischen den Endgeräten. Bis solche M2M-Lösungen (Machine-to-Machine) mit nahtloser Authentifizierung herstellerübergreifend verfügbar ist, werden sich Geräte weiterhin über Services in der Cloud authentifizieren, bevor Transaktionen ausgeführt werden.

Gamification schafft Anreize für mobile Bezahlung

Mobiles Bezahlen am Point-of-Sale haben sich noch immer nicht flächendeckend durchgesetzt. Obwohl Unternehmen in Zahlungsterminals bereitstellen, fehlt es an Anreizen, um die Nutzer dazu zu ermutigen, mit ihren mobilen Geräten zu bezahlen. Banken haben schon damit begonnen die kostenlose Bargeldversorgung einzuschränken. Fintechs können dem Handel mit Gamification helfen das mobile Zahlen für Kunden attraktiver machen.

Blockchain ermöglicht kostengünstige Transaktionsüberprüfung

Die Rolle der Blockchain-Technologie bei der Bereitstellung einer verteilten Transaktionshistorie weckt großes Interesse im Zahlungs- und Handelsökosystem. Die Technologie macht Transaktionsgebühren, die Anbieter wie PayPal für das Sicherstellen von Transaktionen erhoben haben, hinfällig. Die Nutzung der Blockchain zur kostengünstigen Überprüfung von Transaktionen wird bei Banken oben auf der Agenda stehen.

Maschinelles Lernen verbessert die Zahlungssicherheit

Durch die Digitalisierung von Zahlungen muss die Zahlungssicherheit über eine breite Palette an Endgeräten gewährleistet werden. Geräte können ein erhöhtes Risiko gegenüber fortgeschrittenen Angriffen aufweisen. Bei der Gestaltung von sicheren Zahlungsmethoden erkennt maschinelles Lernen das Verhalten und greift ein, wenn ein solches Verhalten auf ungewöhnliche Verhaltensweisen oder Transaktionsaktivitäten hindeutet.

Data Strategy: Wie unterstützen Analysen Ihre Entscheidungsfindung?

Abbildung 3: bei der Entscheidungsfindung gibt es keinen Schritt, der nicht von Analysen begleitet wird
Abbildung 3: bei der Entscheidungsfindung gibt es keinen Schritt, der nicht von Analysen begleitet wird (Foto: Flickr)

Unternehmen transformieren die Art und Weise, wie sie ihre Kundenanalyse angehen in vielen verschiedenen Aspekten. Dieser Wandel ist jedoch weder branchenübergreifend, noch von Unternehmen zu Unternehmen innerhalb einer Branche konsistent. Ein Schlüssel zum Erfolg, bei dem die IT eine entscheidende Rolle spielen kann, ist es, den Faktor Kundenwissen möglichst gewinnbringend in die eigene Unternehmensstruktur zu integrieren.

Um eine Daten-zentrische Strategie zu entwickeln, müssen wir zunächst verstehen, wie unser Unternehmen Analysen durchführt und mit den Erkenntnissen umgeht:

  1. Welche Daten werden gesammelt, was passiert mit ihnen und wie wirken sie sich auf unsere Entscheidungen aus?
  2. Betrachten wir unsere Kunden aus einer taktischen oder strategischen Perspektive?
  3. Sehen wir alle wichtigen Details?
  4. Wie können wir effizienter aggregieren?
  5. Sind unsere Analysen multidimensional oder sitzen wir in Silos fest?

Egal, wo sich ein Unternehmen im Spannungsfeld zwischen Berichtswesen und Data Discovery befindet, heutzutage müssen sich Analysetechniken nicht nur mit dem Business entwickeln, sie sollten dessen Evolution maßgeblich mitbestimmen. So gibt es beispielsweise Bereiche, in denen riesiges Potenzial zur Effizienzsteigerung durch Algorithmen und Maschinenlernen schlummert. Gleichzeitig werden manch andere Dinge immer das menschliche Auge erfordern.

Wie viele Mitarbeiter im Unternehmen analysieren Daten? Und wie viele konsumieren die Ergebnisse? Es ist wichtig zu wissen, inwiefern die eingesetzte Analyse-Plattform die analytische Arbeitslast und den Informationsfluss innerhalb des Unternehmens beeinflusst. Erst mit einem klaren Bild der Ausgangssituation lässt sich eine Strategie für den Wandel formulieren.

In einer modernen Datenstrategie gibt es bei der Entscheidungsfindung keinen Schritt, der nicht von Analysen begleitet wird (siehe auch Abbildung 3):

  • Awareness: Erkennen, dass eine Entscheidung gefällt werden muss. Benachrichtigungen, komplexe Ereignisverarbeitung und gut designte Dash- und Storyboards bieten sich für diesen Zweck an.
  • Scoping: Verstehen, welche Rahmenbedingungen wichtig und welche Bereiche indirekt betroffen sind. Statistik, Datenvisualisierung, Ad-hoc-Abfragen und bestimmte Data-Mining-Techniken eignen sich hierfür.
  • Predicting: Identifizieren, wie sich unterschiedliche Handlungen auswirken. Simulation, Forecasting und Predictive Analytics sind in diesem Schritt der Entscheidungsfindung gefragt.
  • Selecting: Die bestmögliche Handlung ausfindig machen. Hierbei können Optimierung und Regel-Engines helfen.
  • Reporting: Überwachen der Auswirkungen einer Entscheidung. Hierbei ist selbstverständlich das Berichtswesen die relevante analytische Komponente.

Dieser Beitrag ist der vierte Teil der Datenstrategie-Serie:

Teil 1: Die Notwendigkeit einer modernen Datenstrategie im Zuge der digitalen Transformation
Teil 2: Steigern smarte Erkenntnisse den Business Impact?
Teil 3: 10 BI & Analytics Trends, die in keiner Datenstrategie fehlen dürfen
Teil 4: Wie unterstützen Analysen Ihre Entscheidungsfindung?
Teil 5: Erstickt Innovation zwischen Berichtswesen und Data Discovery?