What Does FIXED Do in Tableau?
Trying to calculate a percentage of a total or compare a single category against a grand total in Tableau can feel frustrating. You drag fields around, but the moment you add detail to your view, your totals change. This is exactly the problem Tableau's FIXED Level of Detail (LOD) expression is designed to solve. This article will break down what FIXED does, how it works, and how you can use it to build more insightful reports.
What Even Are Level of Detail (LOD) Expressions?
Before jumping into FIXED, we need to understand the concept of "level of detail." In Tableau, the level of detail of your view (or "viz") is simply the combination of dimensions you have on your rows and columns shelves. Every dimension you add makes the view more granular.
For example:
- If you drag
SUM(Sales)to your view with nothing else, the level of detail is "the entire dataset." You'll see one number: the grand total of all sales. - If you then drag the
[Region]dimension to Rows, the level of detail is now "Region." Tableau calculatesSUM(Sales)for each individual region. - If you add the
[Category]dimension to Rows next to Region, the level of detail becomes even more granular: it is now "Region and Category." Tableau calculatesSUM(Sales)for every unique combination of region and category.
This is standard behavior, but it creates a common problem. What if, for each product category, you want to show how it performed relative to its entire region? You want to display the "Category" and "Region" sales right next to the "Total Regional Sales." A standard SUM(Sales) aggregation can't do this because it will always compute at the most granular level in your view (Region and Category).
This is where Level of Detail expressions come in. They allow you to perform calculations at a different level of detail than what's currently shown in your view. Tableau offers three LODs: FIXED, INCLUDE, and EXCLUDE.
Understanding the FIXED LOD Expression in Plain English
The FIXED expression is often the first LOD people learn because it's the most explicit. It computes a value using only the dimensions you specify, completely independent of the other dimensions in your view.
The syntax looks like this:
{ FIXED [Dimension 1], [Dimension 2] : AGGREGATE([Measure]) }Let's break down each part:
- { } Brackets: The curly brackets are crucial. They signal to Tableau that you are creating an LOD expression, not a regular calculation.
- FIXED: The keyword that tells Tableau you want to compute the value at a specific, unchanging level.
- [Dimension 1], [Dimension 2], etc.: These are the dimensions you are locking the calculation to. You are telling Tableau, "Calculate the measure only at the level of this dimension or these dimensions." You can have one or several.
- : (Colon): The colon separates your dimensions from the calculation you want to perform.
- AGGREGATE([Measure]): This is the calculation you want to run at the fixed level, such as
SUM([Sales]),AVG([Profit]), orCOUNTD([Order ID]).
So, a formula like { FIXED [Region] : SUM([Sales]) } is simply read as: "For each Region, calculate the total sum of sales, and don't let any other dimensions in the view change this number."
A Practical Example: Calculating Percent of Total Regional Sales
Let's walk through the problem we described earlier. Our goal is to create a view that shows sales for each Product Category, grouped by Region, and also shows what percentage of the region's total sales each category represents.
We'll use Tableau's sample Superstore dataset for this.
Step 1: Create the FIXED Calculation
First, we need to calculate the total sales for each region. This value must remain constant even when we add product categories to our view.
- Go to the top navigation, click "Analysis," and select "Create Calculated Field."
- Name the field "Regional Sales Total."
- Enter the following formula:
{ FIXED [Region] : SUM([Sales]) }- Click "OK."
This new calculated field now stores the total sales value for each region, independent of any other dimensions like product category.
Step 2: Build Your View
Now, let's create the basic table to visualize our data.
- Drag the
[Region]dimension to the Rows shelf. - Drag the
[Category]dimension to the Rows shelf, right after Region. - Drag
[Sales]to the Text mark on the Marks card. By default, it will be aggregated asSUM(Sales).
At this point, you'll have a table showing sales for each category within each region correctly.
Step 3: Add Your FIXED Calculation to the View
Drag your newly created [Regional Sales Total] calculated field from the data pane to the Text mark as well. Look at what happens:
You'll see that for every category row within the "Central" region, the value for [Regional Sales Total] is the same. The same is true for "East," "South," and "West." The FIXED calculation successfully computed the total at the regional level and is ignoring the [Category] dimension in the view. You now have both the granular sales number and the regional total in the same row.
Step 4: Create the 'Percent of Total' Calculation
The final step is to divide one by the other to get our percentage.
- Create another new calculated field. Name it "Percent of Regional Total."
- Enter the formula:
SUM([Sales]) / SUM([Regional Sales Total])(You still use SUM() on the LOD expression because while the LOD calculation itself is computed row-by-row in your data source, when you bring it into a view, it's still treated as an aggregate.)
- Click "OK."
- Format your new calculated field as a percentage by right-clicking it in the data pane, navigating to 'Default Properties' > 'Number Format...', and selecting 'Percentage.'
- Drag this "Percent of Regional Total" field to the Text mark to add it to your table.
You now have a completed table that shows exactly what percentage of a region's total sales each individual product category contributed. This is something that would be incredibly difficult without a FIXED LOD expression.
The Most Important Rule: FIXED and Filters
Here's where FIXED becomes even more powerful and also where mistakes often happen. FIXED LOD calculations are computed before regular dimension filters are applied.
What does this mean?
Imagine your view from the example above. The "East" region's total sales are $678,781. The FIXED calculation will always show that number for the East region, even if you add a dimension filter.
- If you drag the
[Category]dimension to the Filters shelf and uncheck "Technology"... - The
SUM(Sales)column will update, and the total for "East" will go down because you've removed a category. - The
[Regional Sales Total]column calculated with your FIXED expression will not change. It will still show $678,781.
This is because Tableau's order of operations computes FIXED expressions before it looks at the dimension filters you’ve applied in your view. The FIXED total remains fixed, serving as a constant benchmark against which you can measure the filtered data.
When Would You Need This?
This is incredibly useful for calculating "share of" or "contribution to" a larger whole. You can filter down to a specific sales representative and still see what percentage of their entire unfiltered region's sales they were responsible for.
How to Make a FIXED Calc Respect a Filter
If you do want a filter to apply to your FIXED calculation, you can promote it to a Context Filter. Just right-click the filter on the Filters shelf and select "Add to Context." The filter will turn gray, and Tableau will now apply it before computing your FIXED expression.
FIXED vs. INCLUDE vs. EXCLUDE: What's the Difference?
It's helpful to briefly contrast FIXED with the other LOD expressions to solidify your understanding.
- FIXED: Calculates a value at the exact level of detail specified in the formula. It's an independent calculation that mostly ignores the dimensions in your view and all standard dimension filters. Think of it as setting a rule in stone.
- INCLUDE: Starts with the dimensions in your view and then adds more dimensions for the calculation. For example, in a view showing Sales by Region,
{ INCLUDE [State] : SUM(Sales) }would calculate total regional sales but also consider the State dimension, effectively getting an average state sale per region. Its value can change if you add filters. - EXCLUDE: Starts with the dimensions in the view and removes some for the calculation. In a view showing Sales by Region and Category,
{ EXCLUDE [Category] : SUM(Sales) }would show the total regional sales in every row, similar to our FIXED example. The key difference is that EXCLUDE calculations are affected by regular dimension filters.
For many percent-of-total scenarios, FIXED is the most reliable choice because of its predictable independence from view filters.
Final Thoughts
Mastering LODs like FIXED is a significant step in moving from a beginner to an intermediate Tableau user. They give you the power to create complex, multi-layered comparisons in a single view, allowing you to answer business questions that would otherwise require multiple sheets or manual calculations. By telling Tableau to compute a value at a specific level, you can create stable benchmarks, calculate percent of totals, and build far more flexible dashboards.
Of course, becoming proficient with Tableau's syntax takes a lot of practice and often feels like learning to code. Hours can be spent on formula troubleshooting instead of getting results. We built Graphed to remove this technical barrier. Instead of you needing to remember the order of operations or master complex calculations, you can just ask in plain language, "what percentage of total sales did each category contribute by region?" Graphed turns that request into a live, real-time-updating visualization instantly, allowing you to focus on the insights, not just the technical setup.
Related Articles
How to Connect Facebook to Google Data Studio: The Complete Guide for 2026
Connecting Facebook Ads to Google Data Studio (now called Looker Studio) has become essential for digital marketers who want to create comprehensive, visually appealing reports that go beyond the basic analytics provided by Facebook's native Ads Manager. If you're struggling with fragmented reporting across multiple platforms or spending too much time manually exporting data, this guide will show you exactly how to streamline your Facebook advertising analytics.
Appsflyer vs Mixpanel: Complete 2026 Comparison Guide
The difference between AppsFlyer and Mixpanel isn't just about features—it's about understanding two fundamentally different approaches to data that can make or break your growth strategy. One tracks how users find you, the other reveals what they do once they arrive. Most companies need insights from both worlds, but knowing where to start can save you months of implementation headaches and thousands in wasted budget.
DashThis vs AgencyAnalytics: The Ultimate Comparison Guide for Marketing Agencies
When it comes to choosing the right marketing reporting platform, agencies often find themselves torn between two industry leaders: DashThis and AgencyAnalytics. Both platforms promise to streamline reporting, save time, and impress clients with stunning visualizations. But which one truly delivers on these promises?