Titanic – Great Loss of Life


The visualisation was my November submission for the #SWDChallenge – Explain Change.  When I saw the briefing for the challenge I made up my mind to look at a previous submission back in 2018.  This was a Waterfall chart showing the passenger and crew numbers boarding the titanic with then the decrease representing the tragic end to over 1,400 lives. Here is is below.

Initially I was just going to “redo” this but I quite quickly changed my mind and decided to build something completely new.

After a little research on Pinterest and Google Images I settled on a background that was effectively in two parts, the sky and the water with very subtle gradient shading of the moon (top left) and the darkening of the ocean as it got deeper.  Finally, I added a few stars with a very subtle size difference of those closest to the horizon.  This was done in Figma. Here is the background image without any additional text or visuals.

With my background complete I wanted to show the journey of how the various demographics (Age, Class/Crew, Gender) broke down before the sinking and then after. I had never used animations before and wanted to build a viz that really showed the movement. My other purpose was to show each individual as a single point. Despite occurring a long time ago, it’s still a sensitive subject and I thought this was the right way.


From the 2018 Waterfall viz, I already had the data I needed for the passengers and crew and so just needed to work out where they would be placed for each of the views.

Essentially, I had one worksheet which I used a X/Y canvas. Each dot would stay on the same worksheet and simply move position when the view changed using a parameter.

