Why Vizioneer?

My photo
Atlanta, Georgia, United States
The "Vizioneer" comes from mashing two words that have shaped my world for most of my adult life - Engineer and [data] Visualizations (or Vizes to those who know what's up). Graduating from first from Oglethorpe University in Atlanta, followed by Georgia Tech with my Bachelors and Masters in Civil Engineering, all of which taught me to think through anything and everything - problem solving, "engineering" solutions, teaching to the "ah ha" moments - is what I love to do. In 2010 that investigative, engineering mindset intersected a job change and a plunge into the world of Data Analysis. In the search for the next great thing I stumbled on to a data visualization and dashboarding product called Tableau software and things just took off. So now I guess you could call me that engineer with the sweet data visualizations - or just "The Vizioneer" :)

In 2013, I joined the incredible team at Slalom, focusing on Tableau and it's been an amazing experience. Recently in 2014, I was honored and humbled to receive Tableau's highest recognition of being named a Tableau Zen Master. Follow along to see what happens next :)

Tuesday, February 4, 2014

Who Really Won the "Big Game"?

Happy February Everybody!

I have three cool, quick things to share with y'all today and I hope you guys enjoy.

The first thing is this super awesome fun viz I did on the Super Bowl "Big Game" commercials.  It's an idea I got in my head about a month ago and I love the way it turned out.  Knowing that each year the amount being paid for a 30 second ad is some crazy number, but when the scoreboard clock hits 00:00 at the end of the game, what did that total up to - no one seems to talk about that.  And it's a lot of money, as I'm sure you can see below.  Of course the fun part of the whole thing are these awesome commercials that are supposed to be the best of the best from the world of marketing, so you can actually watch every single one of them right here in the viz (even make them full screen if you want).

Check out the viz below! 
So here's the second fun thing - how do I make something like this?  This is all about how do I get an idea from my head to become a viz on the screen, and for me, I've learned a big important middle step - The Sketch.

It takes about 10 minutes, and I always do it in pencil, but it really allows you to quickly take an idea and see it.  And when you can see, you can improve it (which is something I know you believe because you do data visualization).

So here's the sketch I did for this viz.  It's cool to see the design work out this well in reality.  If you're not currently doing a little bit of pre-viz design, you should consider giving it a shot.  I've found that it actually makes the project take less total time on average, because you already have a vision of where you're heading.




The last thing (but first in my heart :) is a personal note that Baby Davis #2 was born a week and a half ago.  Mama and Baby are doing great and we are incredibly blessed with how smoothly everything went.

I want to thank the Tableau Community who sent lovely congratulatory tweets from all across the world.  It was really cool and I was very touched.  And don't be surprised if you see a Baby Davis viz coming soon.

If you have a comment, I'd love to hear it.  Thanks for checking it out!

Nelson  



Tuesday, December 17, 2013

If Hans Rosling could dunk....

I know there are many who enjoy my excitement to see that Hans Rosling is going to be one of the keynote speakers for #TCC14.  I've told many people that his video in "The Joy of Stats" on "200 Countries 200 Years in 4 minutes" is possibly the greatest data visualization in the last 100 years.  Of course the data is great, but Hans has an amazing way of bringing it to life.  For me, he's an inspiration both as an analyst and a speaker and I can't wait to see him in person!

To celebrate I, and a few Slalom Consulting friends of mine, have created some Hans Rosling inspired dashboards.  Below you can see the work that Peter Gilks (yep, THAT Peter Gilks!) and I put together on performance of NBA Franchises over time.  The bubbles are the logos of the NBA teams and the X and Y Axis are changeable - which is so very 'GapMinder'!

Please check it out!



Monday, December 9, 2013

Using Tableau for your next PowerPoint Deck

Let’s start off by stating the obvious – Tableau v8.1 is awesome.  There’s a number of things we should all be thanking the Tableau Development team for – 64-bit, awesome presentation mode, transparency, to name just a few.  So what do you say we take some of these new things and make your life easier?

