Tableau Christmas Card Mail Merge
I love getting Christmas cards! But sending them can be a chore1. Fortunately, there is Tableau, a sophisticated-yet-intuitive-to-use rapid data discovery/analysis/visualization/story-telling platform which I will now use for mail merge2. That’s right, just get a list of contacts, a stack of envelopes and a printer, and fire up Tableau. Your days of laboriously hand-writing addresses are just about over3.
Step 1: Collect the data
This step is easy.4 The ultimate goal is a simple list of names and addresses like this5
Step 2: Create the view in Tableau
This step is also easy.
I’ve placed every address field on Text. Spacer is a calculated field which is hard coded to a bunch of spaces. Return Address is a calculated field that allows me to use a return address entered via parameter. There are several other key things to notice about the view:
- I removed row and column dividers (because who wants to see that printed on the envelope?). To do this, I simply selected Format à Borders from the menu and then selected None for Row and Column dividers.
- Name has been placed on the Pages shelf. Pages is one of the most under-used aspects of Tableau. It can be used to create amazing motion charts. Here, I’m using it to define a printed page. A “page” defined by the Pages shelf is not always equivalent to a single printed page. For example, a long text table may have a single “page” that spans multiple printed pages. But the “page” defined by the Pages shelf gives a page break. Here, my view is not large enough to worry that it will take more than 1 printed page to print a “page”.
- I edited the text (click on the Text shelf). You’ll notice the Spacer calculated filed which gives consistent spaces (I could have just entered them manually) and the Return Address calculated field (which I could have also entered manually):
Step 3: Setup the Page and Print
From the menu select File à Page Setup. The page setup is specific to a single view and allows you to set various options such as what elements of a view are included in the print, the layout, and print scaling. The key here is to include only the view and make sure the option for printing all pages from the Pages Shelf is set. On the Print Scaling tab, set the scaling to no more than 1 page down and 1 across and the page orientation to landscape.
You may have to fight a bit with your printer – but at least the Tableau part was easy!
- Actually, my wonderful wife does most of the work. I cannot even begin to express my gratitude!
- I recently asked on Twitter if there was anything that shouldn’t be done with Tableau. I got back some great responses. Look for a blog post soon with my answer – but in the meantime, no one specifically said, “Don’t use it for mail merge.”
- I know. It was really over in 2004 when everyone started sending e-cards.
- Do it however you like – use Alteryx, export to CSV from your CRM, do some web-scraping, type it in by hand, etc…
- The names are real, but the addresses are clearly fake. I use the real ones every year but haven’t gotten any responses. If you have any updated contact information, please let me know. But I’m really hopeful that since I’m using Tableau this year that Data will respond. Data always responds to Tableau.
Josh in response to Ref #2, I missed your tweet, but my reply is:
But you already knew that. 😉
Fun post on the mail merge. Interesting use of T.
Thanks Shawn! Someone else said Text Tables too, so you’re not alone. I’ll have some thoughts soon about what should or should not be done in Tableau. Is mail merge on the list? We’ll see… in the meantime, consider it an exercise in what could be done.
People with ideas like this are some kind of crazy……or just Tableau enthusiasts! 🙂
Just great! Thank you!
Or maybe both… Thanks for the kind words!
can you also use this technique to print a 2 column address book? as a separate worksheet in the same workbook?
Yes you could. You could use a technique similar to what I used here to define rows and columns. You would probably not use the pages shelf in this case, but would instead define the print options to be no more than 1 page across.
A creative use of Tableau!