Data Viz Done Right

March 10, 2020

#TableauTipTuesday - How to Use Level of Detail Expressions to Create a Daily Profit KPI

No comments
In this week's tip, I show you how to create a daily KPI view that counts the number of profitable days per month. This is a video that demonstrates my take on example 3 from the Top 15 LOD Expressions blog post on Tableau's website.

February 26, 2020

Visualizing the Geography of TV Stations

No comments
It seems to have been a while since I worked on a personal data analysis/visualization project. The one I'm going to take you through below was inspired by a piece of work I saw by Erin Davis (no contact info to link to). Check out her amazing portfolio on her website.

The piece I wanted to replicate in Tableau is based on her beautiful work Visualizing the Geography of FM Radio. Since she had already done this for radio, I thought I'd try to replicate her work, but with TV stations, that is, the strength and coverage that the broadcast signals from TV stations transmit.

First, I had to prep the data. Fortunately the raw data was easily accessible on the FCC website as are explanations of the fields and how to use them. The FCC also have information about which States fall into which FCC regions. I manually grouped the States into their regions in Tableau (it would have needed to be manually created data anyway).

From there, it was some data prep to get the signal boundaries for each state, ensure they are in the correct State (e.g., some stations that were listed in California actually plotted in other States), then export as a TDE (Hyper files don't work well with polygons).

Here's the Alteryx workflow:

For Tableau, I created a custom color palette based on the color legend on Erin's vizzes, replicated her maps as close as possible, and that's it!


February 25, 2020

#TableauTipTuesday - Deselect Marks with a Highlight Action

No comments
In this video, I show you how to deselect marks with a highlight action. I take you through two use cases:

  1. Using a set action to click on a region and sort a stacked bar chart based on that region, then use a highlight action to deselect the region selected. 
  2. Using a set action to compare quarterly sales to the sales of a selected quarter. Then use a highlight action to deselect the quarter selected.


February 11, 2020

#TableauTipTuesday - How to float an entire dashboard and a filter

No comments
Let's say I have a tiled dashboard and I need to float one object, like a filter. When you publish the workbook to Tableau Server, the filter objects can move around, thus messing up your design. To get around this, I float my entire tiled dashboard, then I layer the other floating objects in front of that. When you publish, they will then all move together, thus not altering your design.

In this week's tip, I show you just how to accomplish this.

January 28, 2020

#TableauTipTuesday - How to Create KPIs and Sparklines in a Single Worksheet

No comments
Typically I see people creating one sheet for their KPIs and another for a sparkline. In this tip, I show you how to combine them into a single worksheet. Less worksheets equals less maintenance!

January 14, 2020

#TableauTipTuesday: The Basics of Nested Level of Expressions

No comments
Nested LODs are often a very confusing topic and are usually only needed when you need to aggregate an already aggregated value to a higher level of detail.

In this video, I walk you through the step-by-step method I use for understanding Nested LODs with two examples:

  1. Average Number of Unprofitable Order Per Customer for Each Segment
  2. Average Sales per Ship Mode and Category Across Region

December 29, 2019

#MakeoverMonday: Who's More Popular? Eva or Andy?

No comments
And here we are, four years after starting Makeover Monday as a community project, it's my last week being involved. It's been a fantastic growth and learning opportunity. Thank you!

For the last week of 2019, I thought it would be fun to look back at the download stats for Makeover Monday on They've been hosting the data for us on their platform for over two years now.

I created the original viz using Google Data Studio.

What works well?

  • A clear, simple title
  • Using a filter for drilling down for a specific year
  • Labels on the inside end of the bars
  • Tooltips are very responsive

What could be improved?

  • Remove the x-axis
  • Make the font bigger for the subjects
  • Make it clear that this is only showing the top 10
  • Include an option to increase the number of bars shown

What I did

My primary goal was to poke fun at Eva. So I looked at who was more popular, she or I? I create BANs for some simple metrics and a couple simple line charts by week.

I chose to only use data from 2019 since it looked way too low for 2018. Perhaps the tracking only started at a certain point; I wasn't sure, so I decided to exclude 2018.

And that's it! I'm done! Keep participating; I guarantee you'll improve every week.

December 22, 2019

#MakeoverMonday: How much are Brits & Europeans expected to spend on Christmas?

No comments
Two weeks to go and then I'm done helping co-lead Makeover Monday. It's an interesting combination of relief, reduced stress and anxiety, mixed with sadness. Either way, it's been amazing adventure.

This week, Eva picked Christmas-themed data...a simple survey from Deloitte about expected Christmas spending and the UK and Europe.

What works well?

  • It a simple table that is easy to understand without doing much thinking.
  • My eyes were immediately drawn to the two red declining arrows, which makes it seem to be the focus on the visualization.
  • The table is neatly organized from highest to lowest spending categories.
  • Everything is clearly labeled.
  • The highlight box on the right provides a nice summary.

What could be improved?

  • Remove the shading from 2018
  • Removed the shading from the background of the Total cell
  • Align the text labels either left of right, but not center
  • Remove the borders between the rows, but keep them to separate the headers and totals from the rest of the table
  • Change the font color of the categories to black; green could give the impression that they are increasing
  • Align the arrows on the second table with the rows they correspond to
  • Why is spending less red? I would think spending less is good

Taking all of this into account, here's my Makeover Monday week 52. Enjoy!

December 17, 2019

#TableauTipTuesday: How to Use Level of Detail Expressions to Find the Bounding Rectangle of a Line

No comments
In this tip, I show you how to use level of detail expressions to find the boundaries of a line and turn it into a square by finding the ratio of each point on the line to the width and the height.

Note: A couple of the calculations were backwards in the video, so download the workbook to ensure you have them correct.

December 16, 2019

#MakeoverMonday: How much better is the Spurs defense than the rest of the NBA?

No comments
Three weeks to go in Makeover Monday 2019. This week, I chose a fun data set (NBA stats) and a really good visualization by FiveThirtyEight.

Credit: FiveThirtyEight

What works well?

  • The title and subtitle give you an immediate sense of what the chart is about and the story it will tell.
  • Coloring the bars above and below the league average different colors
  • Using bars, so that you can compare the length of them instead of a line that would show trends.
  • Really nice annotations
  • Shading the background to draw attention to a set of seasons
  • Minimal axis labels
  • Clean design

What could be improved?

  • Why does better go down? That's not very intuitive.
  • The shading might give the impression that the coach ended where the shading ends, but Popovich is still the coach.
  • It looks strange the 1980 and 2000 are offset, but 2020 isn't.

What I did

  • Instead of comparing to the league average, I decided to compare the Spurs to the team of the user's choosing.
  • Instead of using variance to the league average as the metric, I used defensive rating.
  • I liked how the original had two colors for better or worse, so I followed that theme. My color for Spurs is always black since that's their team color.
  • I included a note in the tooltip to clarify that a lower score is better.
  • I wanted the Spurs going upwards if they are better, despite the axis being negative as it goes up.

December 13, 2019

The Great Workbook of Table Calcs, LODs, and Actions

No comments
I have been keeping a "master" workbook of many of the exercises I use to teach at The Data School, particularly when we get into advanced topics like table calculations, level of detail expressions, set actions, parameter actions, parameters, etc. I started this workbook a few cohorts ago, so surely there are tons more that I have forgotten. Tooltips aren't always formatted, cards are removed, and that's not the point. The calculations are the meat of this workbook.

I've decided to share these with you, the Community, so that you can learn right along with the DSers. As of this writing, there are 61 examples in the workbook. As I add more, I'll re-publish the workbook.

You are welcome to use this in any way you please. However, please cite me as a source if you do; that's only fair. I would recommend you try to rebuild these examples before looking at the solution; you'll learn way more that way. The examples at the start of the workbook tend to be simpler, so start there and progress your way through. These aren't necessarily "perfect" solutions (there isn't a perfect solution), but they solve the puzzle we were seeking to solve.