I started with my original data and then added a blank column for each column and row combination (X/Y) that I needed. Six different sets in total. They were

  • Matrix Row/Column (The overall view)
  • Matrix Fate Row/Column (The overall view split by those survived and those that didn’t)
  • Class Row/Column (Separate blocks for each of 1st, 2nd 3rd Class and Crew
  • Class Fate Row/Column (The above spilt by survived/died)
  • Age Row/Column (Distribution of numbers by age)
  • Age Fate Row/Column – (Same distribution with those not surviving the tragedy going below a line)

Getting the X/Ys

Quite possibly there are better ways of working out all of the X/Y dot placements but I went for a more manual approach.  For the initial view I made had a test worksheet in Tableau and plotted each person in a grid form across 50 columns with c2,500 that got me a nice 50×50 grid initially.   Something like below

Because I wanted to colour the Men and Women differently I sorted the view based on gender and once I was happy I selected all the points -> View Data and copied the Row / Column information into Excel and simply did a lookup to my master sheet to fill in the respective columns and rows.

For all subsequent views I followed a similar approach, made the test view that I wanted and then exported the row and column numbers to my main data sheet in excel.

The only tweaks I had to make to this were when I had broken the view down.  At this point, in Tableau, each row or column would start again at 0 so after exporting I simply had to add on the number from the previous column/row.  For example, when looking at the Class/Crew breakdown, the crew section finished at row 21 so the 3rd class section needed to start at row 23 (one blank row for spacing). Here it is visually with a before and after.


At this point I need to call out an amazing viz I recall seeing a while back from animation and general Tableau legend Alexander Varlamov (twitter).  I checked it out to make sure I was on the right lines and adapted the main X and Y move calculations.  Ultimately, this was a series of IF/ELSE IFs to check the value of the parameter and then based on that, selecting the appropriate Column and Row.

The Titanic Images

This all looked good but I didn’t really have a good start and end point.  Beginning and ending with a block of dots didn’t really have the impact I was looking for.  For the final shot, I quickly decided on using an image of Titanic underwater and then remembered a blog post I had seen from CJ Mayes hosted by Amar Singh around using an image to make a series of dots with X/Y co-ordinates.  I found an image of blueprint image of Titanic that closest resembled what I was looking for and then with a bit of editing/cleanup in Pixelmator it was ready.  Check out the amazingly detailed blog post for all the details.

I now had an X/Y for each of the people on Titanic that looked like the Titanic! All the main views were now ready.

Narrative and Annotation

I’ve come to learn that good annotations and narrative really make a good viz so I set about a way which annotations and narratives could update when each transition was made.  Initially I tried to use images as shapes but quickly realised this wasn’t going to work as the resolution isn’t good enough.

After a bit of research, I discovered an excellent post by Eric Parker.  It was exactly what I was looking for.  Now I had a concept I set about making a separate image for the main header texts and an overall annotation image for the views. I made all these in Figma.

This was the main header text for the starting page
This was the annotation layer for the Crew and Fate breakdown. It’s difficult to see because this is a white background. If you look closely you will see the text.

Then, I brought them into Tableau using Map -> Background Images ensuring the X/Y were the same as the background image size.

Finally, the key to showing just one image based on the transition is to create a calculated field from the Parameter that moves the view, use that as a detail and in the background image options select the “Only show when” option and select the transition number .  This links the specific image to the specific transition number. I did the same with the annotation images. The set up looked something like this.

Dashboard Layout

Building on top of my main Background Image, I added the main text banner sheet, again using the same dimension as the images and background images. For the main body I added the main matrix view, then the annotation layer sheet. One particularly frustrating element was when scrolling “in the wrong place” the axis for my annotations views scrolled in and out. To fix this, I brought a blank sheet on top which worked well and then finally a 0% opacity matrix view (so that the tool tips would work).

The move forward and backwards arrows were separate sheets which had an arrow image assigned to shapes. The move was controlled with a parameter action and a simple calculated field to either move the parameter on or, if it was already at the beginning/end then do nothing.

Wrap Up

I really enjoyed putting this together. Learning more about animations in Tableau was good and I would also encourage anyone interested in them to check out. If you have any comments, feedback or questions please let me know.

Thanks for reading,

#SWDChallenge – Dec 2020 Critique the (re)create

This months challenge was an interesting one and very similar to a popular visualisation community scheme, #MakeoverMonday, where an existing visual is shown with the task to review it and then build something different and hopefully better. Below was the initial chart.


Whenever giving feedback, I always try and be fair and considered in my responses and give feedback in a way that I wouldn’t mind receiving it. In this case it’s not to any one individual but it’s important to try and bear in mind that someone could well have created this at some point in time.

Starting off with what I liked

  • The headline is clear and has the currency denominator mentioned
  • The legend is well placed and also clear
  • The colours are fine and I quite like the bold line at the top of the blue area

Moving onto what I would consider changing

  • I don’t think area charts or lines in general are the best way of comparing distinct categories. In this case Sectors. More often these chart types are reserved for continuous data points, like time. I’m trying to associate Travel with Government, Travel with Consumer, Government with Tech which doesn’t need to be done
  • Because the two area overlap each other it’s impossible to see (without the labels) how far above/below the target the respective sectors might be.
  • Very rarely I think it’s necessary to label both the points and have an axis. I would choose one depending on the view.
  • The sector names being at a 45 degree angle makes it more difficult for the viewer than it should be
  • Gridlines – I would consider making the gridlines lighter or potentially removing them completely.
  • If the current view were to remain I would sort it differently, potentially by progress vs target or so at least there is a flow of some kind.


With that critique in mind, my main goal was to show each of the sectors performance vs target clearly. I also wanted to sort the view in a way that made it easier to view the performance across all the areas and finally use a little colour to easily call out those out or underperforming.

I saw an interesting tutorial from Andy Kriebel on how to create a Candlestick Bar Chart in Tableau. I thought this would be a great starting point. Check out the YouTube video below for the tutorial. Well worth watching

Using the data and applying the methods from the tutorial got me a first view that looked something like this.

This looked ok. The Sectors were clear now, the comparisons between Actual and Target were easier and the Candlestick provided a little bit of extra context and was also used to sort. The original view used Measure Names in the view to break out into 3 rows per sector, the two bars for Actual and Target and then a Dual Axis to add on the Candlestick element.

However, I wasn’t too happy with the separate bars for Actual and Target. Quite often a bullet chart or Bar-In-Bar is used to show performance vs target. So I decided to create a version that should the Actual vs Target as a Bar-In-Bar.

To begin with, I had to set up the data slightly differently. I now didn’t want to split the view by Measure Names as I wanted Actual and Target on top of each other, not next to each other. The way I achieved this was to union another copy of the data onto the original. This duplicated the data but allowed me to use one copy of the data for the Bar-In-Bar and the other for the Candlestick using the [Table Name] field.

There are a few calculated fields needed to differentiate the two different tables but once I had them I was able to create the view I wanted. Screenshot below of this first stage

Looking ok, but I now wanted to add some colour, maybe an indicator of some kind and finally some labels for some added context on both the performance and the Candlestick. I prefer labelling directly rather than an axis if it keeps the view clean which I think it does here. Here is the final view.

I’m pleased with this version. At a glance it’s easy to see who is performing better and by how much. It’s easy to see who is underperforming with the ‘dot’ (which turns to | in Tableau Public!) indicator and if a little extra detail is needed that is available too.

Finally, the view was added to a dashboard with a title and use of colour to link the headline to the view. Here is the final dashboard (click to see on Tableau Public).

I enjoyed this challenge, it’s a really useful exercise to really look at a viz and see how it might be done differently and then of course, put those thoughts into practice.

Thanks for reading,

My experience of the Tableau Desktop Certified Associate Exam

I was pretty blown away by the response I got from my recent successful Tableau Associate Certification on Twitter so I decided to share my experiences in the hope that maybe one or two of the tips will help those in the future.

Resources I used –
Weeks before the exam

Firstly, there are a couple of really good Blog posts I read more than once when preparing for the exam.

  • This blog by Sarah Bartlett has 8 really useful tips on how to approach the exam.
  • This is a great resource by Elias Nordlinder covering lots of elements to the exam, both Associate and Specialist and covers all elements of preparation and good content as well.

And there were two main learning resources I used specifically for the exam.

LearningTableau.Com – This was extremely useful as it has a number of practice quizzes, questions and for a reasonable price three full length practice exams. I found the questions similar in style to the exam but more importantly it got me into the rhythm of the style of questions that would come up.

Emin Cengay’s Tableau Desktop Certified Associate YouTube video – This is a very useful watch to help prepare for the exam conditions on the day itself but if you watch the video there is also a link to a Udemy course by Emin which goes into great detail around the main concepts that will be tested in the exam and also includes two full length exams to try. Similar to the LearningTableau exams the questions are good and it’s a great help to get exam ready.

Preparation for the Exam – Recreate the environment –
Days before the exam

If at all possible try and recreate the environment you will be experiencing in the exam, for me this meant

  • A different room.  Because I wanted to have a hardwired LAN connection rather than a wifi one I moved my iMac downstairs.
  • One screen.  This is a big one.  If you are used to multiple screens when working then getting some practice with one is going to be really important.  When taking the exam you can only use one screen and this is checked by the proctor.
  • You’ll get an email in advance from the exam board with some pre-exam instructions.  Log into your portal a few days beforehand and you’ll see a countdown until the exam.  Even logging in and ensuring you know the login details will save potential panic on exam day.
  • Try using Tableau with the mouse avoiding keyboard shortcuts as the virtual environment doesn’t accept everything.  I didn’t even try Alt+Tab just in case it threw me out of the virtual environment!

Connecting to the Proctor –
Minutes before the Exam

Beforehand, reading the various instructions it seemed like the Proctor element might be a bit troublesome.  I read that it could take up to 30 minutes to connect to the Proctor!

Luckily it was far simpler than that.  But, do be ready to enable microphones, speakers and I also had to download and install a new Zoom style video call app called GoToMeeting.  You might want to do that beforehand.

If you have a portable WebCam, use it.  Unfortunately for me I don’t and just have the camera on the front of the iMac.  This made verification of a clean and clear living space slightly challenging and involved me having to pick up the iMac (while being careful not to pull the plug out) and hovering it in various positions across the desk and living room.

Finally, the exam began. The virtual environment isn’t the best and certainly very different to my normal set up so you might find yourself spending a minute of two playing with the windows to get them into decent positions. It didn’t really make a huge difference, the practical questions aren’t so complicated that you need a whole screen to solve them.

You’ve got time, pace it out –
During the Exam

The questions are balanced between theoretical and practical and I tended to get two or three on one type before two or three on the next.  The questions didn’t get progressively more difficult so it was possible to pace and ensure that there was enough time at the end.

I tried to do this pretty simply, if I was at question 18 or later half way in then I was on track.  In the end I hit the hour mark on about question 23.  Don’t forget to build in time to go back to any flagged questions.

Don’t second guess and use Google! – Practical vs Theoretical  – During the Exam

Personally, I found the practical questions easier.  It’s much more straightforward to know if you are right or wrong.  Typically I built my view, got an answer and then checked whether it was an available option.  In most cases it was and I simply reconfirmed my filters, calculations and moved on.  On a couple of occasions the answer wasn’t there, in these cases I resolved all but one by re-reading the question and correcting something.  There was only one that I really didn’t have any idea about and had to guess.  

The key is to breakdown the question and work through the view in a logical way.  Apply the filters first, then get the right level of detail in the view (Category, Region etc) and then look at the calculations, sets, groups etc you might need.  Whilst we all want to solve the question using the most elegant approach in Tableau, ultimately, you just need to get the answer right and that’s the beauty about Tableau, there is more than one way to do something.  There were times when I’m sure the correct approach flew out of my head so I ended up doing something completely different.  That’s OK, it’s the result that’s important here.  

On the theoretical side, the good thing is that they are multiple choice, the bad thing is that some of the questions are (Select all that apply).  This led to a lot of second guessing so I would probably suggest two things 1) trust your instincts and 2) USE GOOGLE.  This is allowed so take advantage.  I found a couple of the answers were almost word for word from the Tableau Help website so definitely look for these in the returned results.  Clearly Google isn’t going to help every question and it has the potential to be a time burner so use it wisely.

