Ihr Datenlein kommet, o kommet doch all...

Tableau Data Extract API Logo
23
DEC
2014

Ihr Datenlein kommet, o kommet doch all!

Kommentare : 0

“Ihr Datenlein kommet, o kommet doch all. Zur Datenauswertung in Tableaus Stall”

… und wenn ihr nicht kommt? Dann hol ich EUCH! 

  • Intro

    Willkommen zu meinem ersten Blog in meinem ganzen Leben. Ich hätte nie gedacht, dass ich auch mal unter die Autoren gehe, aber sag niemals nie, denn man weiß nie, was kommt und welche Biegungen in einem Leben genommen werden.

    In diesem Beitrag geht es um die Tableau Data Extract API (TDE API). Seit meinem Beginn bei Tableau Software habe ich mich über die modernen Daten-Konnektoren hergemacht. Wie es aber manchmal so in der realen Welt ist, kommen einen auch mal nicht alltägliche Datenquellen um die Ecke, die selbst Tableau noch nicht kennt. Im schlimmsten Fall Eigenentwicklungen. Um diese ebenfalls berücksichtigen zu können, wurde von Tableau mit der Version 8.2 die Tableau Data Extract API kostenlos zur Verfügung gestellt.

    Die API ist eine von aktuell 3 Schnittstellen. Zusätzlich gibt es noch die JavaScript APIv2, die Timo bereits kurz vorgestellt hat (Blog), und die REST API, die es erlaubt, über ein REST Interface (Tutorial) administrative Tableau-Aufgaben von außen zu steuern.

    Die API wird nicht nur von angeboten, um Kunden oder Partner in die Lage zu versetzen, Daten aus Quellen zu extrahieren, sondern werden auch von Technologie Partnern, wie Informatica, Adobe Analytics und Alteryx als Ausgabe Format generiert.

  • Aufbau der TDE API

    Die TDE API bietet die Download-Option von Programm-Bibliotheken (32bit/64bit) für C/C++, Java und Python. Diese können unter Windows in die eigenen Entwicklungsumgebungen eingebunden werden. Die extra einfach und schlank gehaltene Bibliothek beinhaltet folgende Klassen:

    TDE API Classes

     Neben dem Verbindungsaufbau zum Quellsystem und dem Empfang der Quelldaten, hat die Erstellung der TDE Datei in der Regel den gleichen Aufbau.

    • Extract Objekt öffnen, um eine neue Datei zu erstellen
    • Tabellendefintion definieren
    • Extracttabelle hinzufügen
    • Zeilen einfügen
    • Alle Objekte schließen

    Nach der Installation befindet sich im Falle von Java ein docs-Verzeichnis ein JavaDoc ist. Hier können die Atribute und Methoden der einzelnen Klassen eingesehen werden. Wollen wir das ganze an einem praktischen Beispiel kurz durch durchgehen. Next section please!

  • Lösungsbeispiel WebService

    Das Viz-Ergebnis, des Extrakts kann man schon in fertiger Form im Blogpost (Kennzahlen mittels Treeselektor auswählen) von Timo sehen. Wie hat er einen Webservice angebunden? Ziemlich einfach. Die EZB biete eine REST-API an, über die europäische Statistiken abgegriffen werden können, wie dieser hier: EZB WebService.

    In JAVA einfach den Webservice über eine HttpURL Connection abholen und den Stream in ein XML Dokument umwandeln, so

    callWebservice

     

    In einem XML Dokument Objekt ist es sehr einfach die Bereich zu ermitteln, per Schleife auszulesen und in einem temporären Objekt (falls gewünscht) zu speichern. Diese Schritte haben noch nichts mit der TDE API zu tun.

    Die TDE API kommt jetzt ins Spiel und zwar in genau der Reihenfolge, wie bereits oben erwähnt. Wie erstellen und öffnen uns als erstes ein Extrakt Objekt. Wobei sPath die Variable des Erstellungsortes darstellt.

     Extract

     Als nächstes benötigen wir eine Tabellendefinition. Der Webservices beinhaltet 5 Spalteninformationen, die es wert sind, auszuwerten. So legen wir ein Objekt der Klasse TableDefinition an und fügen 5 Spalten mit denweiligen Datentypen an. Die Spaltennamen sind im abgebildeten Fall in einem Array colNames hinterlegt.

    Tabellendefinition

     

     

    Nun sind wir auch fast fertig. Nachdem wir das TableDefinition-Objekt erhalten und definiert haben, fügen wir nun eine Tabelle mit dieser Definition hinzu und öffnen es:

     

    openTabe

    Nachdem wir nun auch noch eine Zeile mit derselben Tabellendefinition erzeugt haben, durch laufen wir ein 2-dimensionales Array, welches den Inhalt des Webservice widerspiegelt. Am Ende jeder Schleife wird die eine Zeile in das Extrakt-Objekt hineingeschrieben. Dieser Prozess kann abhängig der zu durchlaufenden Schleifen, mal mehr mal weniger Zeit in Anspruch nehmen.

    InsertRows

     

    Am Ende müssen wir das erstellte Extrakt nur noch schließen.

    CloseExtract

    Jetzt stehen und die Daten in eine Tableau Data Extract Datei für die Analyse zur Verfügung.

Kommentare, Fragen, Anregungen sind herzlich willkommen.

Im Namen aller Beteiligten von Tableaufans.com wünsche ich eine besinnliche Weihnachtszeit und einen guten Rutsch ins neue Jahr…

Oliver Linder
Über den Autor
Oliver is responsible for working with partners and customers in DACH. He helps them getting ramped up as well as supporting them in customer situations by making use of Tableau.

Teilen

  • google-share

Kommentare Cancel reply

*

*

captcha *

Categories

  • Admin Area (1)
  • Data Stories (1)
  • Developer (2)
  • Embedding API (2)
  • Extension API (11)
  • Geek Stuff (3)
  • Hacks (1)
  • Ideas (8)
  • Industry Related (1)
  • Neuigkeiten (6)
  • News (3)
  • Performance (2)
  • Salesforce (1)
  • SAP (1)
  • Success Stories (1)
  • Tableau 10 (1)
  • Tableau 9 (1)
  • Tableau Server (3)
  • Tableau Visualization Extensions (1)
  • Tipps & Tricks (10)
  • Tips & Tricks (1)
  • Tutorials (14)
  • Visual Inspiration (8)

Tags

artilize Azure bericht Cloud Cloud Database conference Datalake dynamisch embed Embedding Extension API Extract API html javascript api kpi mobile munich news on-demand on-tour parameter RLS Salesforce SAP SAP BW Security Snowflake SSO tc Write Back

Last posts

Timo Tautenhahn - Tableaufans.com - Tableau Visualization Extensions - Create and share your own chart types - Live Devs on Stage TC21

Tableau Visualization Extensions

Thursday, 11. November 2021

How to configure Tableau Online Single Sign-On with Salesforce as Identity Provider?

Monday, 16. November 2020

Tableau Extensibility Framework

Thursday, 17. September 2020

Embedding Tableau Responsively

Tuesday, 26. May 2020

Show Empty Rows and Columns

Tuesday, 24. December 2019
  • Blog
  • About
  • Contact
  • Legal
© 2019 - tableaufans.com - All rights reserved
Concept and design: www.emodia.de