If I’ve heard the following once, I’ve heard it a dozen times, always coming from someone who’s starting to take Tableau to the next level at their organization – it goes like this: “My boss is coming to me and saying that they really like the work I’m doing in Tableau.  Problem is now I’m having to spend a few hours every week making screenshots of my vizes and send them to my boss so they can be included in the weekly PowerPoint for upper management.  I wish they’d just use the dashboards I make in Tableau so I didn’t have to waste my time with these screenshots!  There has to be a better way!”

Boy, do I have some good news for you!  What if I told you it was possible to create something that exactly matches your company’s PowerPoint template in Tableau?  Management could have a fresh deck whenever the data’s updated, and you can spend your time doing something more meaningful than screenshots.  Everybody wins. 

Who’s ready?

So we have to start with a PowerPoint template.  You’ll use your company’s.  I’ll use the one I found here.  (Disclaimer: I have nothing to do with the NBA and have no idea if this is an official PowerPoint.  All I know is that it was free.)






















So let’s open it up in PowerPoint and do a couple things to get it ready for Tableau.  Take each type of slide you’d like to use as a template in Tableau, duplicate it, and clear out the standard text in the duplicated slide.  So now my deck goes from this to that:

 

 …and so on.

Now we need to save it so that each slide is a .png (image file - .jpeg would work too).  To do that, go up to ‘File’ and hit ‘Save as’.  Find the file type that says ‘PNG’:
























And now… Congratulations!  You’re done with PowerPoint (maybe for forever – sike!)

Now, take the bubble wrap off of your brand new Tableau v8.1 (v8.0 works too - but you should really upgrade :)) and open it up.  Start a new workbook called “XCompanyTemplate” or something to that effect.  Don’t worry about connecting to data at the moment, but rather start by creating a blank dashboard.

Take that blank dashboard and start to customize it.  If you’re using 4:3 aspect ratio for your slides (which is both the PowerPoint default and the world’s standard) then change the size of your dashboard to be exactly 960(W)x720(H) – this is the standard size of a PowerPoint slide.










Now click ‘Floating’….














Next, double click on Image and select the .png file of the blank title slide you just created.




















Once the image appears on your dashboard, select it and change the size and position of the image to 0, 0, 960, 720 here:











…And your dashboard should go from this to this:
















Now we’ll add some default text (just like in PowerPoint).  Hop back over to PowerPoint and check out the default font, size and location of the title text – mine is Microsoft New Tai Lue, size 44, right in the middle of the red bar.  Here’s what it looks like in PPT:






















Hop back to Tableau and add text (floating) using the same font, size and position (using the new transparent background if need be).  This is what my Tableau dashboard now looks like:



























Not too shabby, eh?  Rename the dashboard as “TitleTemp”, and then right-click the tab and duplicate it – we’re not done yet :).

On the newly duplicated dashboard, click on the background image, right click and select ‘Pick Image’ – Select the next type of blank slide you’re going to create the template for.  Once you’ve done that you’ll have something that looks like this:


























Hop back over to PPT and check out where the slide title, subtitle, and page numbers should be, along with their correct fonts and sizes (again, just select the text itself and note the details one by one).  Then head back to Tableau and make the proper changes.  Again, here’s the slide template in PPT….




















…and here’s my recreation in Tableau:



























To add page numbers to slides in Tableau, add one more text object (with matching font, size and location of the PPT version) to your dashboard.  Rather than writing any text, instead select ‘Insert’ and chose ‘Sheet Name’.  Now, once you start to create your visualizations and create new dashboards/sheets in this deck, just name each sheet by the page number it will be in the deck and that number will automatically be added in the same location on each slide:

























Rename this dashboard “DTempText” for “Dashboard Template with only Text”.  Now right click and duplicate.  We’re almost there :).

Delete the text box with the bullets, and replace it with one large floating layout container (I prefer vertical ones, but the option is yours).  Have it cover most of the useable area of the slide.  (This part is personal preference) Right click it and select ‘Format Container’. Click border and select the third weight on the second shade of gray up from white. 
























