0
votes

Goal

At the moment I use Tableau for generating reports based on the data I store at KnackHQ (online database service, which has a REST API). I now have to manually extract data as Excel (or .csv) from KnackHQ to upload to Tableau. I would like to automate this process.

Investigation

It seems there are several options to try:

  1. Web-connector via ODBC (seems I need to write my own ODBC driver in my case, which can be tricky)
  2. Export CSV (http://databoss.starschema.net/tableau-live-data-connection-to-csv-over-http-rest/)
  3. OData (http://www.odata.org/)
  4. Data Engine API (http://www.tableau.com/new-features/data-engine-api-0)
  5. Any others?

Any ideas what can be the best method of such integration in terms of simplicity?

1
If the REST API of KnackHQ (I don't know it at all) is good, you can integrate with Tableau Data Engine API, to create .tde files. tableau.com/new-features/data-engine-api-0 - Inox
The most preferred way for me would be no programming at all on Tableau side. As far as I see, the method you suggest requires programming on Tableau side "The API works with C/C++, Java, and Python and can be used from Windows"? - igorpavlov
Yes, it does. In that case, you should find a KnackHQ forum, not a Tableau Forum. Your focus is on how to extract data from there, not on how to connect it on Tableau (which is pretty straightforward) - Inox
Shall I then go with OData way: program somewhere a bridge (accessible via URL) to transform data from Knack (within its API) to OData format? - igorpavlov
As long as Tableau can easily connect to that format. I've never used OData. Make some tests first - Inox

1 Answers

3
votes

From Tableau 9.1 (which will be released in 2015 Q3 but beta is already available) has a new feature: Tableau Web Data Connector. This is exactly what you need, since:

  • You can build custom connectors using Tableau WDC Javascript API
  • Create & refresh datasources in Tableau Desktop using these connectors
  • Your administrator can import the connector. From that point Tableau Server can schedule and refresh the extracts based on your Web Service originated data

I would suggest to check out these post on how to write a new connector:

You can also check official Tableau Documentations like how can you manage connectors: Web Data Connectors in Tableau Server

If you want to try out this before it gets released please follow the instructions on the Tableau Community web site here: http://community.tableau.com/message/327560.