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, April 29, 2014

Day 29: Designing for Performance - Tiled vs Floating

As the 30th rolls oh so very close, I'm doing some reflection how we got here.  The reality is that I've learned a ton.  And when I think about where I learned the most over the last year, I always come back to my TCC13 experience in Washington DC.  I learned so many mind blowing things in the span of four days that have greatly impacted and improved the work I've done since then.  One of the sessions that had a dramatic impact on me was "Designing Dashboards for Performance", where the Tableau gurus hit on a number of great points on how to make a slow dashboard sing with speed.  My good buddy (from Day 27) Dan Montgomery wrote a great blog post on many key elements for creating a highly performant dashboard.  Today we'll prove out one aspect of that post, as we look at the classic question of dashboard design in Tablea - Tiled vs Floating (a battle royal) for Day 29 of #Tableau30for30 - Designing for Performance.

So let me quickly reference Dan's blog post and list off the main categories of where performance gains can be found:

  1. Using extracts over live connections - As obvious as it is, this was something I didn't realize until I'd been using Tableau for over a year.  I didn't come from a data background, so I didn't think much about the difference until I was shown the light.  Now, I almost always extract - and you should too.
  2. Add data source filters - this limits the amount of data Tableau has to sift through in order to create your visualization.  If you're going to focus on one area of the business, rendering the rest of your data set superfluous, then just exclude Tableau from bringing it in in the first place.  It will decrease the size of your data and reduce the number of dimensions on the filters shelf, which is also a good thing.
  3. Use aggregated results - I know, I know - you should let Tableau use it's fast data engine to roll up the most granular level of data so that you have the most flexibility in exploring your data.  You know what I say to that? Poppycock!  You know what's faster than the Tableau's data engine? Not using the data engine - that's what.  Here's something to keep in mind - You'll see better performance taking 10 different extracts of different rolled up aggregations of the same 10M+ row data set, than you would taking 1 extract of the granular 10M+ set of data.  It's true basically every time.
  4. Floating your worksheets - This is a great debate. I've bought into this hook, line and sinker, but I know many (Tableau Zen Master Mark Jackson for one), who don't see the need to use garlic cloves to ward off tiled dashboards, as I do.  Today we're going to camp out here and look a simple dashboard built in two different ways and see how they perform.

So the dashboards themselves are not super important, and frankly I wish I was looking at a larger data set, but we're looking at the 14,000 rows of Superstore data.  Here's where the difference comes in: The first dashboard is made by dragging sheets into a tiled dashboard; the second is made bringing each of the four sheets in as floating sheets on the dashboard. 

Basically everything else is the same.  I clicked on the carrot of each sheet and select "Use as a Filter".  I then went and found a magical little problem solving tool Tableau inserted in Version 8.0 called the Performance Recorder (Help>>Settings and Performance>>Start Performance Recording):

Next I selected and unselected one element in each sheet which then pushed that filter to the other sheets.  I went in the same order (Top left, bottom left, bottom right, top right) and select a different element each time so that I knew Tableau wouldn't cache the visualization.  I did this twice, once for each of the types of dashboards.  After completing the four selections, I went back up and through the menu, and stopped the Performance Recorder.  After doing that, Tableau immediately opens a workbook and shows you every little thing it thought about to render your visualization (it's really helpful for problem dashboards).  

In summary here are the results:
Tiled Dashboard: 1.249 sec
Floating Dashboard: 1.038 sec (17% decrease)
Not earth shattering, but certainly meaningful.  Remember, this is a small data set, and we're only looking at four sheets.  

Below are the Performance recording workbooks:

And here's the workbook that I created that has both the tiled and floating example (same as above):

So with that we come to this conclusion - floating is actually better (as we've often heard), but I wouldn't call it a silver bullet.  The best practice is to implement as many of the steps that Dan discusses as possible, and you should be creating some highly performant dashboards.  

Hope everyone enjoyed! We'll see you back here one more time tomorrow before I ride off into the sunset.