Again, once you start doing your visualizations, just drop them into a duplicate of this template dashboard and you’ll have consistent looking slides with layout containers.
Rename this dashboard ‘DTemp1’ for ‘Dashboard Template with one viz’.  Want two side by side layout containers?  Duplicate this dashboard, cut the current layout container by just over half and add an additional one that’s the same size. 

You get the idea.  Feel free to do as you see fit.

All of a sudden you’ll be able to start doing awesome, beautiful vizes that can then be presented in Tableau’s awesome new Presenter View.  There will be no more screenshots each week – when the data updates, your slides update automatically with a click of a button.  Save to PDF and send them off to you decision makers, or publish to Tableau Server so the deck can always show the most current data.  You save time and they get better insights into current data that will allow for better decision making.  Everybody wins!

Below are a few screenshots of what you’re future work could look like, and I’ve attached the workbook for you to download and take a better look.

































And the workbook:

I hope you enjoyed this.  I look forward to your comments below.  Many thanks!

Nelson

Wednesday, October 16, 2013

Want to visit a National Park? Now you can!


By now we are painfully aware of the awful results of the current government shutdown.  One of many things we've lost during this time is the ability to enjoy visiting some of the greatest treasures around our country - our National Parks.  So if you've been feeling down about not seeing Old Faithful out at Yellowstone or Half Dome inside Yosemite - fear not!  We've got you covered! Now you can zoom around the country and check out photos from any of these great treasures, and it's just like being there! Right? Not so much?  Well, don't worry, Washington DC's working on a solution that should be here any day now....

In the meantime, check out the viz below.  Enjoy!

Monday, October 7, 2013

Tableau and Auto Save - Finally a Solution!

Update 10/13/2015:
I've been asked a couple times if this still works in Tableau 9.1.  It does!  You can always tell if the autosave is working by opening up a new workbook in Tableau and after your set period of time, Tableau will ask you if you want to save it.  As always, let me know if you run into any issues.  Many thanks!

Update 5/27/2015:
I've been asked a couple times if this still works in Tableau 9.0.  It does!  You can always tell if the autosave is working by opening up a new workbook in Tableau and after your set period of time, Tableau will ask you if you want to save it.  As always, let me know if you run into any issues.  Many thanks!

Update 1/7/2015:
So it turns out that I am not a programmer J. One of the things that I found annoying over the last year of using the Tableau Auto-Save hack is the fact that it took up a considerable amount of CPU (10%-15% of my i7 16 Gb laptop) even though the amount of RAM (less than 1 Mb) was incredibly small. Over the break I dug in to see if I could find a solution.  As it turns out running an infinite loop, which was part of the original code, and running it every millisecond (which I believe is what I coded) is a bad idea for performance.  Who would have guessed?  Looking back had I been little more thoughtful on the part of the code where Tableau is not the active window I would’ve seen that the logic would have literally been constantly checking to see when Tableau regained its status as the “active window”.  Thus I have changed the code and it works incredibly better (>0.1% CPU) so wanted to make sure that everybody could make the changes as well. So without further ado here are the new and improved codes for Tableau Desktop v8.2 and v8.1 (code for each will save the workbook every two minutes (120,000 milliseconds) and will check to see if tableau is the active window every 10 seconds (10,000 milliseconds)) :
v9.1,9.0,8.3 and 8.2
Tableau82:
IfWinActive ahk_class Qt5QWindowIcon
{
Send ^s
Sleep 120000
Goto, Tableau82
}
else
{
Sleep 10000
Goto, Tableau82
}

v8.1
Tableau81:
IfWinActive ahk_class TableauMfcMainWindow
{
Send ^s
Sleep 120000
Goto, Tableau81
}
else
{
Sleep 10000
Goto, Tableau81

}

Happy Auto-Saving!

