Recently Tableau released an exciting new feature: R integration via RServe. Tableau with R seems to bring my data science toolbox to the next level! In this tutorial, I’m going to walk you through the installation and connecting Tableau with RServe. I will also give you an example of calling an R function with a parameter from Tableau to visualize the results in Tableau.
1. Install and start R and RServe
You can download base R from r-project.org. Next, invoke R from the terminal to install and run the RServe package:
> install.packages("Rserve")
> library(Rserve)
> Rserve()
To ensure RServe is running, you can try Telnet to connect to it:
Protip: If you prefer an IDE for R, I can highly recommend you to install RStudio.
2. Connecting Tableau to RServe
Now let’s open Tableau and set up the connection:
3. Adding R code to a Calculated Field
You can invoke R scripts in Tableau’s Calculated Fields, such as k-means clustering controlled by an interactive parameter slider:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SCRIPT_INT(' | |
kmeans(data.frame(.arg1,.arg2,.arg3),' + STR([Cluster Amount]) + ')$cluster; | |
', | |
SUM([Sales]), SUM([Profit]), SUM([Quantity])) |
4. Use Calculated Field in Tableau
You can now use your R calculation as an alternate Calculated Field in your Tableau worksheet:
Feel free to download the Tableau Packaged Workbook (twbx) here.
Update 26 Jun 2016: Tableau 8.1 screenshots were updated with Tableau 10.0 (preview) screenshots due to my upcoming Advanced Analytics session at TC16, which is going to reference back to this blog post.