Parameters are just about as close as Tableau gets to providing out-of-the-box programming functionality.
Unlike many of the other functions in Tableau, only parameters have the ability to both hold a value, and make that value available for direct use, and what's more, is that only parameters are global, they are completely accessible by any data source, which means that you can easily control one data source from another without defining a relationship such as when blending sources, or, by renaming fields in order to allow for cross-source filtering.
Since my Tableau journey began many years ago, being the data analyst and engineer that I am, parameters were my go-to function, yet sadly, they appear to be the unsung hero of the interactive visualisation, often with users failing to realise their true power, hence this article:
I really want to demonstrate to you just how powerful they are, and some of the ways you can really bring your visualisations to life
It's no secret, sure I can put some great dashboards together just like the rest of you, though for me, I've always been a fan of giving my users as much data as they can handle, and letting them define their own stories, but sadly, many users begin to use Tableau from entirely the wrong angle.
I've said it before: you may well have the most awesome dashboard ever seen, but if it takes 45 seconds to render, this is 41 seconds in which your audience has checked their watch, and moved off; it is too slow.
Performance is the key, users would much rather look at a terrible dashboard that turns around in 3 seconds, than spend more than 10 seconds waiting for awesomeness to load; and then, put off by how long it took to load, users will avoid interaction as much as possible therefore, some of the best chances to identify the greatest stories will have been lost.
Can you imagine a world without Romeo & Juliette - I can, being English I had to study this to death, but still, had Shakespeare failed to tell the story, we would probably now have 'Gordon and that bit of stuff he met in the pub last Friday night'.
Parameters, allow you to really control most aspects of your visualisation from a very simple object, here I wanted to discuss some of the ways they can be used and, since v2019.2 my absolute most favouritest (I know, I made that up) function: the Change Parameter action.
The most easiest function to define, yet being a Tableau function, they have such a tiny data footprint it is almost laughable
In case you haven't read some of my other articles, lets just be clear on what Tableau is, is not, and what it is really doing:
Tableau is a data visualisation platform.
Tableau does not store nor generate data, and beyond the scope of table calculations see here for more information, Tableau doesn't perform any calculations either
What Tableau does do is to convert all data activity into an SQL query to send to your data source, the source engine will execute the query, performing those (sometimes terribly complex) calculations, and send the result back to Tableau in the form of a table. Tableau will then read this table and literally paint-by-numbers to build your view.
In short everything you do will be converted into a query for your data server to execute, and whilst this isn't always a problem - there are even some who feel it is entirely proper for the server to perform the heavy lifting; sure, this isn't too much agro, but not on a production environment a hundred times per day: heavy lift work should be performed when it is the greatest benefit with the least impact - overnight, when the server is not in use.
Anyway, I digress.
So whilst it is fine for the server to undertake a reasonable amount of heavy-lift work, there are things we developers can do to reduce the impact largely by using built-in objects such as parameters, groups, sets, aliases, text boxes and bins