At the Boston Tableau User Group meeting this past month, Anthony Chamberas and I got to talking and he posed this brain teaser: he wanted a dashboard to show a bar chart showing volume for each region, and be able to pick a region and then on a separate line chart see the performance of that selected region over time compared to the remaining amounts. I kept on thinking about it on the ride back to Maine, and between the Kennebunk exit on I-95 and home I put together this proof of concept while Catherine Rush drove and kindly listened to me think out loud.
The Superstore Sales data that ships with Tableau makes life seem so easy: Numbers like Profit and Sales that go up, up, and up. But we don’t only measure things by how high they go, but also how low. Working with hospital quality data, we have small numbers like infection rates that we want to get even smaller. We have rates like the percentage of patients who receive aspirin on arrival that we want to get larger. And then there are measures like how many medication error events are reported that we of course want to get smaller, but we wouldn’t trust if that number got too small too soon because it might indicate under-reporting. Tack on situations like hospital units that may go for months or years without having any events (but are still mandated to report), data arriving at different times, and a variety of units with differing numbers of decimal places, and putting everything on one dashboard gets a wee bit complicated.
This is a process post about how I solved this problem for a hospital quality dashboard with some brilliant help, a dose of calculated fields, and a number of iterations. I presented this dashboard at the Tableau Customer Conference last month, and offer up this post as a a contribution to Tableau Design Month.
This came through my Twitter feed this morning:
— Torbjörn Ungvall (@Ungvall) August 27, 2013
And I looked at the article, and thought, “I can do that in Tableau.” About 20 minutes later, out came a pi estimator:
There’s a circle mark for every iteration, you can crank it up to 1,000,000 marks (on Tableau Desktop I can go to 2,500,000 marks, the Tableau Public Server is a little more limiting). However, the data source only uses two rows, it pads them out using the data scaffolding technique pioneered by Joe Mako where we use Tableau’s domain padding to generate the additional rows. To publish to Tableau Public I needed to use a data extract which does not currently support a random number function, so I used Joshua Milligan’s Random Number Generation post from the Tableau Calculation Reference Library.
For my entry for the Tableau Interactive Political Viz Contest, I chose to create an infographic that reframes the healthcare debate in terms of a moral question: Who are we choosing to deny health coverage to? Or, more specifically, who would you deny health coverage to?
This very brief visualization is inspired by Aaron Copland (who’s music always sounds more Olympian than other pieces to me), and a tweet earlier from Marcel P. Bosboom who wrote, “If it can’t be visualized in #Tableau there is no reason to know about it.”
Creating the visualization
The rings were drawn using a custom shape since the built-in circle shape is too thin. The positioning took a fair bit of tweaking since Tableau does not explicitly put marks at a fixed point, instead Tableau shifts things around based on the headers in the view and the start/end points of the axes. I had to have the axis headers in the view in order to adjust the start and end points and iteratively adjust for how things would look on the dashboard, without the header. Here’s the data if you want to play with it yourself!