Really happy with a dashboard I built at work this week. Can’t share the actual version with you, but created a mock-up with fake data. This data is significantly simpler than the real data source – I’ve cut unused fields, decimated the number of users, and condensed multiple complex processes into a single straightforward one. Still, it shows two tricks that add a lot to the functionality of the dashboard.
Check it out on Tableau Public.
- Using LOD calculations to pull multiple values related to a single data point from a single more detailed dimension.
- Creating a Dashboard that automatically loads data relevant to the viewer when opened, without preventing the viewer from seeing data related to other users.
The first trick actually comes from Bronson Shonk’s LOD Expressions session at TC17. You can access the powerpoint and workbooks from the session for free. In the powerpoint it’s in the section called Pivot.
The tooltips in this workbook show a list of current recipients.
Behind the scenes, this list comes from three different fields – Current Recipient 1, Current Recipient 2, and Current Recipient 3.
By adding conditional statements inside of the LOD, I’m able to show all of the contacts with open tasks for a request – which is really helpful when submissions need to be reviewed by several people. Without the conditional I can only show one recipient, and the designer doesn’t know how many approvals are still in progress.
Cool Trick #2
When the dahsboard is opened, it automatically shows the data filtered to the viewer. Because the viz is hosted on Tableau Public instead of Server, I’ve subbed out the FULLNAME() user function for the string ‘White Rabbit’ – one of the fictional teapot designers in the dataset. For now, you are the White Rabbit.
This dashboard actually has two workbooks and uses the parameter Self to swap them. The ‘Myself’ workbook has the filter Myself = TRUE.
In the original version, ‘White Rabbit’ is replaced with the user function FULLNAME().
The ‘Other Designers’ workbook has the slightly more straightforward Other Designers = TRUE filter, along with a visible filter on Designer.
By saving the dashboard with the parameter set to ‘Myself’, the [Designer] = Fullname() statement ensures that the page will open filtered to the current user’s data. Creating separate dashboards with separate filters prevents the Designer selection from filtering out the user’s name when the parameter is switched from ‘Other Designers’ to ‘Myself’.