I am using Tableau Desktop and Tableau Prep. In best case I can solve this issue in Prep to optimize the dashboard performance (and Prep is able to execute custom SQL for instance). Nevertheless: if there is an easy solution in Tableau Desktop this might work as well.
Overall goal:
Visualize all project-requests per pool over time. Include several scenarios per pool.
Data source "Requests":
| Date | ProjectID | Pool | Request |
|---|---|---|---|
| March 25 | 6234 | PoolA | 1 |
| April 24 | 92345 | PoolB | 0,5 |
| April 23 | 123 | PoolB | 0,5 |
Data source "Scenarios":
| Date | ProjectID | Pool | Scenario |
|---|---|---|---|
| March 26 | 6234 | PoolA | rabbit |
| April 22 | 92345 | PoolB | duck |
Restrictions:
- Key is ProjectID
- len(Requests) >>> len(Scenarios)
- "Scenario" will only replace some request-dates. To check the complete simulated overview, you need to include replaced rows but also some original rows per pool
- Number of scenarios is dynamic and not fixed
- Several scenarios might replace/affect the very same row from "Requests"
- To avoid conflicts its just possible to select one scenario
Questions:
- Whats the most elegant data structure to visualize this data and these scenarios in Tableau?
- One solution: dont join but concatenate and use one filter to "activate" the scenario and another filter to "deactivate" the just replaced rows. Bad from a user perspective (two filters for just one scenario)
- Brute force: duplicate every row per scenario (updated rows AND untouched rows). Should work in theory but will blow up my table even more