Where’s my certificate?! –
After the exam

Obviously I was really happy and wanted to run upstairs, tell my wife, do the #CertifiablyTableau tweet and so opened up my dashboard expecting to see the download certificate option.


The page hadn’t changed and the exam looked like it hadn’t even started.  In fact, the “reschedule exam” button was there!  “Oh no, the Proctor had shut down the session too quickly, I’ve lost my hard earned result!”  I even emailed the exam board helpdesk to see what had happened.

They told me to wait, it can take up to 48 hours to receive the notification, certificate etc.  Luckily within about 30 minutes everything had come through and I was able to celebrate properly.  That last part may well be a reflection on my personality but the slight worry did take the edge of initially so remember, the result doesn’t come through immediately!

I hope sharing some of these experiences will help when you come to take your certification and assist in some small way to a successful result.  

Thanks for reading.

A little bit about me

I guess in a way I’ve always been interested in data visualisation. I have an image in my head of one of my first attempts. I was looking to visualise the goalscorers from the 1991-92 Football League Division 4 season for Maidstone United. The vision in my mind is of a 3D, Patterned Textured, Staked Bar Chart in grayscale. If I find it in my parents loft I’ll scan it in and maybe use it as my logo. It’s a thing of beauty!

During the course of my career I have worked a lot with data and on occasion worked with Tableau to produce outputs. I’ve always really enjoyed this aspect but my output for work were always functional and rarely explored the fantastic potential Tableau has or, in fact, any design elements which I’ve come to learn are so important.

