The journey of my first Tableau Iron Viz entry

If you haven’t read my “About Me” page, then it should be known that I’ve not quite a year of consistent Tableau usage under my belt. Therefore it should come as no surprise that I didn’t know about this thing they call “Iron Viz” until only a few months ago when I was watching some on-demand videos from TC15. It was there that I first learned of the competition. I was immediately hooked. I was already a huge fan of Iron Chef TV show (both the original Japanese version and the US reboot featuring the amazing Alton Brown). So to see that style of competition mixed with my new passion of data viz, I knew I had to participate, regardless of my lack of Tableau tenure. 

I’m a borderline power user of Tweetdeck desktop (seriously, its amazing), and as such, it comes as no surprise that I’ve had an #IronViz tweetdeck column since early January. It sat dormant for 3 months and then the announcement came and the first feeder contest was announced. And the topic was food! I love food. I love Tableau – “how hard could be? Just needed to find an awesome dataset and go to town! I’ll have this done in a week!” I thought.

Well…

 You know, it was much more difficult than I originally assumed to find a dataset that a) I was personally connected with in some way AND 2) would be easily “vizable.” 

 I searched for entire first week for a good data set, found a few and even attempted a couple of early mockups…But I just…wasn’t “feeling” it. So in a conversation with my amazing & supportive wife (shameless shoutout) at the dinner table one night last week, I was expressing my frustration with my lack of success finding a dataset. She said that she had an idea for me to do something with. 

 She mentioned that I should do something regarding the list of the best restaurants in the world. The minute she said it, I got ‘the spark.’ You fellow Tableau nerds know what I’m talking about. The feeling you get when you hear a topic and you instantly have a rush of viz ideas run through your head.

 A quick google search led me to the list of the Top 100 Restaurants in the World, sponsored by San Pellegrino. A structured table did not exist for this list so I had to turn to my favorite web scraping tool, Import.io, to create my structured table for me. 

Now the data I scraped would have been good enough for a viz, but this is for a ticket to the Iron Viz arena, and having looked at previous winners’ work, I knew that I needed something more. My web scrape provided me with the following data:

  • Restaurant Name
  • Cuisine (top 50 only)
  • Address (top 50 only)
  • City, Country
  • website (top 50 only)

 Looking at the data I had, I thought of a few additional ways I could expand on this list. First thing, I needed to fill in the blanks for the bottom 50 restaurants (cuisine, address, website). Just by me needing to fill in the blanks led to more ideas for more data:

  • With the address & restaurant name, I could easily be able to find the latitude and longitude in order to map the location of each restaurant to its precise location
  • In order to find the cuisine type, I went to TripAdvisor.com and filled in the blanks, which led me to see that each restaurant had
    • A rating
    • No. of reviews
    • No. of pictures
    • A link to the restaurant website
  • Then, for comparison, I went to likely the most popular review site, Yelp, and grabbed the same three metrics and also grabbed the review site specific website knowing that I wanted to give the user the ability to do their own research.

This took my a couple hours each day to get all the data ready. One thing that I’ve learned and a big reason why I love using Tableau is because once you get your data shaped and ready, the rest is fairly simple. I probably spent twice the amount of time mining and shaping my data as I did actually creating the viz.

Oh and in the middle of doing all that, other IronViz participants were releasing their entries. This was a humbling time because this brought me back down to earth. I admit that while I was entrenched in my project, I was thinking more and more “Yeah, this is gonna blow people away.” “They [judges] aren’t gonna know what hit them.” Seeing the incredible work of some of the other participants took me aback and reminded me that I’m competing against other folks with YEARS of Tableau experience and there would be entries that were clearly better than mine. That made me refocus made me work harder to create something just as amazing as the others.

Once I had the viz in a ‘happy place.’ I define that as a point at which I’ve tinkered long enough and its time to get some peer reviews for feedback and critiques. I sent this out to a couple folks to look over. Namely my wife, Rachel and local KCMO Tableau practitioner (and winner of Iron Viz 2013) Ryan Sleeper.

Ryan gave me some really wonderful feedback regarding some dashboard best practices. And considering his amazing accomplishments and credentials, I was all ears. His feedback was very helpful in making my project more cohesive and easier for the user to understand quickly.

My wife’s response when I asked her what she thought was “Let’s make it ‘prettier.'” She and I worked together for a couple hours looking at various fonts, color palettes, and general layout changes. After about an hour and half of tinkering we both agreed that it looked so much better than it did. 

Click here to view the interactive version

IronViz

As I stated in my last post, my Tableau knowledge is continuing to grow with each new viz. And with each new viz there are new things I learn the software can do that I never knew were possible. And for this viz, the first story point is pretty straightforward, with no new features or functions used. The challenge with this viz was more focused around design & layout more than anything else. 

But the second one, with the different ranks…Oh boy, there was a lot of learning going on here. Let’s break it down

The Tableau Guts

First thing I did was create a simple parameter to let the user select the measure they wanted to see ranked

 

 

 

 

 

 

 

 

Then I created a Case Statement to pull in the associated measure

Next I need to create the rank for each selected measure. I did a forced unique rank.

 

Lastly, I just needed to calculate the difference from the new rank to add some context.
 
Now that I had all those fields created I was ready to start building a view. I knew that I needed a way to display two things:
 
  • What would the new No. 1 restaurant be depending on the measure selected?
  • To show the difference between the original and new rank.
The calculated fields above allowed me to do all those things however, I was unable to figure out how to sort a dimension dynamically based on a calculated field which is being fed from a parameter. (That’s the first time I’ve written or said that process and that just so much more complex than I realized…) 
Anyway, that’s what I wanted but it couldn’t do it. But what I could do was create a separate view for each measure and sort descending. Then I created a new calc. field set the original parameter
I put that new field in the filter shelf. Then repeated that for each sheet. Then on the dashboard I set each sheet to float right on top of each other. So then when you select a measure from the dropdown, that sheet becomes visible, all others are blank/transparent.
 giphy (1)

So there ya have it! My first #IronViz entry.

When is the next one?

Until next time!

Download the Raw Data

Leave A Reply

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

Skip to content