We have frequently encountered situations cases where a Tableau user needs or want to make PDF or hard copy results based on a Tableau dashboard, often over multiple pages where each page has different parameter or filter settings. There is no built-in way to do this with Tableau, except that worksheets can support printing across multiple pages based on fields on the Pages shelf. You can't put a parameter on the Pages shelf, nor can you print a dashboard broken up into logical pages.

This led to the creation of our project, tsv2pdf (Tableau Server View 2 Pdf). This method automatically takes all of the snapshots of different parameter and/or filter views specified by the user and then merges them together into a single pdf. This can be very valuable when wanting to automate many parameter views into a single file for distribution.

What it does

This Python script is run through the command line and takes the users' input for filter and parameter specifications via a csv file. We decided to take the inputs in a csv file in an effort to declutter the command line when executing the function. It then takes a snapshot of each of the specified views and merges them into a single pdf to easily compare views.

How we built it

We built this script utilizing the Tableau Server Client API in conjunction with command line arguments and a Python script.

Challenges we ran into

The most challenging part was coming up with a clear and concise way to have users enter there input, especially when we know there may be 10-20 views that the user wants to include in their output.

Accomplishments that we're proud of

We are proud of our ability to come up with a unique solution for an everyday problem using Tableau Server Client.

What we learned

We learned how to use Tableau Server Client Library.

What's next for Tsv2pdf

In the future we hope to make tsv2pdf faster. Right now, when users input 15-20 line csv files, the input is not as immediate as we would like.

Built With

Share this project: