Building a Guided Instructions Panel

Collapsible containers are one of the most powerful features that Tableau has released in the past several years.  I literally use them in every single visualization I build, both personal and professional.  When the feature was released, I published a blog post and viz that provided twelve different use cases for collapsible containers.  A few weeks later, I saw Lindsay Betzendahl utilize them in a way I had not thought of – an annotation layer. Dangit!  How did I miss that one?  (Here is an example of one used by Lindsay in a recent viz). 

I recently published a visualization called Movie Money.  In this viz, I decided that I would utilize this technique to provide instructions on how to read each of my charts.  I built it, but wasn’t 100% happy with it.  I wanted the steps to be ordered…I wanted one to come before the other.  I decided to try to build a self-guided instructions panel.  As soon as I did, I thought about a recent blog post and viz from Tableau Zen Master, Chris Love.  In this viz and blog post, he developed an incredibly clever way to walk through the viz. 

I ultimately employed a similar technique that I will walk you through in this blog post, but with a collapsible container as a guided instructions panel.  One note before we begin, I did share this with Chris and he welcomed me writing this blog post as sort of a piggyback off his great work.  Thank you, Chris.  Okay, let’s get to it.

Before we continue, open up the viz and check it out for yourself.  Just click the How to Read icon to the left of the first chart and walk through the guided instructions panel.  You can also view the animated gif below.

My first step was to add a floating container (that would later become a collapsible container) and add a grid system within that container where my instructions would appear.  The grid system would allow me to place sheets containing instructions all over the visualization (top, bottom, left, right, center, wherever).  I floated a horizontal container over the first two charts (the unit histogram chart and bar chart in the gif above).  Within that container, I tiled four vertical containers.  I then added five blanks to each of the vertical containers as placeholders.  At this point, everything was transparent, but I wanted to see what I was working with.  To address this, I added black borders to all of the blanks.  When finished, it looked something like the following:

From here, I determined what the instructions would say.  Each “piece” would be a short phrase that would point to a specific element and explain that element.  I decided I would utilize eight instructional phrases.  I typed the phrases in a Word document.  They included expressions such as “each circle is sized by total gross” and “toggle highlighting by clicking here”. 

I decided I would build this in the same basic manner as a sheet swap except that the sheets would be in different containers, not the same one.  (If you are not familiar with sheet swapping, I suggest you read this great blog post from the data school).  In the case of setting up a sheet swap using two sheets, you’d create a parameter with two values, one value associated with each sheet.  Since I had eight sheets, I set up a parameter containing eight values, integers 1 – 8 and set it up as a slider.  Eventually I would use this parameter to filter the views – more on this later. 

I next had to create eight different sheets containing the eight different instructional phrases.  You may be asking, “why not just use text objects?”  Well, I had no way of filtering those out.  I created a new sheet and typed ‘’ on the marks card and moved it to the Text card.  This just provided me with some value to be able to access the Text.  I clicked on the Text card then clicked on the “…” to open the text editing window.  I then typed my first set of instructions as shown below.  I duplicated this sheet and created seven more sets of instructions similar to this one. 

Armed with my eight sheets of instructions, I moved back to my dashboard.  I started placing these instructional sheets into my grid system.  I placed the first one in the upper left corner next to one of the blanks and then removed that blank. I did it again with a second sheet.  The below GIF shows the general process with two of the sheets. 

I continued tiling these instructional sheets into my grid system until all were added.  I then went back into each sheet and added padding, adjusted alignment and removed those black borders until I was satisfied with the layout.  However, at this point, all of the instructions were showing on the screen at once. 

As I mentioned previously, I wanted one to come before the other; I wanted them to be read in a specific order.  To do this, I had to filter them using the values in the parameter I had previously set up. 

I went back to my first instructional sheet and created a calculated field that I called “Top Movies Instructions Filter” which was simply equal to my parameter.  I placed this on the filter shelf for the first set of instructions and checked only the value of 1.  On the second instruction sheet, I added that same filter calculation and checked only a value of 2.  On the third sheet, I checked 3, and so on.  (Note, since the calculation was equal to a parameter and parameters only allow for a single value, I had to adjust the parameter slider each time in order to check the proper number).  When I was finished, I had eight different sheets each corresponding to a single number in my parameter.  Each number only had one sheet associated with it, which meant that as I moved through the parameter slider, only one sheet would show and all others would be filtered out.

Now back on the dashboard, I added this slider parameter below the first instructional sheet in my grid system.  I removed the readout so that only the slider showed.  I then selected the entire container and checked the Add Show Hide Button option to make it a collapsible container.  I changed the hamburger menu button to a How to Read icon and the X to an X with a circle around it. 

When it was complete, I had a full, self-guided instructions panel using just a collapsible container, a few sheets, and a handful of parameters.  If you missed it before, the result looked like the following.  (Note: I actually used this technique twice in my Movie Money viz).

And there you have it!  The technique is really no more complicated than a standard sheet swap, just employed in a different way – one that requires a little time and patience.  Anyway, I hope you enjoyed this short tutorial and as always, if you ever have any questions or comments, please feel free to contact me at any time.

Kevin Flerlage, March 30, 2020

No comments:

Powered by Blogger.