VizPainter: Tableau Tips and Tricks, Storytelling, and Data Visualization


I started blogging here in May 2014 to share Tableau tips and tricks.  Things have really taken off since then!  I continue to share tips and tricks and I still focus heavily on Tableau – the tool that allows me to have a seamless conversation with data, draw insight, ask questions, and get answers that sometimes initiate action and sometimes deeper questions.

Along the way I’ll also share some broader dataviz lessons and maybe a story or two – possibly some data storytelling and even some stories of my journey in the world of data and data visualization.

Best Regards,
Joshua Milligan


Here’s what I have to share…

A Sample Flow in Project Maestro
I recently had the privilege of presenting a preview of Tableau’s Project Maestro to the Amazon Tableau User Group.  This
Read more.
Latest Snapshot in Tableau and Maestro
Often, you’ll have data that looks something like this:   Every day, there are new records for projects that give
Read more.
Hex Map Spatial File
I love hex maps! Especially for the United States, you can keep states in a basic geographic orientation, but eliminate
Read more.
Have a Maestro Christmas and Tableau New Year!
Tableau’s new data prep tool, Maestro, is now in public beta, and I’m loving it!  While the first beta doesn’t
Read more.
Hot Swapping Geographic Levels of Detail in a Tableau Viz
  I used to think you couldn’t hot-swap geographic levels of detail in a Tableau visualization.  And, before Tableau 10,
