2012 Fight For Air Climb

On March 18th, 2012 I had the pleasure of helping to fight lung cancer by racing up 31 flights of stairs as part of the GNU Fitness team at the 2012 Fight For Air Climb in San Diego California.

Being the data geek I am, I was able to wrangle the results from the American Lung Association crew and crafted up the visuals below. Start by selecting a ‘class’ as it’s called in the bar chart, then see a line chart of how fast those top 10 individuals flew up the stairs, then lastly in the bottom see all the details for the competitors in that class.

Credit Jeff Pettiross (@pettiross) for his inspiration on ‘flow’ of information for this display below.

And if you want to do some fun comparisons between you and your friends use this visual.

Leveraging your Tableau Server to create large Data Extracts

Recently I’ve been doing a lot of work leveraging the Tableau Data Server. This is a great new feature of Tableau Server that allows BI groups to publish standard sets of data to Tableau for analysts to consume. This is a great alternative to traditional approaches which take 100x as long plus don’t allow for rapid prototyping of the data asset.

Although this feature is great it hasn’t always worked the best. The most often problem I run into is creating the extract itself when dealing with “large” data volumes of 20M+ rows. I developed a work-around to leverage the power of the server to create the extract and save your poor laptop from having to crunch all that data for you. Here goes…if you end up trying this please let me know how it works for you or if you have any alternatives. I’d like to use this to feedback to Tableau on how to improve this feature of their product.

1. Create a view in your source database that pulls a small amount of the total rows you want in your extract. In SQL Server I do this using the ‘top’ function. In MySQL you’ll need to use the Limit() function. Before moving to the next step test that querying this view works in a reasonable time frame from your local query environment (eg. SSMS, Toad, SQLYog, etc.) and there are no obvious data issues (nulles, dupes, etc.)

2. Create your extract in Tableau importing all data from the view. Make sure to create whatever hierarchies you want, rename columns so they make sense, correct any data types Tableau messed up, and whatever calculations you know of at this point. Again, before moving on, test that this works relatively well with this subset of data.

3. Publish your data extract to Tableau Server. With the extract now on the server, go and manually run a full refresh. Watch the progress in the Background Tasks Maintenance View. Once it finishes successfully test that you can connect to it and all looks good.

4. Now, go change your view to return all rows. Remove whatever condition you put in to trim down the rows returned. This should allow the extract to pull in the entire data set next time it is refreshed on the Tableau Server.

5. Go back to Tableau Server and execute another full refresh of your extract. This time, the extract should get the entire population of data and the beauty is all the horsepower of your Tableau Server will be used to create the extract instead of your poor laptop.

6. Make sure the extract finishes on the server (this may take a while) and then test again that you can connect via the Tableau Data Server. Lastly, revel in your accomplishment :)

Hope this helps! Please let me know how it works for you if you end up trying it out…

Here are the results of my most recent use of this technique. I started w/ a view only showing 10 rows then changed it behind the scenes to pull in all 35M rows. Works like a charm!

Cheers,
Ben

Keyboard Settings for Excel via VMFusion

Ever have problems using your standard keyboard shortcuts in Excel when running it on a Mac in VMFusion? Me too…

So, after some digging and testing I found some of my basic Excel navigation functions would trigger rather heinous responses by my Mac (currently running Lion). Here is what I was able to do to fix the issue with using ctrl+shift+up/down/left/right

  1. From your Mac go to System Preferences > Keyboard > Mission Control
  2. Uncheck all of the options involving the up/down/left/right arrows (see below)
  3. Fire up Excel inside VMFusion and viola! You can now use your trusted keyboard shortcuts again!

Finding your Tableau Server PostgreSQL database port

Ever have issues connecting to your Tableau Server PostgreSQL database due to a port issue? If so, you’re not alone! I too have struggled with this before and after hitting it just the second time I did some digging and fond how to determine the port of the Tableau Server PostgreSQL database. Here you go:

  1. Browse to your Tableau Server config location and open up this file:
    [install drive]:\Tableau\Tableau Server\data\tabsvc\config\connections.yml
  2. Find the line in there showing the port “pgsql.port: XXXX”

Then when connecting to Tableau Servers PostgreSQL database you simply enter that value into the ‘port’ textbox in the connection form and viola!

Hope this helps!