Introduction

This guide explains how to connect KNIME Analytics Platform with Tableau®. There are a few methods you can use to do this, and the text below describes these methods in further detail, while walking through an example KNIME workflow.

Installation

Installing the Tableau Extensions

Navigate to File → Install KNIME Extensions and type "Tableau" in the search box that appears. When you do, you will see something like the screen below.

02 install tableau extension

Install the extension KNIME Tableau Integration.

The Tableau integration uses the "Tableau Hyper API" which uses the .hyper format. If you want to use the .tde format for a Tableau Server 10.4 or earlier you can install and setup the legacy extension as described in the Legacy Extensions section. Additional information on the differences between the TDE and .hyper formats, along with the changes implemented in Tableau 10.5, can be found on the Tableau website.

Once you have installed the extension(s), restart KNIME Analytics Platform and you should see the Tableau nodes in the node repository under KNIME Labs. You can now drag and drop the Tableau nodes into your workflow and use them to export data.

Tableau Online Setup

For the purpose of this guide, we will assume that you want to publish data to Tableau Online. However, most of what is discussed here also applies if you host your own Tableau server. If you do not already have a Tableau Online account, you can create a trial account. For the steps that follow, you will need a few pieces of information:

  • The URL of your Tableau server.

    In your KNIME workflows, you must use the redirected specific URL — for example https://us-west-2b.online.tableau.com — and not the general URL https://online.tableau.com.

    Also, take particular care to use the secure https-protocol.

  • Your username

  • Your password

  • Your Tableau site ID. For Tableau Online, this can be observed within the URL itself. Given the URL https://us-west-2b.online.tableau.com/#/site/ExampleSite/projects, the site ID is ExampleSite.

You will also need to have a Tableau Project already in place on the server. By default, Tableau Online creates a default project for you, but it is a good idea to create one and give it an appropriate name. You can do this in Tableau Online by navigating to the projects section and clicking on the New Projects button. The project we will create for this guide is called "Adult Income".

02 tableau new project

Tableau Usage Example

Example workflow

To get started, download the Tableau Integration Example workflow from the EXAMPLES server. The workflow and associated dataset is available at EXAMPLES/05_Reporting/02_Tableau/01_Tableau_Integration_Example. Go ahead and execute the five nodes listed in the "Usual Modeling Steps" section. This is a workflow that reads in a file containing demographic and income information for a sample of adults working in the United States, and uses the decision tree node to predict and score income classification for the sample. Of more interest to us, the workflow also exports both the raw data and results of the decision tree model using Tableau nodes in a few different ways, which we will discuss in more detail below.

The nodes in the workflow can be easily swapped with the legacy nodes for compatibility with older versions of Tableau.
03 workflow example

Tableau Writer node

Now that our Tableau Online account is in place and KNIME Analytics Platform has been configured, use the Tableau Writer node to export a .hyper file. Double click the node assigned to write out model scoring statistics to open its settings. The only thing we need to do here is to give a path and file name for the file:

03 tableau writer

Now, we can execute the node, and a .hyper file is created. Files of this type can be imported into Tableau Desktop for further analysis, and from there, published to Tableau Server. .hyper files can also be published directly to a Tableau server by using Tableau’s command line utility tabcmd. We will discuss each of these methods below.

Publishing .hyper files

.hyper files exported from KNIME Analytics Platform can be used directly with a installation of Tableau Desktop. Double clicking on the .hyper file will open the Tableau interface where you can begin construction of visualizations on the data right away. You can also publish the .hyper file for use in the Tableau Online environment via the desktop GUI. To do this, navigate to Server → Publish Data Source, assign a Project in the resulting dialog, and click Publish. This will make the data from the .hyper file available in the Tableau Online Environment.

03 publish hyper files

Publishing .hyper files can also be done without a GUI, using Tableau’s command line utility tabcmd, which requires a separate installation, as detailed on the linked page). tabcmd allows for scripting of data management tasks in the server environment, and has a straightforward set of options and parameters. Logging into a Tableau server, for example, can be accomplished with the following command:

tabcmd login -s https://online.tableau.com -u YourUsername -p YourPassword

Publishing a .hyper file to the server can then be done as follows. Use our generated .hyper file as an example, making sure to include the full path and project name on the server:

