Tuesday, November 29, 2011

No Taxation without Representation

I've been meaning to create a tax adjustment calculator. I started with the 2009 IRS summary data here and then created a "change the tax rate" scenario.

As I type this, I remain firmly neutral to this issue. However, it is interesting to note that even the smallest changes in tax percentage points add up to significant overall changes. Ask yourself: what can 1 billion dollars provide if handled properly by the US government? How about a 100 billion?

Download the workbook to pick away at it, change it, improve it, or scoff at it. It is by no means perfect. Just an idea that I wanted to mess around with. The last tab contains more references. Each tab has a quick comment on what's going on.

Wednesday, November 16, 2011

Snowflake Generator

The holidays are upon us here in the states. You can use the viz below to select from one of our many pre-generated snowflakes. Simply print and cut out! Ready to Decorate!

Monday, November 7, 2011

Lollipop Chart

Based upon innovative work by Andy Cotgreave here, I took a stab at a Lollipop Chart. Nice and easy... it does have a lighter load on the eyes when compared to a bar chart - I don't think they taste very good though.

Friday, November 4, 2011

Percentile Chart

I've been meaning to mess around with reference lines in greater quantities. You can go in many different directions with this concept. Specific to this trick of creating gradients, the basic rule of thumb is to work from the outer edges inward. It's mostly about saving time with the mouse clicks. I thought about doing 40 or 50 reference lines on each axis, but have I mentioned how lazy I am? I really do like this analytic concept, though. I would love to see someone create a almost-real-gradient using reference lines. The software can certainly handle it.

In the example below, I placed gradient reference lines for 95,90,86,83,81,80, and 75% (and their counterparts). You can adjust the occupation slider to update the visual.

Stem and Leaf Plot

This happy little camper is a classic! It seems somewhat obsolete due to all the flash(y) visuals out there these days. Nonetheless, I'm a fan, and yes, Tableau can create these, although it's somewhat of a chore.

Wikipedia is a good place to start on this chart type.

Friday, August 26, 2011

Colour Decour

Wrapping up the week with a light-hearted example - ever want to change the color scheme on the fly? nested CASE statements can get you there, along with some spaces... lots and lots of spaces padding your display values... kind of hacky but hey, who I am to complain ... :)

Thursday, August 25, 2011

MACD Technical Analysis with Tableau

Moving Average Convergence Divergence (MACD)

As a follow up to my previous post on Bollinger Bands, I took a stab at MACD, which derives from similar calculations.

This is a somewhat squirrely subject and I might be opening myself up to attack or a can of worms in this attempted analysis. As a preemptive strike against such attacks, let me start off by saying that as a stock trader, I fall firmly in the "fundamentals" camp, and this type of technical analysis does little for me. Second, allow me to graciously further admit that my math could very well be wrong. Finally, grant me the chance to comment on the fact that we can find on the internet dozens and dozens of permutations on the mathematics of this MACD subject.

Three web links which I found quite helpful in understanding the math behind MACD are these:

The Wikipedia Page on MACD
The Wikipedia Page on Moving Averages and Exponential Moving Averages
which are required components of MACD analysis, and lastly,
A Stock Charts Dot Com web page which has a nice discussion on the subject.

Feedback on the mathematics is welcome.

Wednesday, August 24, 2011

Bollinger Bands in Tableau

Note: I am updating this post to include the following cross-link to Andy Kriebel's vizwiz.blogspot.com blog. He came up with a superior-looking approach to the banding effect. That post is here.

Just another calc that I have been meaning to pick off the list. The essence of the Bollinger Band is this:

1. Start with a moving average - the industry standard appears to be "20 trailing periods".
2. Create a upper band from this average which is 2*STDEV(same periods) + moving average
3. Create a lower band which is moving average - 2*STDEV(same periods)

However, I have added Tableau Parameters because there are several variations on the Bollinger definition. E.G. instead of using a multiplier of "2" you can vary this, and instead of defining the moving average as "20 periods" can you can vary this. Download the book to review the calcs - it's remarkably simple, thanks to Table Calcs. Enjoy!

Friday, August 19, 2011


