The ability to create parameters and use them throughout the flow - from source, to calculation logic, to output location and name would be incredibly useful.
What I envision:
- A single, global value parameter of a specific data type - very similar to Tableau Desktop. Multi-value parameters would be great (especially for some filtering), but I would take single value.
- Could be set by user via UI controls, very similarly to Tableau Desktop.
- Could be set by URL, API, or command line in future versions that support these flow run methods
- Could be used to control data sources (names of server, database, table, file, directory), used as filters, used in calculations, used to set output directories/filenames/server locations
- I do NOT expect to be able to change the value of the parameter at run-time (in batch mode).
Here are some use cases:
- I want to run a flow for a certain year or time frame. Having a parameter that would control filtering of inputs, be used to alter logic of calculations throughout, and allow me to direct specific output would allow me to do this.
- Parameterize Custom SQL - gives me the same power and flexibility I have in Tableau Desktop.
- I want to run a flow multiple times (e.g. once per department) and end up with several output files, each having a unique, but meaningful, name. A parameter that allows me to change the output file name would be great! (There is a similar idea already here: https://community.tableau.com/ideas/8783)
- I want to run a flow on demand via URL, API, or command line and pass parameters that will control how the flow runs, the output returned, etc... This one's a bit forward looking, but I'm assuming and hoping there will be options like this in the future and parameters will be essential for allowing me to have the control and flexibility needed for many scenarios.
- I want to determine which source to use. Allowing a parameter to determine which server, database, file/directory, etc... Why?
- In some cases, especially in enterprise, it may be a good practice to parameterize the name of the database server. When IT moves the data to another server do I want to edit dozens (or hundreds) of connections or change the value of one parameter?
- Test/Dev/Prod environments and will want to be able to switch by changing one value rather than editing a dozen connections. This would apply to input as well as output. And, yes, I know we want a tool that enables rapid data prep for the everyday person who shouldn't have to worry about Test/Dev/Prod, but trust me, they will.
- Sometimes different subsets of data are in different locations or obtained via different filters. If I want to run for a given subset I would like to set the parameter value and push play rather than query all the data everywhere.