Read more.
The Need for Speed: How to build Tableau visualizations quickly
I recently competed in the Tableau Iron Viz where Tristian Guillevin, Jacob Olsufka and I raced to build a dashboard
Read more.
Tableau, you sunk my Battleship!
Ah, games and Tableau – two of my favorite things together! And it isn’t all just about fun and games, it’s about
Read more.
Don’t miss the miracle of Tableau: It’s more than just DataViz!
I was part of a conversation recently where something like this was said: “We need a data model that will
Read more.
Reshaping your data right in Tableau: Materialized Path Hierarchies
I recently came across this post by Simona Loffredo in which she describes a certain type of data structure, why
Read more.
Design technique for Tableau dashboards: semi-transparent images
Wow! I’m still stunned to have won the first IronViz feeder contest for 2017! And excited! And humbled. And honored.
Read more.
The Changing Shape of History: From the Colonies to the United States
I previously shared the fun I had with Tableau 10.2’s ability to connect to spatial files. In that case, I used historic
Read more.
Storytelling with Data Visualization
Recently, I gave a presentation on storytelling with data visualization. I described the elements of a story, how to leverage
Read more.
4 Dangers to Avoid in Data Storytelling
Stories are powerful. They connect an audience with people, facts, emotions and action. They help us understand difficult concepts and
Read more.
Navigating Hierarchies in Tableau using Self Updating Actions
The Tableau technique shown here is to use an action to update an entire dashboard, including the filter selection and
Read more.
Fun with spatial files in Tableau 10.2
Tableau 10.2 is almost here! And it’s time to celebrate! One thing I’ve always wanted to do in Tableau is
Read more.
Periodic Snapshots with Tableau Incremental Refresh
Happy New Year! Even as 2016 was winding down, I found myself with a challenge dealing with time.  And I
Read more.
#Data16 Presentation: Fun or Serious? How to use both to improve your dashboards
Tableau Conference 2016 is over and I’m still digesting everything I saw, giddy with excitement over the new features that were
Read more.
Multiple Google Analytics accounts in one Tableau data source!
So, I previously wrote about how to use data blending to get data from multiple Google Analytics data sources into
Read more.
Tableau Forum Fun: Grand totals next to columns
I really love the Tableau Community Forums.  If you haven’t ever experienced the forums, you really should!  It’s a vibrant community all
Read more.
Now Published: Learning Tableau 10, 2nd ed! (Chance to win a copy)
Have you noticed my blogging frequency has been down in the last few months? Have you missed me on Twitter?
Read more.
Learn Tableau tip that could save you hours! (something new every day)
Learn Tableau: something new every day! Years ago, one of my colleagues asked if Tableau was something that you could
Read more.
Tableau 10, Where have you been?!
Tableau 10 is on the fourth beta, which means the Tableau devs are getting really close to production release (as far
Read more.
A “little” new formatting feature in Tableau 10.0
I’ve been blogging about some of the “little” Tableau  10.0 new features that aren’t as publicized as some of the
Read more.
Another “Little” Tableau 10 Feature: Data Source Screen Enhancements
Big shiny new Tableau 10 features get all the press: Data Highlighter, Custom Territories, Cross database joins… But what about the
Read more.
“Little” Tableau 10.0 Features: Clusters as Partitions for Table Calcs
As I’ve been beta testing Tableau 10.0 and working on a new edition of Learning Tableau, I’ve been making all
Read more.
Tableau Quick Tip: Create a Gap in Tabular Reports
Ever design a table in Tableau and wish you could insert a gap between columns or rows? Maybe you want
Read more.
Bob Ross Mashup: The Joy of Viz Painting 2
I grew up watching Bob Ross and as I watched him mix colors and beat brushes, I knew that I could
Read more.
Visualizing the long road to women’s voting rights in Tableau
Finding the Data Story Who doesn’t love politics?  The latest in the round of IronViz feeders from Tableau features this
Read more.
What’s New? Webinars, Tableau 10, second edition of Learning Tableau, and more!
Summer has come in Texas!  School is out. Tableau 10 beta testing is going full steam ahead and the new
Read more.
Landmine Diffused!
You may recall a previous post in which I warned of some landmines in using Excel with Tableau.  Well, looks like
Read more.
Where Food is Scarce…
Having never previously entered into the Tableau #IronViz feeder contests, I was eager to participate this year. The category of
Read more.
Excel and Text File Landmines to Avoid in Tableau
Excel spreadsheets and flat text files can be incredible data sources for Tableau.  They are ubiquitous, easy to use, easy
Read more.
Upcoming Webinar: The Fun and Serious Sides of Data Visualization
On March 24, at noon CDT, I’ll be presenting a webinar that looks at the fun and serious sides of
Read more.
Tableau is why I see the underlying data that matters most
#TableauIsWhy I see the underlying data that matters most… The dashboard I had been using Tableau for a few years
Read more.
Unions in Tableau 9.3: Tips and Tricks
I’ve been participating the beta testing of Tableau 9.3 and I’m loving the innovation the Tableau developers have been bringing
Read more.
Tweaking Views in Tableau
In a previous post I shared how even a small tweak to a dataviz can change the perspective of the
Read more.
Perspective: How a small dataviz tweak can tell a radically different data story
Is there a single best visualization for a given set of data?  Should you always use a bar chart when
Read more.
Partial Period Panic
The Problem of Partial Periods So you built out that incredible Tableau* time series viz showing sales per week or
Read more.
Book your Star Wars Vacation with Tableau
A long time ago in a galaxy far far away   Wow! Star Wars and Tableau.  You can’t get much
Read more.
The Assignment that Made Me Fall in Love
The Assignment When I was in junior high, my math teacher, Mrs. White gave the class an amazing assignment.  She
Read more.
Some Tableau Tips & Options for Box and Whisker
  I recently tweeted that Box and Whisker plots have never been my go to DataViz type. I don’t know
Read more.
Games In Tableau – Pushing the Limits with Practical Results
You may not think of Tableau as a game engine, but I’ve used it to create interactive games (such as tic-tac-toe,
Read more.
#Data15 Here I come!
It’s time for the Tableau Conference! (a.k.a. #data15 or TC15) If you are going, I look forward to seeing you
Read more.
Tableau and Cubes (OLAP)
At some point, I got labeled as a “Tableau cube expert.”  The funny thing is, when I first acquired this
Read more.
Let Them have Their Text Tables
“I need you to reproduce this report,” your boss states as he hands you a printout. “And you can use
Read more.
Dynamically Set Default Values for Quick Filters in Tableau
Recently, I was helping someone with a Tableau dashboard in which an action from the first view filtered a second
Read more.
Star Trek: The Tableau Game
In the 1980s, my dad brought home a Tandy 1000.  I still remember him giving instructions to my mom and
Read more.
10 Things you didn’t know about Ad-Hoc Calculations in Tableau 9
Ad-hoc calculations are new in Tableau 9.0.  They’re quite useful.  And they are fun!  There’s so much you can do
Read more.
Extending LOD Calcs with Table Calcs
I’ve been following with great interest the discussion in the Tableau community surrounding various approaches to using Level of Detail
Read more.
The Journey of Writing a Tableau Book
A few years ago, a colleague of mine sent out an email asking if anyone was interested in serving as
Read more.
Life before Tableau 9 Level of Detail Calculations
Over the next few weeks, leading up to the Tableau Think Data Thursday presentation (register now!), I’ll take a look
Read more.
Star Trek – To Boldly Tableau
The wait is over!  The game is now online!   You’ve seen Choose Your Own Adventure, Tic Tac Tableau, and
Read more.
Dates in Tableau make me want to tear my hair out!
  Actually, it’s not dates in Tableau.  Tableau does wonders with dates!  What other tool allows you to connect to
Read more.
Convert Tableau to PowerPoint
Today’s Tableau Tip comes from my colleague, David Baldwin.  I am privilleged to work with him at Teknion Data Solutions, a
Read more.
Data Prep and the New Tableau 9 Data Interpreter
The Tableau 9 Data Interpreter and other new data prep options, such as pivot and split, open up new possibilities for
Read more.
Tableau Mapping Tip: Geographic Drill Down
Previously,  we saw how to capture and use Tableau’s automatically generated latitude and longitude for custom geocoding.  Now, we’ll extend
Read more.
Poor Man’s Custom Geocoding in Tableau (Part 2)
  Last time we looked at a simple way to implement custom geocoding in Tableau using the ability to assign
Read more.
One Trick to Hide Titles in Tableau
Sometimes you want to customize titles or even hide titles in Tableau.   When shown on a dashboard, titles will always appear,
Read more.
Tableau Tip Tuesday: Poor Man’s Custom Geocoding (Part 1)
  Tableau has outstanding built-in geocoding capabilities.  If you have countries, states, zip codes, congressional districts, statistical areas, etc… in
Read more.
Other Favorite New Tableau 9.0 Features
I recently blogged about my favorite Tableau 9.0 feature: LOD Calculations.  This feature really blows open the possibilities for analysis
Read more.
Tableau Tip Tuesday: Always Manually Backup Tableau Server Before Upgrading
Last night I upgraded a Tableau Server for one of our clients1.  They weren’t ready to go to 8.3 yet
Read more.
My Favorite Tableau 9.0 Feature
Tableau 9.0 has moved from alpha to beta and I’m loving it!  There are many new features to enjoy: Improved calculation
Read more.
Tableau Tip Tuesday: Don’t Use Table Calcs
No, not really!  I love table calculations! They are powerful and very useful.  They are one of the best things
Read more.
Tableau Tip Tuesday: The First Question to Ask
If you are using Tableau for data analysis, there is one question you really should answer for any data source before
Read more.
Tableau Tip Tuesday: Show What Isn’t in the Data
I recently came across this post that highlights the importance of seeing what isn’t in the data: In Tableau,
Read more.
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
Read more.
Dynamic Annotations (Part 3)
Often, there is no “right” way to accomplish something in Tableau. There are often many ways to approach a solution.
Read more.
Honored and Humbled – Becoming a Tableau Zen Master
First, I need to say I have the best co-workers.  They are colleagues and friends.  This was on my desk
Read more.
Blackjack! (Tableau deals)
Can’t wait for the Tableau conference next week year? How about playing a game of blackjack against Tableau in the
Read more.
The Story of the Second Punic War
I love history, but I find it difficult to remember all the details. That’s mostly the way it’s taught and
Read more.
Creating Tic Tac Tableau Part 2: 5 Million Records – Really?
If you missed them, see the original Tic Tac Toe Dashboard and Part 1 first. Chris Love asked if it
Read more.
Creating Tic Tac Tableau Part 1: Generating the Data
Once I had the idea of creating a dashboard to play Tic Tac Toe against Tableau, I had to come
Read more.
Prevent Global Thermonuclear War: Play Tic Tac Toe with Tableau!
Ever since Noah Salvaterra raised the possibility that Tableau could become self aware, I’ve been unable to sleep. The thought
Read more.
Choose Your Own Adventure! Pushing the limits with Tableau
I used to read Choose Your Own Adventure books when I was a child and I always wanted to write
Read more.
3 Easy Tableau Tips for Confident, Clean-Shaven Maps
Wow! Tableau Tips Month is almost over and I almost missed it! (Or maybe I was just early with this
Read more.
It’s Greek to Me (Literally): Textual Analysis in Tableau
By day, I design Tableau dashboards for clients. This means I’m often creating financial dashboards (some of these are mine),
Read more.
1 Easy Trick to get Clustered Bar Charts
What’s the difference between the two bar views below?     Both bar graphs were created relatively easily in Tableau.
Read more.
What Color of Uniform Should I Wear Today?
The term redshirt has come to mean any stock character who is introduced in an episode only to be killed
Read more.
Sheet Selection on Steroids
Sheet swapping or sheet selection is a technique used to switch out views in a dashboard. The basics approach for
Read more.
Slicing by Aggregate
Update: These options are good if you are using Tableau 8.3 or earlier.  But if you’re using 9.0 or later,
Read more.
The Joy of Viz Painting
I recently submitted a couple of 3 minute win entries (I should have blogged about it – wow I’m behind!)
Read more.
Metropolitan Statistical Areas (MSAs) in Tableau
I was asked recently to do a small research project recently into why Tableau wasn’t recognizing certain MSAs (metropolitan statistical
Read more.
Google Analytics in Tableau: Blending Data From Multiple Accounts
(This is one of the most popular blog posts here… but it was written when Cuban cigars were still under
Read more.
Random Numbers (Even with Extracts)
  Ever wish you could use random numbers in Tableau?  Of course, when you are connected to a data source
Read more.
Dynamic Annotations (Part 2)
Edit – This post describes one approach. But, it turns out, there is an easier way: Dynamic Annotations (Part 3)
Read more.
Dynamic Annotations (Part 1)
Edit – This post describes one approach. But, it turns out, there is an easier way: Dynamic Annotations (Part 3)
Read more.
Mapping Distances – An Alternate Approach
The Issue A common technique for calculating distances in Tableau is to use a custom SQL statement to join a
Read more.

6 Responsesso far.

  1. Kary Tran says:

    Hello Joshua,

    I was at the User Group where you did the demo Games in Tableau at Teknion. Towards the end, you show a dashboard of Rep sales, I believe, with links to another dashboard. I remember you mentioning that you will have that on your website, but I cannot find it. Can I download it? If so, would you be able to send me a link to that dashboard?

    Kary Tran

  2. Rangarajan says:

    This site is full of useful tips and thanking for the same. I want to learn more about the chart types that are appropriate in a storyboard. if there is any writeup here, please lead me to that.

  3. pavan says:

    Hi All,

    My question is around, how can we set/change the default shape directory.

    I am currently working on to set an org structure for a company. The scenario is that people keep joining the company and I want Tableau to pick a default image in the org structure instead of default available shapes (circle, square, plus, etc).

    You can see the snapshot of the dashboard, where I do not have the image for resource3 and Tableau picked + automatically. P.S.: the above snapshot is sanitized and I used gender icons for the image instead.

    Please help me figure out either, how to add an image as default in the default folder and location of the default folder? or how can I set a different folder as default?

  4. Maxwell E says:

    Hello Joshua,

    I have been following your posts and YouTube videos and I have learned a lot from them. I have also searched the web and not found a way to show conflicting dates in a Gantt Chart.

    For instance, I am trying to visualize a set of projects in a Gantt chart and highlight conflicting dates. Below is a link to a similar question that was asked on the Tableau website:

    If there any way to achieve this using Tableau 9?

    I would appreciate any assistance. Thanks for the good work you do.

    • benmelek_admin says:

      Great question! Let me give this some thought and I’ll get back to you (or maybe even write up a blog post!)

Leave a Reply

Your email address will not be published. Required fields are marked *

Tableau Resources

This is an ever growing list of Tableau resources such as blogs, whitepapers, technical articles, and other things I’ve found helpful. Please suggest additional resources in the comments.

Some Basic Tableau Resources

Some Advanced Tableau Resources

Tableau Under the Covers (Technical Articles, Whitepapers — a little more on the heavy technical side)

Tableau Server Resources

Design and Visualization Techniques

Data Storytelling

Leave a Reply

Your email address will not be published. Required fields are marked *


Someone once told me that every piece of business software was all about the data.  That person was right.  At any given moment you are creating data, moving data, manipulating data, or viewing data.

I started my career as a .NET developer, creating custom software solutions for various clients.  And it is always about the data.  It wasn’t long before clients wanted to see and understand their data.  I used various tools to try to help them: SSRS, Dundas, Telerik, Fusion Charts – always approaching the problem from a developer’s perspective:

  Developer Perspective


Then I was introduced to Tableau.  It’s a totally new paradigm.  It’s a game-changer.  It’s fun!

Along the way, I’ve picked up some useful tips and tricks, a few hacks, and some best practices.  My goal is to pass some of that knowledge along and also gain new insights from the Tableau community.  Let’s do some Viz Painting!


14 Responsesso far.

  1. Kent Hogeland says:

    I have been a SSRS/SSIS developer for 6 years…with strong focus in both. I’ve recently started a new position where one of my key responsibilities will be to build stories with Tableau…Pretty excited for this new venture!

  2. Mark Gandy says:

    Just saw your site via Tableau’s blog – outstanding work. Now here’s the downside (on my part).

    I’m a finance professional, so I’ll probably always be stuck in Tabluea beginner mode. Then I see sites like this and think, “I never get there.”

    Regardless, keep writing and keep producing great stuff because you have one more new fan.

    Very well done.


    • Joshua Milligan says:

      Thanks for the kind words Mark! One of the things I love about Tableau is that in “beginner mode” it is so easy and powerful. I’ve never seen another tool that allows someone with little or no experience to sit down and immediately start realizing value by asking and answering questions.

      If you want to go deeper, even outside your particular field, I’d recommend a couple of things. First, check out Tableau Public — there are hundreds of outstanding examples of what others have done and you can download the workbooks (and use the free Tableau Public application if you don’t have access to Tableau Desktop outside your work). Second, get involved on the Tableau Forums. It’s an outstanding community and a great place to learn and share.

  3. Hi Yoshua, I’m a data journalist, and I have had some experience with Tableau, but I’m far from being an expert like you. One of the aspect of Tableau that keep me off from becoming better with this software, is that you can’t make responsive dashboards. Well, you have the automatic sizing, but it’s not very reliable. And if you use automatic sizing you will also lose the Float elements that in my opinion make the vizualisations look a lot better.

    So, I wanted to ask you, if in your line of work, this hasn’t been an issue with your customers? or how do you justify to them that responsive design is not the end of the world?

    Anyway, thanks for your great work on this blog. I’ll be coming back soon.

    • Joshua Milligan says:

      Great to hear from you Camilo!
      I would tend to think of responsive as more than just resizing to fit a screen resolution. I tend to design fixed sized dashboards for the reasons you pointed out (consistency and floating object issues) and I tend to find that a fixed size serves well in most circumstances. Dashboards can be made to be very responsive in terms of interactivity and actions.

      But I do think it would be great if Tableau would support multiple dashboard versions for various devices / screen resolutions. In fact, I suggested it to Tableau with this idea:

  4. Victoria says:

    Hi Joshua,

    You’re blog is awesome! It’s given me an entirely different perspective on Tableau — from just a cool data tool, to a real paradigm shift.

    Have you considered creating an online course? I would love to talk to you about potentially teaching on Udemy, and reaching 6 million students. We don’t have any courses on Tableau 9.0 yet.


  5. Sagar Kapoor says:

    Sorry for late reply.
    Thanks a lot for the awesome experience to review the Tableau learning book .I have gained a lot from reviewing the book.
    Looking forward for more engagements with you in future.


  6. JJ says:

    Following were the comment and a sample workbook posted.

    “How about a single axis, with what looks like three mark types, making use of the Path and Detail shelves and the Line mark type:

    I would very much like to learn the techniques, and I am a relatively new at Tableau.

    Would it be possible to show me step by step?


    • Joshua Milligan says:


      The sample workbook you shared is Joe Mako’s (the “original” Zen Master!) I had to download it and tear it apart to understand what he was doing. Basically he is demonstrating that with a knowledge of how Tableau works (the Path shelf, the shape of data, the number of marks, etc…) you can accomplish most anything you want to in Tableau. In this case, he changed the visualization type between a line chart, bar graph, and dots all within a single view. Typically, I would have approached this with a sheet swapping technique to swap out different views based on the parameter selection. For me, a sheet swapping approach is more approachable as a solution (and doesn’t require a custom SQL to get extra marks for the bar chart) but Joe’s demonstration is elegant and outstanding because it gives an opportunity to see how Tableau really works and how you can work with it.

  7. J Bailey says:

    I upgraded this week from Tableau 9.2.1 to 9.3. Any worksheet where I was using Parameters and Column / Row grand totals were completely messed up. When I turned off Column / Row grand totals the problem went away. The problem is, I need the column / row grand totals. Has anyone else experienced this problem

  8. John Weinshel says:

    In the last example in Learning Tableau’s section on data densification, ‘Generators, Operating on a Given Date’, you have added a First()==0 filter. I can’t figure out how. There is no field named that, or that uses any calculation like that. I cannot find a way to just add a filter. Really stuck, and would appreciate help.

    • Joshua Milligan says:


      I believe that is an ad-hoc calculation. So, I likely created it by double clicking in the blank area on the Marks card and then just typed FIRST() == 0. Then I moved it to the filters. You can create ad-hoc calculations on Marks, Rows, or Columns and then move them around like you would any other field. Hope that helps!

Leave a Reply

Your email address will not be published. Required fields are marked *