Nearly every game requires highly interactive and dynamic dashboards. Take the Choose Your Own Adventure game as an example. Each choice is a separate view. Making a choice by clicking on a circle, arrow, or text in that view initiates a series of actions that updates the entire dashboard and reveals a new choice.
It works by expanding upon the sheet selection technique outlined in this knowledge base article. The basic idea is that any view on a dashboard will collapse when the view’s title is not shown and all the data is filtered out. The view will expand again once filters change and there is data to show.
When you first start the game, Choice 1 is visible. All other choices are collapsed. When you click a circle in Choice 1, it updates the entire dashboard and also causes Choice 2 to expand.
The challenge is that an action can’t directly change the source sheet. So how do you hide Choice 1 when Choice 1 initiated the action? My solution was to strategically place a floating container on the dashboard so that the expansion of Choice 2 would push Choice 1 under the container, effectively hiding it. Choices 3, 4, and so on would do the same thing.
Outside of games, these techniques can be quite practical. Let’s say I have a simple dashboard with which I want to show profit over time and additionally allow my audience to highlight specific periods of interest using a parameter.
The parameter is a simple list that includes items such as This Year, Previous Year, and also Custom, which would allow the user to specify a start and an end period. But I don’t want to show options for Start and End unless the user has selected Custom.
Here it is in action:
Here’s how it works:
The Select a Period to Highlight parameter floats over the Start and End parameters. Additionally, the Select a Period to Highlight parameter floats over another hidden view. This hidden view is always filtered and collapsed until the user selects Custom. At that point, the hidden view expands and pushes the Start and End parameters out from under the floating parameter to where they are visible.