As #MakeoverMonday draws to a close, in its current guise at least, Week 51 delivered arguably some of the best submissions yet. I work in a pretty regimental corporate environment, so it was great to see a clutch of great “corporate”-style dashboards this week. My favourites included:
As ever, I’m not going for a 100% recreation, I just want to deconstruct the original and learn enough tips to be able to translate those learnings into my future work. It’s clear from the outset that we essentially have two chart components per category; a bar / gantt combination and then what looks like a line / circle dual-axis, with a constant line. That’s good, because I can do both already!
Starting the with bar / gantt dual-axis, let’s verify precisely what Lindsey has done:
A straight forward combination of two Measures on Columns, with the leftmost being the “Actual”, and the rightmost being the “Target”. Notable things for me were:
- Why is aggregation set to AVG()?
- What are those two things on the Filters Shelf doing?
The aggregation in this instance doesn’t actually matter. We know that there is just one value per Measure, per day, so it’s just one of those things. I can set it to SUM(), MIN() or MAX() and it doesn’t matter at all, because those aggregations of the same unique Measure for the date are one and the same.
Time to look at the filters applied:
So the Month filter excludes a YTD value, which I didn’t even realise was in the dataset (!). This filter is applied to all worksheets using the data source.
The Date Filter is a straightforward boolean calc (a True / False statement). The Date Dimension is the same as the Date Parameter. This is required as this specific chart intends to show the Actual vs. Target only for the chosen date.
If I look at the Bar Marks Card, what do I find out?
Just two things. The label to populate the Actual in the left of the Bar (the Gantt Marks Card is empty – the label there can be added just by right-clicking the Gantt and selecting Mark Label > Always Show – that’s what I did, anyway).
The Colour calc is worth a quick look:
So it’s (Actual – Target) / Target to determine a variance to Target. Also noteworthy is how Lindsey has used the Advanced option to control the Start and End points of the range:
That’s essentially it for this first chart, and it was quick to just duplicate each one and amend with the “new” Measure when rebuilding the whole dashboard. Onto chart two, the line / circle dual-axis with a constant line:
The first thing I noticed was that the Date Filter from the previous chart was not included. That’s because the purpose of this chart is to show the trend over a period of time, rather than just benchmarking it at a single point in time. You can see that it is a Line / Circle dual-axis from the Marks Cards, and I could see from this that the Circle Marks Card includes another calculation:
Whilst the chart doesn’t focus on a single point in time, the point of the second axis is to enable a specific point in time to be highlighted. It refers to the same Date Parameter as before, so by using the calc above on Circles, it will only plot that date, rather than all of them. This then ties it together with the first chart.
The Marks Card for Line shows the addition of the Target onto Detail:
Doing this enables you to refer to that Measure when adding a Constant Line form the Analytics Pane to the view:
So that, and then the Colour calculation onto the Circles Marks Card, gives an overview of the two chart components. To replicate this for all Measures takes a while, but essentially involves duplicating and amending two calculations per Measure (for Colour and Variance), and then duplicating sheets and dragging the “new” Measures and calculations on top of the duplicated “old” Measures and calculations.
I could blunder through all of that quite ably, and I reckon I could have done the same (easy with hindsight!) without deconstructing things. The thing that elevates this from a good to a great viz though, is the quality of design, and design is a weak point of mine. Time to hold my breath.
First port of call is to confirm the size of the dashboard:
So it’s a pretty big fella, and then it gets scary, for me at least. Everything is Floating. Everything. Charts, titles, logos, legends, text boxes associated with legends. There are even great big transparent Floating containers with borders. Time to see if I can replicate this.
When Floating stuff, the Layout Tab is really helpful. It’s lets you specify exact placement coordinates and sizing of artefacts like text boxes, charts etc.
I found that I needed to be mindful of lots of things, such as specifying the alignment of text within text boxes:
It sounds really obvious, but if that Title wasn’t aligned top-left, it drifted down the box and overlapped the “Goal Performance” box. Details.
Speaking of which:
Old lazybones assumed that to just be a .png or .jpg or whatever the hell they’re called. Nope, it’s a Floating Horizontal Container shaded black, overlaid with two separate Floating text boxes, one for the “M” and one for the “metro”! This then taught me about the order of Floating stuff, because if the black Horizontal Container is “above” the two text box components in the Objects pane, then it obscures them completely:
I am learning a bucket load here. Adding the parameter, I realised Lindsey’s looked different? Why? Oh, there’s a Customise Parameter option. Unchecking the “Show slider” option had me back in business:
Even the sodding legend has had some fiddling, this is an epic learning journey. For the legend, it is not only the legend itself, but also two floating text boxes in front of the legend (“Goal Not Met” and “Goal Met”) plus a tiny Horizontal Container Shaded black to extend the vertical tick through the legend itself.
All things considered, this took me three whole hours to do! An hour for the charty stuff, and two hours starting to get my head round everything to do with Floating, Containers and all that jazz.
I’m knackered, elated and more impressed than ever with the work Lindsey put in to achieve her end result. This week, there has been a lot of focus on what #MakeoverMonday means for people, and this is what it is all about for me. People sharing their hard work, and others putting in some effort to try to learn from it.