Update 7/11/2014:
The code for Tableau Desktop v8.2 is below.  Again, if you're like me and you can't make a clean break from 8.1 to 8.2 (Tableau Server not ready to upgrade), you can run both scripts at the same time.  Maybe we'll see autosave in v9.0?  Only time will tell!

Updated 12/16/13:
I've just discover that the fix below doesn't work on Tableau v8.1!  The previous fix works for v8.0, but as it turns out that the 'ahk_class' for the window in v8.1 changed with the upgrade.  The new 'ahk_class' for v8.1 is  'TableauMfcMainWindow'. Therefore, depending on which version of Tableau Desktop you're using you'll need to either change/add an additional script.  As I'll be doing work for clients on both versions, I'll just run two scripts - one for v8.0 and one for v8.1.  For reference, they're both listed below and I'll update the blog contents to show the correct script for v8.1:

v8.2
Loop
IfWinActive ahk_class Qt5QWindowIcon
{
Send ^s
Sleep 300000

}

v8.1
Loop
IfWinActive ahk_class TableauMfcMainWindow
{
Send ^s
Sleep 300000

}

v8.0
Loop 
IfWinActive ahk_class TableauMainWindow
{
Send ^s 
Sleep 300000  
}

Updated 12/11/2013:
It was noted in the comments below and I had seen the same issue - This fix was a little too comprehensive.  It was attempting to save any document that had the word 'Tableau' in the title - including webpages, word documents, etc....  I have now fixed that issue by changing the second line of code to 'IfWinActive ahk_class TableauMainWindow'.  This should fix any issues you may have had.  Many thanks!



I have to confess – I love Tableau.  I’m pretty sure I can make anything and everything in to a dashboard, and that the world will be a better place once I do.  So if you ask me what I think of the software, 99% of the time you will get a glowing endorsement from me.  However… the other 1% of the time will likely be the result of something like what happened last Friday.

Something that rears its head every so often is the fact that Tableau doesn't have any form of auto save. None. Nothing.  So every once in a while, during extremely focused dev time, I can go hours before thinking about saving my work.  And normally it’s not a problem.  Normally I’ll just save when I’m finished.  But every so often, typically just as I’m wrapping everything up, some bug gets lose and I crash… and burn, I am left having to answer the age old question – “why do bad things happen to good dashboards?”

I lost about two hours of work on Friday and as this has happened before I decided that it would never happen again.  And my friends, I have good news. 

I have found a solution.  Check it out:

The first thing you need is a lovely piece of third party software called AutoHotKey.  AutoHotKey allows you to write macros of all types that are totally customizable.  We are going to use it to write a very simple script that will automatically save your Tableau workbook every five minutes as you work on it J.




Download and install.

Fire it up and you’ll see that it comes with a pre-canned script (typically saved in your ‘My Documents’ folder’).

Open up Notepad and paste the following text:

Loop  ;Do this forever
IfWinActive ahk_class TableauMfcMainWindow  ;If my active window is Tableau, then….
{
Send ^s ;Hit Ctrl+s (Save)
Sleep 300000  ;Do this every 300,000 milliseconds (aka - 300 seconds, bak - 5 minutes – this is totally changeable)

}
















Go to File>>Save as
Select ‘Save as type’=All Files



Save it as ‘Save Tableau 5 min.ahk’ (make sure you specify to save it as an .ahk (AutoHotKey file)).  Now, if you double click the file you will see a little icon on the toolbar tray showing that the macro is up and running.



Now, go to the file’s location and create a shortcut.



Save that shortcut into your start up folder. 
(On Windows 8 it’s at: C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)



That’s it!

Now, starting from the time your computer boots up, while you’re running Tableau, your active workbook will save every 5 min and you won’t even notice it (all least not after you’ve given it a file name).  But check your workbook repository for the time modified for the file and you’ll notice that it’s updating automatically and always within the last five minutes.

I hope you find this helpful!  If you do, please let me know in the comments below.

Many thanks –

Nelson