This is a variation based upon highly original work done by Andy Cotgreave. Thanks, Andy! You're the best!

Thursday, August 4, 2011

What's New in 6.1

A quick post for "what's new in 6.1" specific to mapping: Dark Maps, Built-in Geocoding for Cities worldwide, and cartographic labels in French and German. These are three great features that make the mapping sizzle even more than before!

For the full list of 6.1 features, see the release page

Dark Maps

Geocoding for Worldwide Cities

Cartography Labels in German and French

Friday, June 3, 2011

Fitted Curve Modeling in Tableau


Tuesday, May 31, 2011

USDA National Nutrient Database

The USDA publishes a nutrition database once a year. It's an interesting data set to explore, so I decided to create and publish several different types of view. These are all very basic. This workbook was mostly an exercise of creating a simple, guided experience for exploring the data, as opposed to making a case for or against certain types of nutrients.

The website to get started is http://www.ars.usda.gov/services/docs.htm?docid=8964.


Tuesday, April 19, 2011

Trigger Query to Google Spreadsheets

This post is based upon a nicely presented blog entry at blog.ouseful.info

In short: Google provides a thorough API for querying Google spreadsheets. This syntax can be triggered by a Tableau "URL Action". You are going to need to download this workbook and reverse engineer the google API and URL syntax, because as I have repeatedly said before, I am quite lazy sometimes...

Tuesday, April 5, 2011

FIPS Maps and Census Data

The purpose of this post is to demonstrate the ability to map census data in Tableau. I am at once both excited and disheartened about the United States census.gov website. I am excited because they do a great job of collecting the data - far better than many other countries, it seems. Disheartened because they then proceed to bury the data inside of massive amounts of excel files, with arcane naming conventions, master key lookup files, and what have you.

An ongoing project of mine will be to slowly amass this information into one unified view. This will exceed the capacity of Tableau Public, of course.

Anyway, the first step was to convert the FIPS codes as represented in shapefile format, to a valid polygon format that Tableau can understand. (This subject has been covered elsewhere in this blog as well as on the web). Notes: I provided Tableau with a copy of this polygon file, and you can download it here. FIPS code = US Counties. The Census download website is here. The income and poverty excel file is here. And the master key excel file is here.


Tuesday, March 29, 2011

Print Test

This is an example about printing. The premise here is that you devote one sheet/dashboard to filtering criteria, and a second to the printing output. In the example below, the selection sheet also has boxes to fill in various comments - these will show up on the printed version. The second tab below is a well-formatted dashboard which is set to print to letter portrait mode.

I find some of these techniques to be annoying - too much tabbing and too much "I need to know how to navigate a priori" - perhaps I am just complaining. It's not that hard I guess. Also, this viz breaks my rule about creating small vizes in 2011 (the goal was to print a letter portrait dashboard however) Anyhoo, a work in progress.

Friday, March 25, 2011

The Outer Limits

There is nothing wrong with your visualization. Do not attempt to adjust the picture. We control the horizontal. We control the vertical...

On the first viz shown below, we calculate the quadrants of the latitudes and longitudes in order to provide geographic 'slicing' filters. On the second viz shown below, we also created percentile calculations to provide additional filters based upon the individual latitudes and longitudes - essentially, this creates the effect of providing axis range sliders.

The only requirement here is that your latitudes and longitudes must A) exist as actual fields (as opposed to using Tableau's built-in geocoding) and B), must be aggregate, e.g. AVG(latitude or longitude). Thus, your level of detail will affect the construction of this example.

Hopefully I won't get in trouble for stealing the outer limits logo. I mean, geesh, it's almost fifty years old at this point.

Thursday, March 24, 2011

TfL Live London Traffic Cameras

I was poking around tfl.gov.uk and noticed that they have images rendered for approximately 180 traffic spots around London. What is nifty is that it appears that the JPG image names do not change over time. Which means I was able to grab their XML file, convert using excel, and create this dashboard. Not much else going on here, except some nice custom shapes. Lovely stuff, this. Quite...

Tuesday, March 22, 2011

Table Calcs and Parameters

I continue to be a huge fan of Tableau Table Calculations in conjunction with Tableau Parameters. In the example below, someone wanted to have a single visual with multiple possible "percent of total" calculations. But, they didn't want to have multiple measurements in play.

Because each Table Calculation can have its own "scope" or "partition" this turns out to be pretty easy to create. Enjoy!

Thursday, March 3, 2011

Changing Viz Types with Dashboard Containers and Parameters

At the heart of this example is the use of two items: 1) Dashboard container objects which auto-shrink and auto-grow as needed, and 2) a Tableau Parameter which filters out entire sheets based upon user input.

