Tableau Solve
Bottlenecks exist when processes are inflexible and too rigid
- ▸Data is read-only
- ▸Insights are not immediately relevant
- ▸Users can't pressure-test the data
- ▸Analysts are drowning in tasks
Empower the business to experiment in a trusted environment
- ▸What-if insights in the flow of work
- ▸Conversational UI & deterministic UI
- ▸Trusted data and semantics
- ▸Traceable history for brainstorming
Scopes which fields are editable to simulation authors. Often the same group or technical level as simulation authors — they set the guardrails everyone else works within.
Creates, modifies, and saves simulations. We expect most Solve users here — even dashboard viewers are potential simulation authors as we encourage experimenting with numbers in place.
Opens public simulations and can play with overrides, but can't save. We expect only a small portion of users in this category.
- 1[Placeholder] Step 1 — sign-in instructions to be added.
- 2[Placeholder] Step 2 — open the training workbook / data source.
- 3[Placeholder] Step 3 — confirm you're in the shared training environment.
- 4Create from the golden template. Name your simulation and hit Create from template. Find "Lock the Number" and create from it — you'll get the data and widgets pre-populated, ready to work with today.
Layer — Multi-level overrides
The same forecast becomes something you can experiment on.
- ▸Override any value — a single rep or a whole region rollup.
- ▸Watch totals and charts recalc instantly, in place.
- ▸Stay governed — no export, full audit trail of every change.
Overrides are logged here — what changed, and by how much.
Replace a single leaf value. The rollup above it is just the sum of its children, so it re-totals automatically.
Type a new total and Solve solves for the children. You choose how the delta (Δ = new − old) is spread:
We raised the AMER total from 1,000,000 to 1,300,000 — a delta of +300,000. Proportional gives each rep a slice of that delta equal to their share of the total, so the Override column always sums back to +300,000.
| Rep | Before | Share of total | Override = Δ × share | After |
|---|---|---|---|---|
| Sarah Chen | 500,000 | 50% | 300,000 × 50% = +150,000 | 650,000 |
| Marcus Reid | 300,000 | 30% | 300,000 × 30% = +90,000 | 390,000 |
| Priya Nair | 200,000 | 20% | 300,000 × 20% = +60,000 | 260,000 |
| AMER total | 1,000,000 | 100% | +300,000 | 1,300,000 |
Even split would instead ignore share and add the same amount to each: 300,000 ÷ 3 = +100,000 per rep.
The sales-commit dataset is already loaded for you. You've seen it and you know the math — now push on real numbers. There’s more than one way to get there — ask Tableau Agent in plain language, or do it by hand in the UI (click a value to override, drag a bar). Every edit stays governed and lands in History, so you can see exactly what moved and by how much.
Enumerate — Scenarios & comparison
One simulation, many scenarios — controlled globally.
- ▸Scenarios live at the top — the control applies to every chart in the view at once.
- ▸Select one to plan in it, or layer several to compare in any combination.
- ▸Stay governed — every scenario reads from the same trusted data.
Scenarios sit at the top of the simulation, not on any single chart. Whatever you select applies to every chart at once — so the entire view stays consistent as you move between plans.
Select a single scenario to plan inside it. Or turn on several at once and Solve layers them together — each becomes its own color-coded series, so you cross-compare in any combination on one view.
You owe the VP a range, not one number. On the loaded dataset, build three commits on the same governed data and compare them — no divergent spreadsheets to reconcile. There’s more than one way to get there — ask Tableau Agent in your own words, or drive the scenario control by hand (+ to add, select to plan, layer to compare).
Optimize — Constrained optimization
Just ask — the Agent runs the solver.
- ▸Say the goal in plain language — a target to hit.
- ▸Name the rules — e.g. keep Priya locked.
- ▸Agent solves it — a governed result, right in the view.
Of all the ways to hit AMER = $2.0M, the solver prefers the one with the smallest total squared change across the reps — no wild swings unless the rules force them. Under a fixed total, that means an equal increase for each movable rep.
Priya is locked, so she stays at $200,000. That leaves $1,800,000 for Sarah + Marcus (currently $800,000) — the solver spreads the extra $1,000,000 across the two movable reps.
AMER is $1,000,000 today (Sarah 500k, Marcus 300k, Priya 200k). Target is $2,000,000. Priya is locked, so the two movable reps must together rise by $1,000,000. Because the solver minimizes the sum of squared changes, the smallest-change answer gives each movable rep the same absolute increase — not a proportional one.
| Rep | Before | Rule | Change | After |
|---|---|---|---|---|
| Sarah Chen | 500,000 | movable | +500,000 | 1,000,000 |
| Marcus Reid | 300,000 | movable | +500,000 | 800,000 |
| Priya Nair | 200,000 | 🔒 locked | +0 | 200,000 |
| AMER total | 1,000,000 | target | +1,000,000 | 2,000,000 |
State a goal, name your rules, and let the solver find the least-cost answer — then push it until it breaks. There’s more than one way to get there — ask Tableau Agent in plain language, or set it up by hand in the Optimization panel (objective, constraints, Run Solver). On the loaded dataset, try these — the last one can’t be solved: that’s the point.