
Maverick Data’s Platform Migration Methodology
June 30, 2026
An honest take on Sigma vs. Databricks AI/BI
July 2, 202610 Tips to Optimize your Sigma Workbooks
Slow performance is not just an annoyance, it’s a major roadblock to adoption and ROI of your Sigma platform. Additionally, every query runs live against your cloud data warehouse which means performance and cost are the same problem. Inefficient workbooks run up your CDW bill on every load and every click. Improve performance and you cut compute spend and increase adoption at the same time.
This is a list of concrete changes you can make today to optimize your Sigma workbooks.
Start here: find out what is slow
Before you change anything, open Query History in the workbook. It shows you which elements are taking the longest and whether the time is being spent in Sigma or in your warehouse. If you have admin access, the cost-per-query usage dashboard tells you what each workbook, user, and materialization is costing in real dollars.
Fix the worst offenders first. Guessing wastes time. Two minutes in Query History tells you exactly where to spend your effort.
1. Source everything from one parent table
This is the highest-leverage change in Sigma. Instead of having every table, chart, and pivot pull directly from the data model, bring your data in once as a single parent table element and source the rest of the elements from it.
Sigma caches that parent. Every child element then reuses the cached result instead of firing its own query at the warehouse. This parent-child structure is the foundation everything else sits on.
2. Delete unused columns
Hiding a column still queries it. The data still gets scanned, returned, and paid for. Deleting it removes it from the query entirely.
Go through your tables and visualizations and delete every column you are not using. Columnar warehouses scan by column, so fewer columns means less data scanned, faster loads, and lower cost. If you need a column back later, add it in seconds.
3. Push joins and transformations upstream
At Maverick Data we live by this principle – move transformations as far upstream as possible and as far downstream as necessary. This keeps your Sigma model clean, simplifies lineage, and cuts query complexity.
A few specifics:
- Use custom SQL sparingly. It blocks several of Sigma’s caching optimizations.
- When using data models, use a relationship instead of a join. Sigma only executes the join when a related column is pulled into the downstream analysis, so you avoid expensive long-running joins by default.
- Minimize lookups. They force repeated calculations. Joins are faster and give you bidirectional data flow.
4. Push user inputs downstream
In the same vein as moving complex joins and transformations as far upstream as possible, move parameters and any user inputs as far downstream as possible. When a user changes an input, the data must be re-queried to update results based on these updated inputs. Pushing these parameters downstream means minimizing what elements are repeatedly queried.
5. Define metrics in the data model
Instead of creating calculations for specific visual elements, precompute and define those metrics in the data model instead. You get one standard definition of each metric, simpler workbooks, and faster queries because the math is already done before Sigma asks for it.
6. Materialize your expensive elements
For complex joins and heavy transformations, use materialization. Sigma writes the result back to your warehouse as a table and serves queries from that table instead of re-running the logic every time.
This approach precomputes the model rather than executing it at runtime. On Snowflake, Sigma even skips a scheduled materialization when the underlying data has not changed, so you are not paying for refreshes you do not need. Materialization is one of the clearest ways to cut both load time and compute cost on heavy workbooks.
7. Build unique value lists for filter controls
When a filter control pulls its options straight from a large table, Sigma has to scan that whole table just to populate the dropdown. Filtering against a large number of rows to show a handful of distinct values is wasted compute on every interaction.
Instead, when distinct value lists are consistent, create a small table with a single column of distinct values and point your filter control at that.
8. Turn off summary rows
Summary rows generate their own additional queries. If you are not using them, switch them off. This is a thirty-second change that removes queries from every table that had them on. Change this in the Format tab > Table Components drop down.
9. Force a filter before the workbook loads everything
If possible, avoid scanning the full dataset on every open. Applying filters by default where possible means Sigma only loads a compressed dataset on open. As an example, using a relative date filter directly to your parent table’s date column. A relative filter (last 90 days, current quarter, and so on) means Sigma only loads the recent window of dates you need, and it never goes stale the way a hardcoded date does.
Another recommendation is to use Required Filters on large datasets. If no filter value is selected, the dependent elements do not render and do not query, so the workbook will not try to pull your entire history the moment a user opens it.
One note on mechanics: this is about putting a filter on the table, not setting a value on a control. Configure the relative filter on the parent table, or use the Required Filter checkbox in the filter settings.
10. Simplify the workflow by simplifying actions
This one is about the user experience rather than raw query speed, but it serves the same goal. By simplifying action sequences, you streamline triggers and effects to reduce complexity and speed up the users’ interactions. A common example: instead of sending users to a separate module to update a status, put a clickable action column right in the table that triggers the write-back. Fewer interaction methods, fewer moving parts, less to maintain.
The rule behind all of it: keep it simple
The thread running through every item above is the same – simplicity reigns supreme. Optimizing your Sigma workbook means you’re optimizing the SQL sent to your CDW. A clean parent-child structure with the logic pushed upstream, the columns trimmed, and sensible filter controls will outperform a clever, complicated workbook nearly every time, and it will cost less to run.
Contact Us
If you would like to talk to someone at Maverick Data about maximizing your usage of the Sigma platform, please email us at spencer@maverickdata.io for more information!



