Sheet Swapping and Popping with Joe Oppelt (and a Tip on Searching the Tableau Forums)

Here is a quick and easy Saturday morning post!

Tableau Forums user Joe Oppelt and I wanted to put a video out that shows how to build a Tableau Dashboard with Worksheets that show or hide based on a Parameter selection, AND each worksheet has an object that pops in and out of the dashboard display, based on the user’s selection in a Parameterized list of values.

The first part of this is very much like the “sheet swapping” technique shown in one of  Tableau’s own KB articles:

Another great resource for learning more is Joshua Milligan‘s “Sheet Selection on Steroids” post, in which he comprehensively covers Tableau scenarios that can be used to initiate a Sheet Swap on a Dashboard, including Quick Filters, Action Filters, and even Swapping based on the number of items selected!  His blog posts are very thorough and easy to follow, which is why I refer to them often!

Quick Side Note: Joshua did a great Think Data Thursday presentation, which uses some sheet swapping techniques, on 10/2/2014; you can watch his TDT Video here, or in the TDT Video Library.

These tricks can be expanded in many ways — my goal in posting this is to show you a couple of methods Joe uses in his own work for accomplishing this swapping and popping of objects on a dashboard.  This does not cover all use cases, and your own mileage may vary based on what you hope to accomplish.  The video quality is decent, but the cursor does not match all of Joe Oppelt’s mouse clicks during his demo (that may have been my fault, as this was the first recording I was hosting myself)–I hope the main concepts shown are clear to those who watch the video — your feedback is most certainly welcome!

If you want to see many other tricks along these same lines, I would recommend reading through Tableau Forum user Ville Tyrväinen‘s posts… his Activity stream has many threads in which he has posted workarounds/tricks related to Sheet Swapping and Popping.   I believe Joe has been very inspired by Ville’s posts on the Forums, and I cannot credit him enough for teaching others on the Tableau Forums some new tricks!

For me, the most important pieces here are: realizing the impact of the filter used on each sheet, and the impact of sheets being placed inside of a layout container together.   There are several other tricks I picked up from Joe through making this video, though:  one was that Floating Objects on a dashboard can be placed outside the boundaries of that dashboard by inputting values directly in the “Layout” pane.  Tableau will not allow us to drag them off the dashboard, but as Joe shows in the video, we can type in whatever values we want to position a Floating Object any place we like!

If you have questions or comments, please feel free to post them in the Comments section, or at the Tableau Forums post where Joe shared the video publicly:

I hope this can serve as a reference point for users trying to learn similar tricks in Tableau.  I also hope users will see how incredibly easy this video was to make for Joe and I.  All it took was some willingness to reach out (I asked Joe if he’d do this video with me), and about an hour of our time on a Saturday.  I would encourage other Tableau users to reach out to others, and do screen sharing sessions, or record your own videos to share with others!


Did you know that the Tableau Community Forums has two search options?  The one in the top-right corner of every page is for searching the entire website:

Searches Entire Tableau Site

While the search found on the Tableau  Community Welcome Page under “What are you looking For?’ will only search Forum posts:

Type Forum Questions Here

I hope this helps clear up some confusion!

Until next time.


Tableau Request Live – The 2nd Episode: Data Densification


For this week’s Tableau Request Live episode (a Saturday exploration of Tableau with Joe Mako and yours truly, recorded live), we dig deeper into the complexities of Data Densification in Tableau.  The 1st Episode of TRL focused on a specific Tableau problem of solving a User Retention Rate with a Single Date and ID field, and we briefly touched on some of the concepts that are explored in more depth in the 2nd Episode.

No, “Densification” is not a term you’ll find in the available Tableau KB articles or other official documentation available from Tableau Software.  Data Densification is an umbrella term power users have used to describe scenarios when marks (data) are added to your view.  There are two main types: Domain Completion and Domain Padding.  Both types of Densification behaviors are explored in the video, and yes, there are cases when both occur at the same time.

In brief, Domain Completion occurs when marks (data) are added for potential Dimension value combinations in a view/worksheet.  Domain Padding is what happens when marks (data) are added for potential values in the range of a Range Aware pill, which includes both Date Dimensions and Bins in Tableau.  This is typically “turned on” by using the “Show Missing Values” option on a Range Aware pill, which makes it a bit easier to define and understand, from my perspective.

I could try to write my own synopsis of the video itself, but the recording and the resources linked within the video description are meant to serve as an ongoing reference point — what is shown in the video and written in the description and links is based on the in-depth study and current working knowledge of many Tableau users, including (but not limited to) Joe Mako, Jonathan Drummey, Richard Leeke, and Jim Wahl (there are many others who have contributed to this ongoing understanding, including Tableau employees, developers, and many other Tableau users in the Community).

Again, the documentation and content of the video itself are simply based on the current working knowledge of Tableau users in the larger online community, and the current version of Tableau software (8.2 as of the day the video was recorded and this blog post was written).  We hope the video becomes obsolete very quickly, and that we will have more direct control over Data Densification in future versions of Tableau.

With that being said, let this video serve as one reference point for Data Densification behaviors in Tableau. In the live recording, Joe and I walk through the two main types of Data Densification (Domain Completion and Domain Padding), conditions to turn it on, how to turn it off, and exceptions. Some of the scenarios shown in the video are edge cases, but if you have ever wondered why Tableau is making more marks then there are records, Data Densification is the reason.

The awareness that Densification may or may not be occurring is what we hope users will gain from resources like this.

