Ledger Nano S - The secure hardware wallet

Data Operations: Daten für die Analyse optimal vorbereiten

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

Kürzlich habe ich einige Blog-Posts zum Thema Datenstrategie veröffentlicht. Für viele Unternehmen geht die Entwicklung und Einführung einer Datenstrategie nicht tief genug. Häufig habe ich ähnliches gehört: “So weit ist unser Unternehmen noch gar nicht. Wir haben noch viel operativ vorzubereiten, bevor wir eine Datenstrategie voll umfänglich etablieren können.”

Ich habe in diesen Gesprächen nachgehakt, wo diese grundlegenden Lücken in den Unternehmen bestehen, und entschlossen eine neue Blog-Post-Serie aufzusetzen, um zum Thema Data Operations (#dataops) konkrete und einfach umsetzbare Vorschläge zu geben.

Daten für die Analyse vorbereiten

Eine der wesentlichen Fragen, die sich Datenanalysten immer wieder stellen, lautet: “Gibt es eine Möglichkeit meine Daten für die Verwendung mit Analysewerkzeugen, wie Tableau, optimal vorzubereiten?”

Daten können auf unterschiedliche Arten strukturiert sein. Die meisten neuen Tableau-Anwender erliegen der Versuchung, Tableau mit einem bereits formatierten und voraggregierten Excel-Bericht (siehe Abbildung 1.1) zu verbinden und diesen in Tableau zu visualisieren. Heißt es nicht mit Tableau können Daten jeder Art einfach und intuitiv verwenden werden? Sehr schnell stellt man fest, dass ein solches Vorgehen nicht funktioniert, wie erwartet und sich so auch keine Visualisierungen erstellen lassen.

Abbildung 1.1: Bereits formatierter und voraggregierter Excel-Bericht
Abbildung 1.1: Bereits formatierter und voraggregierter Excel-Bericht

Dieses Szenario, dem viele Einsteiger begegnen, ist nicht ungewöhnlich und tatsächlich ein häufiger Stolperstein bei der Einarbeitung in Tableau, der die Analyse Ihrer Daten erschweren kann.

Die folgenden Punkte zeigen Ihnen Vorschläge zur sauberen Vorbereitung Ihrer Daten anhand des Beispielberichts:

  • Verzichten Sie auf den einleitenden Text (“Temperaturmessung zum Monatsbeginn”).
  • Überführen Sie hierarchische Überschriften (“Frankfurt”, “Berlin”) auf eine Spalteninformation (neue Spalte “Ort”).
  • Pivotisieren Sie Daten von einer “weiten” Kreuztabelle mit Variablen in Spalten (“Früh”, “Mittag”, “Abend”) in eine “lange” Tabelle, die die Variablen stets in den Zeilen trägt (in diesem Beispiel die Uhrzeit).
  • Nutzen Sie vollständige Datums- und ggf. Zeitformate (“01.04.2018 06:00”) anstatt z.B. nur den Monatsnamen (“April”).
  • Überprüfen Sie, dass Zahlen im Zahlenformat und nicht im Textformat gespeichert sind.
  • Verzichten Sie voraggregierte Daten (“Durchschnitt”, “Gesamtdurchschnitt”).
  • Entfernen Sie leere Zeilen.
  • Achten Sie darauf, dass jede Spate eine aussagekräftige Spaltenüberschrift trägt.

Haben Sie diese Vorschläge befolgt, ist aus Ihrer “weiten” Kreuztabelle nun eine “lange” Zeilen-basierte Tabelle geworden, und damit die perfekte Basis zur umfangreichen Datenanalyse (siehe Abbildung 1.2).

Abbildung 1.2: Zur Datenanalyse geeignete „lange Tabelle“ ohne Aggregationen
Abbildung 1.2: Zur Datenanalyse geeignete „lange Tabelle“ ohne Aggregationen

Dieser Blog-Post ist ein Auszug aus dem Buch “Datenvisualisierung mit Tableau“, das am 31. Juli 2018 erscheinen wird:

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

Data Science Toolbox: How to use Julia with Tableau

R allows Tableau to execute Julia code on the fly
R allows Tableau to execute Julia code on the fly

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

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 which 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 everytime 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 on 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:

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

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

Using Julia within calculations in Tableau (click to enlarge)
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.

Take the Survey: The Stage of Digital Transformation

This survey is part of my thesis that examines the topology, structure, and evolution of the digital transformation within organizations. Your contribution to this survey helps to better understand the perception regarding the current stage of digital transformation.

Follow this link to take the survey:
https://goo.gl/forms/Yi2OUYaQfIBP9t3x2

Spread the word and share this article! Thanks!