This article describes how to use the BI Connector integration with Tableau Server.
Ensure that you are running Neo4j server 3.5.x or 4.x, and have installed at least version 18.104.22.168 or 22.214.171.124 of the APOC library respectively.
Install BI Connector on Tableau Desktop
The first step is to ensure the JAR file has been installed on Tableau Desktop as the data source must be published from Desktop to Server. Install the plugin by dropping the JDBC JAR file in to the appropriate driver directory depending on the platform:
Create datasource to connect to a Neo4j instance
Using Tableau’s “Other JDBC Connection” option, you need to create a datasource connected to a Neo4j instance using the appropriate JDBC connection string. For example:
Connect to Tableau Server
Using the Tableau Desktop menu, select Server → Sign In, and you will be presented with the following dialog:
Once you choose a URL, you will be prompted to login to the Tableau server at that URL:
At this point you can verify you are actually logged in to the Tableau server:
Publish the datasource
Once connected, you must publish the datasource to the server. On the Tableau Desktop menu, select Server → Publish Data Source and fill out the form. Notably some of these fields (like “Project”) refer to remote resources on the server. The screen should look something like this:
Verify the datasource is on the server
Connect to the Tableau Server URL in a web browser, explore the appropriate project, and ensure that that datasource is available. You should see something similar to this:
Additionally you can check you can actually query for data at this point:
Things to watch out for
- When exploring the project on the server, ensure that you enter the correct authentication details as prompted for (i.e. the Neo4j server as opposed to the Tableau Server credentials). If you see the following error it’s a good indication of authentication/credential issues:
- For performance reasons ensure that the Neo4j server has adequate resources. The driver may “overfetch” data depending on the query, so adequate resources (especially memory) would make a noticeable impact.