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.
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: http://community.tableausoftware.com/thread/148852
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: http://drawingwithnumbers.artisart.org/want-to-learn-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.