3/29/2017 – I’ve added a video tutorial at the bottom of the post. Be sure to save a copy of your twb/twbx before you begin. This is not supported by Tableau.
I had the privilege of meeting with Ryan Sleeper last week. We were discussing Tableau (duh) and he had mentioned that when custom shapes were used in Tableau, no matter how crisp the source image was, Tableau would restrict its quality — most likely for performance. I got to thinking decided to crack open the XML (a twb is XML, open it up in any text editor and you’ll see) and see if I could make Tableau high resolution shapes.
I was able to locate where the image is stored by searching for my image’s title. After a little bit of research, I was able to see that images are stored in XML using a base64 encoding. I then found a host of online web tools that will translate any image into base64. So, pretty simply, a user can run their image through an outside base64 encoder and then replace the string Tableau generate in the XML. You’ll see the string you’re replacing is MUCH shorter than the new, high resolution image. Performance does seem to take a small hit, but as long as the workbook is a manageable size, you should be able to work with it.
This post was much more detailed and documented in the original posting. Always backup your things, folks. If you have any questions, feel free to leave a comment I can provide further explanation, examples, etc.
Tableau Standard Resolution:
Tableau High Resolution:
A few notes. This does require a full Tableau Desktop license as far as I can tell. I have been able to successfully create this in Tableau Public, but I haven’t found a way to re-package the twb into a twbx (the file type Tableau Public hosts). If anyone has any ideas here, Tableau public stores the twbx file in its temp repository.