And the name? It is inspired by the Big Book of Dashboards. I've always loved the name of that book! This workbook should be a good companion to the Tableau Visual Vocabulary I created in July 2018.

Enjoy! Now go learn!

December 3, 2019

To the Makeover Monday Community: Goodbye and Thank you!

No comments
Making over data visualizations has been my primary learning method for the past 10+ years. My first blog post was a simple makeover of a pie chart.



It was nothing fancy (I didn't even know how to take a decent screenshot) and it was the start of something that has been a huge part of my life since. Fast forward to today (3 Dec 2019) and over 40% of my blog posts have been makeovers. 

My first “official” Makeover Monday was on 28 April 2014. 292 weeks have passed and I’ve completed 344 Makeover Mondays. I'm not boasts, rather I hope this shows you how with some focused time each week, your skills can improve very quickly.

My debut was a makeover about beer prices in Major League Baseball.



Again, not great, but everyone starts somewhere. 

So why am I writing about this? Well, my time leading Makeover Monday has come to its natural end.

Leading Makeover Monday as a Community project for the last four years (2016 with Andy Cotgreave, 2017-2019 with Eva Murray) has been an incredibly rewarding experience for me. The fact that 1700 people turned up for a MM Live at TC19 simply astounds me. There have been thousands and thousands of vizzes created. Hundreds of people have used MM to get a new job. I was able to write a book with Eva; writing a book had been a goal of mine for a very long time.

I have lots of other things going on in my life that I want to give more attention to. For example,

  1. Spending time with my kids is my highest priority and even if it’s just a few more hours per week, that’s still a few more hours per week than I currently get with them. 
  2. I’m training for Challenge Roth, my first full distance triathlon. This will obviously take up A LOT of time. 
  3. I want more time to continue to create new content for The Data School. We have lots in store and I’m excited about the possibilities.

I’m going to miss you all, but I won’t be far away. I’m fairly certain I’ll participate every week. Feel free to tag me in your work.

Taking my place is the only person (other than me) that has completed EVERY Makeover Monday since 2016... Charlie Hutcheson. Give him a follow on Twitter and check out his incredible portfolio on Tableau Public (382 vizzes and counting). 

I believe this is the right time to give Charlie the exposure he deserves and let him shine. He’s a very close friend of mine and even lets me bully him into doing races with me that he clearly had no interest in doing! 

Charlie has been helping Eva with the Weekly Viz Reviews this year as often as he could. Charlie’s style, communication, and patience will continue to help Makeover Monday evolve.

I will miss you all and I’ll miss Makeover Monday. I have one lesson to leave you with,


Learning more will never let you down.

Gratefully yours,

#TableauTipTuesday: How to show axis marks only at the top of a scatter plot

No comments
This week's tip is inspired by Workout Wednesday week 46 from the Tableau Conference. This challenge requires you to display the x-axis of the scatter plot on the top and not the bottom.

In this week's tip, I show you how to show the axis of a scatter plot only on the top of the view. Tableau doesn't provide an option to move the axis to the top, so this trick shows you a simple workaround.


December 1, 2019

#MakeoverMonday: How have annual wages changed for union vs. non-union employees?

No comments
Four weeks to go with Makeover Monday 2019. We've had lots of interesting vizzes to makeover and lots of interesting data. This week, I wanted to pick a simple visualization and simple data.

What works well?

  • I like the handwriting font. It makes the viz look fun.
  • The colors are distinct enough.
  • Using shading on the title as a legend

What could be improved?

  • Some hands are holding another, some are not. What does that mean? Does two hands mean union? If so, I don't understand why they join where they do.
  • Using weekly wages is a tough concept to grasp. Why not convert it to annual wages?
  • The viz is clearly not designed for any sort of precision or comparison.

What I did

  • I really liked this Viz of the Day recently by Spencer Bauke and thought this was a good data set to try to emulate his work.
  • I wanted to use parameter actions to allow the user to change the comparison year.
  • I also wanted to use set actions like Spencer did, but this data wasn't structured in a way that made sense to try to do that.
  • This turned out to be very good practice for LOD expressions.
  • I loved using containers to lay all of this out!! It's a lot of work, but much easier to get everything to line up and all be the same size.

Here's my Makeover Monday week 49. Click on the image for the interactive version.

November 27, 2019

Five Essentials of Effective Metrics

No comments
I ran across this post I wrote on another blog where I used to write about project management. The original post is from February 2007, two months before I first downloaded Tableau.

Reading it again, the message about effective metrics still holds true today.  I've edited the post a bit to reflect data analysis projects rather than project management. At the time, I ran across a white paper that summarized the things we need to keep in mind for a metrics program. The paper didn't specify the metrics to collect, just the properties they should all have.

From my perspective, for any metric to be useful, it needs to help the stakeholder make decisions. All metrics should be actionable. If it's not actionable, then it's not useful.


Information should be made available to all stakeholders throughout the lifecycle of a product. To be effective, metrics must be properly planned, managed and acted upon. What is measured, how it’s collected and how it’s interpreted are the difference between brilliant insights and blind alleys on the path to metrics-driven decision making.

The key is to ensure metrics are meaningful, up-to-date, unobtrusive, empirical and actionable.


Metrics should focus on simple and fundamental units of measure for the given project. Understanding the key metrics across a portfolio of products can provide an important level of insight that enables organizations to understand opportunities and risks. It also provides a uniform basis for comparison across products, time, etc. Select metrics that will enable you to steer your company in a meaningful way.


It is important to look for metrics that can be captured automatically. Ensure that the metric is consistently based on up-to-date data.


The process of collecting data for your metrics program should be seamless and unobtrusive, not imposing new processes or asking stakeholders to spend time collecting or reporting on other data to get the answers to their questions.


Metrics solutions should capture updated data as soon as reasonably possible, eliminating all of the issues that compromise the integrity and accuracy of data. Additionally, the use metrics that ensures data consistency; e.g., an working hour should be normalized to be the same in Boston, Bangalore, Mumbai and Beijing.


It is critical that the metrics you gather inform specific decisions. Avoid information that is nice to know, but doesn’t help you make decisions or solve problems.

The litmus test for any metric is asking the question, “What decision or decisions does this metric inform?” Be sure you select your metrics based on a clear understanding of how actionable they are and be sure they are tied to a question you feel strongly you need to answer to effect the outcome.

It is also critically important to ensure that you are able to act on and react to metrics in a clear and meaningful way.

Finally, be sure that metrics are inclusive and that data is available to all stakeholders. Data that is widely available is empowering.

November 25, 2019

#MakeoverMonday: Where are the squirrels of Central Park?

No comments
When I saw the data set about New York's squirrels in the weekly email from Data is Plural, I knew it would be a fun data set for Makeover Monday and I had it all lined up for next week...that is until I went into our weekly planner and saw that Eva had already chosen it for this week.

Let's have a look at the original viz:

What works well?

  • A map is a good way to represent the location of the squirrels.
  • Showing the details on the map, like the ponds in the park and the roads around the park, help provide context.
  • The dots are easy to see against the background.
  • The title and description help explain the data.

What could be improved?

  • There are some red dots. What do those mean?
  • It would be interesting to see when the squirrels are spotted. Are there more in the winter? How do their habits change?

And here's my makeover. Enjoy!

November 19, 2019

#TableauTipTuesday: How to Create a Pie Chart Drilldown

No comments
This isn't something I can condone the use of, but I thought it was a fun technique for learning set actions. In this example, I show you how to create a pie chart inside of a pie chart where the inner pie chart will drill down based on the selection of the outer pie chart.

November 18, 2019

#MakeoverMonday: Tween and Teen Smartphone Ownership

No comments
This week, we're looking at the change in smartphone ownership for tweens and teens between 2015 and 2019.

SOURCE: Morning Brew

What works well?

  • Clear title
  • X-axis is clearly labeled
  • Including the data source
  • Colors are easy to distinguish
  • Vertical lines help draw the eye to compare the years within each age
  • Including labels since the y-axis is hidden

What could be improved?

  • The title could be less bold.
  • The title uses the color for 2015, but it's not related to one year only.
  • The dots are distracting since they are so large.
  • The labels are helpful, but do they need to be so big?
  • With the vertical lines connecting the dots within the year, and the line connecting the ages across the years, I'm not sure which is more important. Given the title, the focus seems like it should be on comparing years within an age.
  • The vertical lines don't need to be so broad.

What I did

  • Removed the lines to make the focus comparing the ownership within an age group
  • Surrounded the dots with a band to ensure the user reads the data within each age group
  • Colored the bands by the change to accentuate the ages that have changed the most
  • Included the labels, but made them very small as to not distract from the analysis
  • Created a mobile version for practice