Finding a compromise

I’m fully expecting a backlash from this post, tables in general are seen as the work of the devil in the data visualisation world. Pies used to as well, but the bad rep is slowly fading. Much to do with that is the mind set of data visualisation practitioners, we should know as much as possible in terms of charts and best practices and then adapt to the audience.

That’s why when I read Keith Helfrich’s latest post I was a bit torn. Yes I agree, why spend the money on data visualisation software only to create tables, yes I agree, Tableau is not meant to create huge walls of numbers that no-one can make sense of. – No Mr/Mrs Accountant not even you. –

Please take a moment to read Keith’s post, but then come back, I know Keith writes amazing stuff, but I’m not finished. Please come back. 🙂

Open letter to the wall of data

Thank you for coming back! back to the subject of tables and audience, I have trouble saying no to people. That’s why when faced with the task to give people some tables with numbers I thought of a way where I could get them to not use Excel and use Tableau Server instead. My objective was that hopefully on their way to the tables my users would see some of the other dashboards we built and benefit from those. If they are stuck in Excel that will never happen.

So this is what I’ve built, click for interactive version:


Let me talk you through it:

At the top you have a bunch of filters. I find that 8 to 10 are really the maximum you should be using. Performance will be a concern, but judicious use of the “pause updates” button will enable for much quicker responses.

On the right-hand side you’ll find 4 levels of parameters, these are built in the following way:


Repeat the process 3 more times. Note that you can only add to the parameter dimensions which are strings, you won’t be able to mix dimensions that are string based with integers.

Next create a calculated field that looks like this:


Repeat the process 3 more times changing the addressing parameter.

The key is flexibility so I’ve also create a parameter and a calculated field to allow my users to select a measure.


Almost there, make it neater by creating a new calculated field to give the measure labels like this. This was one of the first tricks I learned in Tableau, taught by Pooja Gandhi one of the Tableau Ambassadors.


Now let’s build the table:


Create the dashboard as you prefer, I like to keep everything very simple as you’ve seen above and add some instructions. To do this I have also create a calculated field which I float on the dashboard.


The idea being that when a new user looks at the table and all dimensions are set to “N/A” the instruction comes up, but it disappears when the user starts to interact with the table.

Finally I have also made our users aware of the option to “remember changes” in Tableau Server, that way if they have two or three tables they use often they can create those, save them under saving changes and they will always be available just as they created it.

Let me finish this by saying that I don’t think this is the best use case for Tableau, far from it, but if it means more users are using the server and potentially engaging with other dashboards we have created, the better. More importantly if this helps them get the answers they want in a quicker way and keeps them engaged then I’m happy.

We can’t win all the battles at the same time, it takes time for people to change their habits but if we find a compromise things might move a lot quicker.

As always leave any comments below or let me know what you think on twitter.

Thank you for reading


Time for cheesy video.