When you use Tableau in an embedded solution, the “Tableau method” of Desktop users publishing in a free-form method to the Tableau Server on a single site often doesn’t cover the requirements for controls and QA that a software development effort requires. While the classic “dev-test-qa-prod” is not as necessary with Tableau, any SaaS customer that is embedding Tableau will need a process for deploying Tableau to their customer’s sites from templates.
In this post, I’ll go over the deployment methodology my team recommends to customers. We’ll be looking at the two separate phases, which are often split into different teams: (1) Development (2) Deployment.
Many thanks to Tyler Dugal who helped develop much of this content for our presentation at TC16.
Tableau has two different type of Continuous Date Filters: Relative Date Filters and Date Range filters. While it’s easy enough to switch between them in Desktop, there is no way to flip a Relative Date filter into a Date Range Selector in a view published in Server (without using Web Edit). What if you’d like a default date range relative to today to be selected, but give the user the option to make their own selection?
Tableau Server has long had the capability to export into the PDF format — with the appropriate design, it will even export all of the data in a viz that can scroll. However, an end user cannot currently choose to receive their daily scheduled e-mails with a PDF export rather than a PNG, and that also means they can’t receive a “full detail” export, even if the workbook is configured correctly.
For many of the customers I’ve worked with, this functionality isn’t something they are excited about from an analytics perspective, but one that is required of them, either from a regulatory perspective or from business process. Simply put, it can be valuable to prove at a given time what numbers were used to make a decision, whether you are being audited or just trying to double check a decision.
Today I’m releasing Behold! Emailer version 1.0.0, a Windows program available on GitHub both as source and as a released binary with all necessary resources. As with all of the code I’ve released, this is NOT OFFICIALLY SUPPORTED BY TABLEAU, which means the Tableau Technical Support team will not help you one bit with it. However, I am very interested in improving and hearing feedback.
Read more to see how to use the tool, and how it works. Download the latest version here.
Let’s say you have a Dashboard in Tableau, where at least one Worksheet is a list long enough to have a vertical scrollbar. If you export to PDF in Tableau Server, you will only get an single page, with an image of the scrollable sheet at the top of its scrolling. If you want to give your users the ability to get a PDF with ALL of the data included, you’ll need to set up your workbook in a particular fashion, based on the following rule:
Worksheets that scroll will export out as multiple pages, showing all of the data. Dashboards export out as a single page always.
With this in mind, you can build your Workbooks in the following way:
- Put your Dashboard tab first
- Put any sheets that scroll in a dashboard directly after the Dashboard tab
- Hide any sheets that do not scroll in a dashboard
The user needs to choose “Sheets in Workbook” to get both the Dashboard and the Sheets with all the details, but you can choose which sheets you want in the selector at the bottom.
Prior to Tableau 10, all formatting was done on a worksheet by worksheet basis. Tableau Desktop now has a concept of “workbook formatting” which become the default for any new worksheet. Each version of Tableau is bringing more formatting options into the scope of workbook formatting (for example, line formatting is being added in 10.2), but not everything is available yet.
Make a Template Worksheet and Dashboard
For any option available in workbook formatting, you should set it there (in the Format->Workbook menu at the top). For other things, like background shading, you should create both a template worksheet and a template workbook.
For the template worksheet, I suggest creating a Calculated Field with a simple message indicating that it is a template to be copied. Drag the field onto Text and change the fill type selector at the top from “Standard” to “Entire View” to make your message show up. Use the Format->Worksheet menu to set everything you’d like.
Next make a template dashboard the same way, and drag out the Template Worksheet. In the end, it will look something like this:
Now publish it to Tableau Server. Rather than having users start their ad hoc analysis from a Data Source, have them start from the Ad Hoc Template Workbook. When they Save As to a new workbook, they can delete the templates sheet and dashboard because the new sheets will have that formatting which they can duplicate from.
Tableau has had UNION for Excel and text files for several versions now, but Tableau 10.1 delivers a huge expansion of the feature with Wildcard Pattern-Based UNION. Now, you can set up a match pattern to bring in all the files you have into the UNION automatically.
To see how it works, check out the ever excellent Tableau Online Help.
Not only is this an immensely helpful feature for saving time the first time you are doing analysis, it also can save a ton of development time and effort when you are dealing with data sources that aren’t already in a database.
Parameters allow for a lot of awesome Tableau functionality. When working with template publishing, it makes sense that you might want to do variations on the display names for a parameter, or even set the options arbitrarily for each site you will publish to. However, despite looking like part of a data source, Parameters are actually stored as their own data source within a workbook. This means we’ll need to consider how to insert and modify them in each workbook.