The net result is the effect of "show me" or chart selection, for a given data set. There are some inherent weaknesses to this approach, but overall it's pretty nifty.

Tuesday, February 15, 2011

Team Geiger

There's a team over at Tableau, a bunch of young viz hooligans messing up the BI program. They got tired of being asked over and over again "how many chart types can Tableau make?"

Thus did they gather around the warm fires of the viz furnace, hammered away they did on the anvils of analysis - and when they were done, Lo, Verily, they put this book together to answer that question. Team Geiger rides again in 2011.

Monday, February 14, 2011

Pies and Bars

Folks, enough with the "pie chart vs. bar chart" thrash. Who cares? They both get the job done. Maybe you like roundy, curvy things; or, maybe you like straighty, lengthy things. It doesn't matter, please just deal with it, already... thanks for reading this rant. :)

Brazil Part II

a partial list of administrative areas from Brazil. I found the shapefile for this from http://www.ibge.gov.br/. I then converted it using shp2text.exe. I then ran it through MS Access which allowed me to add a unique key for Tableau polygon paths. The list of states is partial simply to reduce the row count.

UPDATE: Some folks asked for more details on how this is achieved. I have tried to write it up a bit more. The details are below the visual. I really don't know why this is such a tedious process... but it is. Hopefully my additional notes below will help.

There are a few different ways to get a shapefile into Tableau as "polygon" data.


Joe Mako has a great video located here:



The "shp2text to ms access to tableau" method. Download all three of these files to a directory:


Download shp2text.exe from here:


from a prompt, run this command:

shp2text.exe --spreadsheet 55mu500gc.sph > output.tab

This outputs the contents to a tab delimited file called "output.tab"

Now import this file into MS ACCESS - when importing, tell MS ACCESS to add a "primary key" - you will use this new column in Tableau for the Tableau "path ID". Also, during the import, make sure that you tell MS ACCESS that "the first row contains field names".

Once the data is inside of MS ACCESS, you can now connect to it with Tableau, and follow the general instructions for polygons found here:



If you have ArcGIS, you can follow these instructions instead, as they will save you some time:



Field Names of importance, specific to the Brazilian data set:

X-Coordinate: this is the longitude, set this to "longitude" in Tableau
Y-Coordinate: this is the latitude, set this to "latitude" in Tableau
ID2: this is the MS Access generated primary key, you will want to use this on the "path" shelf in Tableau.

Saturday, February 12, 2011

Brazil Part I

Eu quero viajar para o Brasil algum dia. Agora, eu estou interessado nas diversas regiões geográficas do país. Achei as informações mostradas abaixo de vários sites e fontes de dados. Eu usei o tradutor do Google para este número, e peço desculpa se o Português é terrível.

Thursday, February 3, 2011

Sliding Scales

I whipped up this little guy on the airplane home tonight; and now I need to figure out a way to hook in *any* kind of data via some... kind... of webby trick. I'm mulling this over - yet again! stay tuned.

Tuesday, February 1, 2011

Waterfall and Funnel Charts

See the "notes" tab for background info on these viz:

Sunday, January 23, 2011

Google Directions

This is the first in a series of 'supply chain' viz that I am working on over the next several weeks. This is a happy little example showing how to trigger google directions from a Tableau viz. This assumes you have a origination and destination point - either as lat/long or street address - in your data set. In the fictitious example below, we want to map out driving directions from the Distribution Center in Detroit to any of the destination cities on the map. Nifty...

Thursday, January 20, 2011

Table Calcs and Multiple Years

This viz uses several Tableau features to create a streamlined analytic view. See the "explanation" tab for the original challenge as well as the components of the solution. Use of tooltips below is highly recommended.