Joe and I hope you can gain an awareness of what is happening when your number of marks suddenly changes on your Tableau canvas!  Sometimes Data Densification behaviors are helpful and they may allow us to build views that we otherwise could not — we would simply like to have more direct control over whether it is ON or OFF in a given view.

I, personally, hope other users see the videos we are making, and start making their own!  I’ll say this, as well: Joe Mako spends hours, every day, helping Tableau users (and I consider him to be the “Teacher” in our relationship) — reach out to Joe, or someone else, and teach/learn collaboratively!  These videos are recorded using a free online application, and it is VERY easy to record a video like this one.

Below are some further resources on the topics explored and discussed in the video:

Document used in video:
‘Tableau Data Densification’


Jonathan Drummey’s post mentioned in the Video:
‘At the Level – Unlocking the Mystery Part 1: Ordinal Calcs’


Two related threads from the Tableau Community Forum:
‘Can I add rows to underlying data from Tableau?’:
‘Historical Chart on WINDOW_AVG data not working’:


Keith Helfrich‘s “Master Tableau Concepts”:


Tableau Software’s Customer-Generated “Think Data Thursday” Video Library:
(videos on Domain Padding, Data Scaffolding, and Table Calc videos are all related to Densification in one way or another)


Another plug for Jonathan Drummey’s Blog, which has several posts that discuss related concepts:

Until next time.

Tableau Request Live – The 1st Episode: User Retention Problem


You remember this, don’t you?

DISCLAIMER: The content of the video linked below gets fairly complex. While the video may be rough around the edges, I hope it serves as a resource for building an awareness of what Tableau is doing as you build a viz. This blog post is not meant to serve as single source of knowledge, but just one of many resources that may help you as you encounter unexpected results inside Tableau.

Overall Goal

The overall goal of this video response was to show some of the complexities in arriving at a seemingly simple solution inside Tableau–in this example, we wanted to show a single line which represents the User Retention Rate along a Date — the granularity of the final line chart view is at the level of detail of Date (so we want 1 Mark per Date).

However, as you will see in the video, the problem encounters some “issues” along the way – Joe resorts to Nested Table Calculations, with some advanced concepts sprinkled in throughout (use of the Path Shelf with a line chart, filtering marks down to only what is needed to build the final result, and nesting Table Calcs within other Table Calcs, just to name a few)…  for more on Nested Table Calcs, and some of the other more difficult concepts to grasp in Tableau, I would recommend the TDT Video Library as one good resource where you can learn more from other amazing Tableau users.  I should note that I am not an expert on all things Tableau, and I would benefit from reviewing those videos just as much as anyone else!

I got involved with Joe, because I understand a lot of the Table Calculations he used in this solution — what I lack is an understanding of how all the pieces fit together, to work toward his solution.  For my part, I had some personal goals, in addition to showing how to work around problems in Tableau.  They included: picking up on Joe’s skills/knowledge/understanding, participating in a collaborative learning environment, and spreading knowledge of Tableau’s complexities to others.

The Live Video Recording

In a short 44 minutes, Joe Mako and yours truly recorded a live video response to a Tableau Forum‘s question on User Retention.  The original Forum post is here:

I emailed Joe on a Saturday afternoon, and within a few short hours, we were set up to record this live video response.  Thank you Joe!  You are amazing, and oh so generous with your time!  I would encourage other users to reach out to people like Joe, as I have found them to be very encouraging, generous, and outright helpful in many situations.

Now, the original Forum question is about calculating a User’s Retention Rate along a date.  Joe did simplify the “data” down to only two necessary dimensions for the problem at hand: an ID, and a Date.  Building on that simple dataset, he is able to arrive at a solution in short time.  However, there are many Tableau-specific issues that are encountered and worked-around during his workflow.

As stated, you will see some sophisticated Tableau concepts being used and described in this video.  It may difficult to follow if you do not have at least a basic understanding of Table Calculations in Tableau.  As a starting point, you might look at this list of resources from Jonathan Drummey, if you aspire to learn more about Table Calculations:

The Video Response, which I’ve suggested is something akin to ‘Tableau Request Live’ (similar to the popular MTV show from your youth – or possibly, your children’s youth…), is hosted at the Vimeo link below:


Let this serve as evidence that no one Tableau Zen Master is perfect, as all of us make mistakes inside Tableau, and it can be very difficult to keep track of the many different factors at play in any given situation. It takes practice and study to understand what Tableau is doing, especially once we dive into more advanced areas of Tableau, like Table Calculations — as Joe will tell you, there is no documentation or video in the Tableau Trainings series to show you about Data Densification, let alone densification specific to using the Line mark type.

We have to build toward a solution inside Tableau, and I am reaching out to others like Joe, to learn how to better connect the dots in my own knowledge and understanding…to increase my awareness of how Tableau performs its amazingly fast rendering of marks on the canvas.  Reaching a solution for this problem would most likely take me a lot longer than it did Joe.  So, I’m partly involved to learn more myself — I hope to add commentary and questions as we work through some problems together, in order to further serve the Tableau community as a whole..

And, remember, we spent a small chunk of our Saturday doing this; I’ve tried and tried to learn this stuff throughout my work day, but find it easier to focus when I can set aside time outside of work hours.  This is just a personal comment on spending time outside of the daily grind with Tableau — without doing that, there is no way I would have been named a Tableau Zen Master for 2014. Also, I would never have been able to collaborate with Joe, if I had not asked. Sometimes, just asking others for direct help is the biggest step to overcome.

Finally: As described in the video, we certainly hope a video like this will become obsolete soon.  We dream of a day where building this type of solution inside Tableau is far less intimidating – a day where a Tableau user can continue in their workflow without being interrupted by unexpected results.

Until next time.