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 :)

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