tabcmd publish "c:\path\to\file\Scorestats.hyper" -r "Adult Income"

The figure below presents the results of using tabcmd to publish a .hyper file using these commands. The tabcmd documentation, linked above, presents a more comprehensive list of available commands and options.

03 tabcmd results

Send to Tableau Server node

Perhaps you would like to skip the creation of .hyper files altogether, and instead send your data directly to Tableau Online from a KNIME workflow. This can be done using the Send to Tableau Server node. For this example, we send the raw Adult dataset to our Tableau Online server for additional visualization.

Double click the node to bring up the configuration dialog, and enter the required information under the Tableau Server Settings tab. Use the Browse button to have the node query the Tableau server for active projects. Here, we will be sending our file to the Adult Income project, and giving it a name of AdultRaw. Carefully note the format of the URL!

03 send to tableau server

If we navigate to our project space in Tableau Online, we can now see three available data sources:

  • Scorestats Extract, published via Tableau Desktop

  • Scorestats, published via the command line using tabcmd

  • AdultRaw, published directly from a KNIME workflow

03 data sources list

Creating a Visualization in Tableau Online

Once your data has been published to Tableau, you are free to create your visualizations in the usual way. Here are a couple of examples generated from the Adult dataset.The first presents a map of average ages for adults in the data set, by country of origin. The second is a stacked bar chart that shows, in descending order, the total hours adults worked, by gender, in each country.

03 tableau visualization1
03 tableau visualization2

Legacy Extensions

To keep support for old versions of Tableau the legacy KNIME Tableau integrations are still available. This section describes how they can be installed.

Installing the Legacy Tableau Extensions

Navigate to File → Install KNIME Extensions and type "Tableau" in the search box that appears and deselect the checkbox "Group items by category". When you do, you will see something like the screen below.

04 install legacy tableau extension

If you have Tableau 10.5 or later, you can use the .hyper format, which is created using the Tableau Data Extract API 2.0. Versions 10.4 and earlier use the older TDE format, which is created using the Tableau SDK. Select the extensions to install according to what you need. If you are not sure, you can install both, and tell KNIME which format you want to use later. The two extensions labeled KNIME Tableau Integration include the KNIME nodes, while the other extensions labeled Platform Specific Packages include the back-end support files - specifically, the Extract API or SDK files.

Once you have installed the extension(s), restart KNIME Analytics Platform and you should see the legacy Tableau nodes in the node repository under KNIME Labs. You can identify the legacy nodes by the suffix "(Hyper)" or "(TDE)". You can now drag and drop the Tableau nodes into your workflow, but you will need to perform some additional one-time setup on your system PATH before they will export data properly.

Installation Setup

Selecting Hyper or TDE

Go to File → Preferences → KNIME and find the Tableau page. Here, you can select whether to use the current .hyper format or the older TDE format. Changing this setting requires a restart of KNIME Analytics Platform.

04 preferences tableau

Updating your System PATH (Windows)

You will need to add the string in the text box to your system’s PATH. If you are not sure how to do this, click on the blue Instructions link to open a page that describes the process in more detail. You can click the Copy to Clipboard button to assist in this process. Once you have updated your system’s PATH to include either the Tableau Extract API 2.0 (for Hyper) and/or the Tableau SDK (for TDE), restart KNIME Analytics Platform.

Some Windows users may also need to install the Visual C++ 2013 redistributable, but many Windows 10 installations already include it. A link to the redistributable is provided if you do need it.

Installing the native library (Mac OS)

Use the buttons "Open source folder" and "Open target folder" to open the folder with the library files and the folder with the installation target, respectively. Copy the files from the source folder to the target folder to install the Tableau library on your system.

Troubleshooting

"Hyper Server did not call back on the callback port"

The error "Hyper Server did not call back on the callback port: process = -1" can appear randomly using a correctly configured setup with the "Tableau Extract API 2.0 (Hyper)".

This issue is related to the use of the "Tableau Extract API 2.0" and can be solved by using the new KNIME extension which makes use of the "Tableau Hyper API". Install the KNIME extension "KNIME Tableau Integration" as described in the Installation section and use the nodes "Send to Tableau Server" and "Tableau Writer".

This extension will be the default Tableau integration for the upcoming KNIME release.