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…

Tableau Prep Tackles Walmart Receipt Data
Tableau Prep Tackles Walmart Receipt Data
You can’t beat the convenience of online grocery shopping. Especially with four young children, I find it wonderful to pullRead Read more
Parameter Actions + Geospatial Functions = Tableau Awesomeness!
The very first blog post I ever wrote demonstrated how to calculate distance between locations using a parameter and tableRead Read more
Tableau Minesweeper!
It’s here! The fully playable Tableau Minesweeper Game. Designed in pure Tableau… no JavaScript, no API, no extensions, no RRead Read more
Tableau Trek
Tableau Trek: Exploring and Using New Features of Tableau and Tableau Prep at #DATA19!
When I was young I used to watch reruns of the original Star Trek. But I didn’t know they wereRead Read more
Nest Thermostat Data
Tableau Prep Tackles Nest Thermostat Data
Last year, I went home from the Teknion Christmas party with a shiny, new Nest Learning Thermostat. Sure, I wasRead Read more
Dynamic Parameters in Tableau
Dynamic Parameters in Tableau is one of the most requested features of all time. Tableau’s developers have tackled individual useRead Read more
Spatial Joins in Tableau with Excel, Text, Anything
How can you join your non-spatial data to spatial data? Using the latest spatial functions, you can achieve spatial joins Read more
Python strikes again! More Python scripts for Tableau Prep
I wrote previously about some very simple, but useful, Python scripts for Tableau Prep (and start with that post toRead Read more
Python in Tableau Prep
Python in Tableau Prep: simple useful scripts
Tableau Prep Builder 2019.3 is currently in beta and I’m loving it! (along with all the other goodies: Tableau Desktop,Read Read more
Parameter Actions in Tableau 2019.2 Sneak Peek
Tableau 2019.2 is currently in its second beta* which means it is getting closer and closer to release! And I’mRead Read more
Using Tableau Prep to track account balance history from Mint
I personally use Mint to track my personal finances (I’m not officially endorsing, but it does help me get theRead Read more
State of the Unions in Tableau Prep: MINUS, EXCEPT and INTERSECT
Recently I gave a “State of the Unions” address for Tableau’s Think Data Thursday (the recording is here) in whichRead Read more
#TC18, Data Dragons, Tableau, & Tableau Prep
I am so excited to head to NOLA for #TC18!  Tableau always puts on an amazing conference and I cannotRead Read more
Exploring DataRobot predictions using Tableau and Tableau Prep
I’ve been hearing about DataRobot for a while now (in fact, Teknion Data Solutions, where I’ve been a consultant forRead Read more
Ranking in Tableau Prep Race - First, Second, Third
Rank and Ranking in Tableau Prep
One thing I’ve submitted  an idea for Tableau Prep (and would love if you voted for it!) is the abilityRead Read more
Great Circles & Curved Flight Paths: Tableau & SQL Server Geospatial
How can you leverage SQL Server geospatial tools in Tableau to draw cool curved flight paths (or any great arcs)? Read Read more
New Periodic Files in Tableau Prep
How to handle new input files in Tableau Prep
How to handle new input files in Tableau Prep Let’s say you’ve got a situation where you get new inputRead Read more
How to remove duplicate records in Tableau Prep
One of the questions that comes up quite often is “How do I remove duplicate records in Tableau Prep?” orRead Read more
Customers and Stores with exact distance radius
Draw circles with exact distance radius on maps in Tableau
Tableau 2018.1 introduces a lot of new features, especially geospatial features that open a whole new world of data explorationRead Read more
Unpivot in Tableau Prep (Rows to Columns)
You know you have a great piece of software when you can use its paradigm to come up with workaroundsRead Read more
Cross Database Union & the other MAX/MIN functions in Tableau
Cross database joins have been available in Tableau for a while now – and I love the ability to joinRead Read more
A Sample Flow in Tableau Prep (Project Maestro)
I recently had the privilege of presenting a preview of Tableau’s Project Maestro (now known as Tableau Prep) to theRead Read more
Latest Snapshot in Tableau and Tableau Prep (Maestro)
Often, you’ll have data that looks something like this:   Every day, there are new records for projects that giveRead 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 eliminateRead 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’tRead 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 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 dashboardRead 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 aboutRead 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 willRead 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, whyRead 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 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 historicRead 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 leverageRead 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 andRead 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 andRead 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 isRead 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 IRead 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 wereRead 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 intoRead 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 allRead 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 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 couldRead 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 farRead 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 theRead 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 theRead 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 allRead 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 wantRead 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 couldRead 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 thisRead 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 newRead Read more
Landmine Diffused!
You may recall a previous post in which I warned of some landmines in using Excel with Tableau.  Well, looks likeRead 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 ofRead 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, easyRead 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 ofRead 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 yearsRead 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 bringingRead 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 theRead 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 whenRead Read more
Partial Period Panic
The Problem of Partial Periods So you built out that incredible Tableau* time series viz showing sales per week orRead 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 muchRead 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.  SheRead 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 knowRead 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 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 youRead 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 thisRead Read more
Never Ending Navigation: Buttons that Deselect Themselves
Navigation buttons can make a series of dashboards easier to use.  The most common approach has been using a viewRead 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 useRead 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 secondRead 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 andRead 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 doRead 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 DetailRead 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 asRead 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 lookRead 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, andRead 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 toRead 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, aRead Read more
Going Off Grid – The secret way to hide something on a Tableau Dashboard
Wouldn’t it be great if there was a way to hide something on a Tableau Dashboard?  Something you, the designerRead 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 forRead 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 extendRead 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 assignRead 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 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… inRead 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 analysisRead 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 yetRead 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 calculationRead 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 thingsRead 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 beforeRead 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 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 dataRead 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 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 deskRead 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 theRead 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 andRead 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 itRead 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 comeRead 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 thoughtRead 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 writeRead 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 thisRead 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 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 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 killedRead 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 forRead 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 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 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 statisticalRead 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 underRead 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 sourceRead 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 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 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 aRead Read more

10 Responses so 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!)

  5. Jeanne Jackson says:

    I ran across the photo of the men with the Unions Make Us Strong sign on Facebook. The man in the white fedora looks exactly like my father. Do you have any knowledge of when and where this photo was taken or where I could find additional information about it? Thank you.

    • Joshua Milligan says:


      That’s fascinating! The image itself came from a Google search and I remember reversing it (you can see the sign in the background says “Paint” but is a mirror image) and I replaced the text in the sign the man was holding. I don’t recall what the original text said. I’ve tried finding the original image by searching terms I might have used and also searching by image (the way it is and reversed back to the way it would have been) but cannot locate it right off. I also don’t seem to have the original image anywhere. If I do find anything or suddenly recall what I might have searched I’ll let you know!

  6. Kyle Freistedt says:

    looks like there is an error on your page
    this is appearing at the top

    Warning: include_once(/home/vizpaint/public_html/wp-content/plugins/wp-super-cache/wp-cache-phase1.php): failed to open stream: No such file or directory in /home/vizpaint/public_html/wp-content/advanced-cache.php on line 22

    Warning: include_once(): Failed opening ‘/home/vizpaint/public_html/wp-content/plugins/wp-super-cache/wp-cache-phase1.php’ for inclusion (include_path=’.:/usr/local/php71/pear’) in /home/vizpaint/public_html/wp-content/advanced-cache.php on line 22

Leave a Reply

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