It was only really after I attended the fantastic Storytelling with Data course in 2018 with the excellent Cole Nussbaumer Knaflic that I really began to get the bug again. One of the most useful things from that course? The list of Twitter resources on the back page. I now had a place to begin!

Excellent resources list from the Storytelling with Data course

I got back home from the course and resurrected my Twitter profile page, which had been completely dormant until that point, it now had a purpose. I began following those on the list and having a look at the great content and blog articles.

Of course, the next most important thing to do, set up a Tableau Public Profile page. The first great thing about Tableau is that Tableau Public is free! What’s there to think about!

Twitter operational? Check. Tableau downloaded? Check. What next? Well, I had to actually do something. The second great thing about Tableau is the Community not only is it truly supportive and engaging but there are so many projects and programs that you can take part in. My first visualisation on Tableau Public was for the #SWDChallenge in March 2018.

Cycle Journeys in London for the #SWDChallenge – March 2028

From then on I have been gradually building up my profile, continuing to follow people on both Twitter and Tableau Public and submitting visualisations for a number of different community projects including #MakeOverMonday, #SportsVizSunday, #IronQuest and #Ironviz. All are amazing with some seriously dedicated and inspirational people supporting them. Each have their own plus points and as a way of practising visualisation skills and design techniques are incredibly useful.

The third great thing about Tableau is the Tableau User Groups (TUGs). I wouldn’t put networking particularly high up on my list of skills so I was a little nervous when I registered for my first London TUG in September 2019. I shouldn’t have worried it was a great group of friendly people and had begun to really look forward to them before lockdown kicked in. It’s a shame that they are having to be virtual at the moment. I am definitely looking forward to the day we can get back “to normal”.

As I write this, I have now 83 vizzes on my Tableau Public Profile and 120 followers. I also have 745 followers on Twitter. I am very proud of these numbers because I know the amount of hours of dedication I have put into increasing my design and visualisation skills and in some way I believe these numbers are a reflection of that.

Where will this blog go? To be honest, I’ve got no idea. For the time being I plan to just right about the visualisations I have published, my design choices and how I may have put together some of the more technical aspects. I’m hoping that even if one or two people read it and take something that it’s been worthwhile.

In time, I’d like to expand, and include sections on other great blogs that I regularly read and of course examples of visualisations that I have personally found engaging and inspirational.

Thank you for your time and do not hesitate to reach out if any questions or comments.