
One of the main reasons I like to partake in the weekly #WorkoutWednesday challenges, is to get the chance to try out the newer features of Tableau that I can’t use at work, due to the version we’re using (we’re never in a position to react to upgrades at the same speed as Tableau releases).
This week, Lorna provided a challenge to introduce Explain Data which is a feature Tableau released as part of v2019.3, so to complete this challenge, you’ll need this version of Tableau Desktop.
The challenge itself isn’t that taxing, so I’m going to attempt not to make this blog that lengthy (which is a challenge in itself… 🙂 ).
Having not used Explain Data before, then the first thing I did was google it, and I watched & read the info Tableau had published here. There’s absolutely nothing wrong in using online resources to help you complete these challenges :-).
So with that understood, I built the basic vizzes required:
Sales by Quarter
Straightforward line graph….

This Year vs Last Year
A few calculated fields needed for this one:
Latest Year
{FIXED : MAX(YEAR([Order Date]))}
Previous Year
[Latest Year]-1
Sales This Year
IF YEAR([Order Date]) = [Latest Year] THEN [Sales] END
Sales Last Year
IF YEAR([Order Date]) = [Previous Year] THEN [Sales] END
The [Sales This Year] is then plotted against [Sub-Category] with [Sales Last Year] added to the Detail shelf and displayed as a reference line against each cell.
The [Sub-Category] field is hidden, so the row labels aren’t duplicated when displayed next to each other on the dashboard.

Sales by Order ID
This is a dot plot that has then been ‘jittered’ to spread the marks out vertically in a random manner.
Without the jitter, you’d just get…

…where all the circle marks are arranged on the same horizontal line, and subsequently, the majority all appear on top of each other.
To make the jitter effect, I make use of a hidden function in Tableau called Random() which assigns a random no between 0 and 1 to each mark on the row.
Jitter
Random()
Then adding Jitter to the rows (and disaggregating), a new axis gets added and the marks get spread vertically, giving a much better sense of the volume of marks that are around the same values.

Hide the axis to get the desired display. The vertical dotted line is a reference line set to be the average sales for each row.
For further reading on creating jitter plots using Random() or Index() please check out :
- https://www.evolytics.com/blog/tableau-201-make-customizable-jitter-plots/ by Ryan Sleeper
- https://www.thedataschool.co.uk/michael-mcfadden/tableau-tutorials-build-jitter-plot/ by Michael McFadden (former student at The Information Lab’s Data School).
So with the 3 charts built, these can be added side by side on a dashboard, and with all set to Fit Entire View, you can guarantee each row will line up. You can adjust the padding of each object to make it look like the row divider lines actually continue as a single line (I forgot to do this on my published version :-)).


Explain Data
So having read the information on Explain Data, I switched to my dot plot, selected a mark, and used the ‘lightbulb’ in the command toolbar to view the Explain Data information. I then saved each of the suggested explanation visuals as it’s own sheet, which I added side by side on another dashboard.
The text at the bottom of each worksheet, is simply the caption text that is automatically generated, and can be exposed on the dashboard by enabling the caption to show.

And that’s it for this week. A relatively straight-forward challenge, but providing some good learning opportunities. My published viz is here.
Happy vizzin!
Donna