Tableau is a great tool for analysis and reporting. Through Tableau, BlueGranite has created a report showing customer-level metrics across a wide variety of programs and participation levels. This allows us to give our clients an in-depth understanding of their customers.

This report has become so popular, our client wanted a way to render monthly PDF versions for every one of its thousands of customers. Creating those individual PDFs quickly became an arduous task. The client needed an automated way to run PDFs without having to redesign or redevelop the report.

tableau-server-powershell-print-pdf.jpg

BlueGranite implemented a flawless solution using tabcmd, a little-known utility that comes with Tableau Server. This utility allows a user or automated process to access Tableau Server and perform actions, just as a user would interactively through the web client.

In addition, we used Microsoft’s shell-scripting language, PowerShell, to build a process around the automated rendering and saving of the report.

We first created a simple Tableau report showing the list of active customers in the client’s database and their associated IDs. The PowerShell script then logs into Tableau Server using tabcmd, runs the Customer List workbook and exports the list of customers to a CSV (comma-separated values) file. Then the PowerShell script reads in the newly created customer list file and runs the regular customer report for each of the customer IDs and instructs Tableau to save it as a PDF. Tabcmd allows the script to pass values from the CSV file into the report through the use of Tableau workbook parameters.

image002.png

While this approach worked, we found that running each report one at a time was taking too long. PowerShell has the capability of running multiple threads at the same time, so we implemented this technique to call the tabcmd utility in a concurrent fashion. With some testing, we determined the right number of tabcmd instances to run concurrently. This technique reduced the processing time to be able to run the process over a weekend and have all the reports ready Monday morning.

The end result: Easy, automated, individual monthly customer reports in PDF format – exactly what our client was looking for.

If you are looking for a solution specific to your needs, let’s talk about how BlueGranite’s experienced team can help you move your business forward.   Interested in Tableau?   Click here for a free 14-day trial of Tableau Desktop.