How to Freeze Columns in Tableau
Trying to analyze a wide table in Tableau without losing sight of your key identifiers can feel frustrating. You scroll to the right to see your profit metrics, and suddenly you can't remember which product or customer name is on that row. This article will show you the two most effective methods to freeze columns in Tableau, just like you would with "Freeze Panes" in Excel.
Why Can't You Just "Freeze Panes" in Tableau?
Before we jump into the solution, it's helpful to understand why. Unlike spreadsheets, Tableau is a data visualization tool, not a raw data table editor. It's designed to create interactive charts and dashboards. Its structure prioritizes aggregating and visualizing data over displaying endless rows and columns of raw numbers. As a result, there's no simple, one-click "freeze columns" button.
Fortunately, with a little creativity, you can replicate this functionality perfectly. Let's look at the two main approaches: the Dual-Axis method and the Dashboard Split method.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Method 1: The Dual-Axis Technique
This is the most common and robust way to create a frozen column effect within a single worksheet. It feels a bit like a magic trick at first, but it works by combining two fake axes to create a fixed section and a scrollable section. It ensures your rows always stay in sync because they are part of the same sheet.
Step 1: Set Up Your Initial Table
Start by building a standard text table. For this example, let's say we want to freeze the Customer Name column and have other measures scroll horizontally.
- Drag your dimension for the frozen column (e.g., Customer Name) to the Rows shelf.
- Drag the other measures you want in the table (e.g., Sales, Profit, Quantity) onto the sheet. A common way is to drop them on the Text mark on the Marks card. Tableau might arrange them vertically at first - that's okay for now.
Step 2: Create a Placeholder Field
We need a numerical field to create our axes. An easy way to do this is to simply create a calculated field equal to a constant number.
- Right-click in the data pane on the left and select Create Calculated Field.
- Name the field "Placeholder".
- In the formula box, type MIN(0) or just the number 0. Using an aggregate like MIN can prevent unexpected behavior. Click OK.
Step 3: Build a Dual Axis Chart
Now, we'll use this placeholder to construct the foundation of our table.
- Drag the Placeholder field onto the Columns shelf.
- Hold down Ctrl (or Cmd on Mac) and drag the Placeholder pill on the Columns shelf to the right of itself. This duplicates it.
- Now you have two Placeholder fields on your Columns shelf and you'll see two identical axes in your view.
- Right-click the second Placeholder pill on the Columns shelf and select Dual Axis from the dropdown menu.
Step 4: Configure the "Frozen" Column (the Left Axis)
The Marks card now shows three options: All, MIN(0), and MIN(0) (2). This lets you control each axis independently. Let’s configure the first placeholder, which will be our frozen column.
- Select the first MIN(0) Marks card.
- Change the mark type from Automatic to Text.
- Drag the dimension you want to freeze (e.g., Customer Name) onto the Text mark on this same Marks card.
- You'll now see the customer names appear on the left axis. You can increase the column width by right-clicking one of the 0's on the x-axis, selecting Edit Axis, and setting a Fixed range (e.g., Fixed start: 0, Fixed end: 1). This gives you manual control over the space.
Step 5: Configure the Main Data Table (the Right Axis)
Next, we’ll build the part of the table that actually scrolls.
- Select the second MIN(0) Marks card.
- Drag all the measures you want to be able to scroll through (Sales, Profit, Quantity, etc.) onto the Detail mark.
- Tableau has a special field called Measure Values. Drag Measure Names onto the Columns shelf and Measure Values onto the Text mark. You can then filter the Measure Names to include only the columns you want to see. This is often the cleanest way to build the scrollable section.
Step 6: Final Clean-up
To finish, you just need to hide the unnecessary axes and headers.
- Right-click on the "0" axis at the top of your view and uncheck Show Header. Repeat for the bottom axis.
- Right-click on the "Customer Name" header on the left side of your view and choose Hide Field Labels for Rows.
- To add headers, you will often need to create a separate worksheet just for the column titles and combine them on a dashboard. Float that header worksheet directly above your main table for a clean, finalized look.
You now have a single worksheet with a column that stays put while the rest of the data gracefully scrolls from left to right!
Method 2: The Dashboard Split Technique
If the dual-axis method feels a little too complex, this approach is more straightforward. It involves creating two separate worksheets - one for the frozen columns and one for the scrollable data - and then aligning them next to each other on a dashboard. It's easier to set up but has a few user experience quirks to be aware of.
Step 1: Create the "Frozen Columns" Worksheet
Start a new worksheet that will only contain the column(s) you want to freeze.
- Name the worksheet "Frozen Columns".
- Drag your key dimension (e.g., Customer Name) to the Rows shelf.
- If you have more than one column to freeze (e.g., Customer Segment), drag it to the rows shelf as well.
- Adjust the column widths to look exactly how you want them. You should also turn off tooltips for this sheet, as they will be handled by the data sheet.
Step 2: Create the "Scrollable Data" Worksheet
Next, create the table with all the data you want to scroll through.
- Name the worksheet "Scrollable Data".
- Crucially, drag the exact same key dimension (Customer Name) to the front of the Rows shelf. This is essential for ensuring the rows align properly on the dashboard later.
- Drag all your measures (e.g., Sales, Profit, Quantity) onto the sheet to build your text table.
- Once everything is set up, right-click the key dimension pill (Customer Name) on the Rows shelf and uncheck Show Header. This will hide the column you already have displayed on your first worksheet.
- Ensure both this worksheet and the first one are sorted the exact same way. Mismatched sorting will cause misaligned rows.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Step 3: Align Everything on a Dashboard
Now, let’s combine them.
- Create a new Dashboard.
- From the Objects menu, drag a Horizontal Container onto the dashboard.
- Drag your "Frozen Columns" worksheet into the left side of the container.
- Drag your "Scrollable Data" worksheet into the right side of the container, right next to the first sheet.
- Right-click the title of each worksheet and choose Hide Title.
- You will likely need to adjust the width and height of the dashboard items for a pixel-perfect alignment. Set the dashboard view to "Entire View" or "Fit Width" as needed.
The main drawback of this method is that you will see two separate vertical scroll bars. The rows on the left won't scroll with the data on the right unless the user scrolls them both. For very long tables, this can be cumbersome. However, for short-to-medium length tables, it's a quick and easy solution.
Which Method Should You Choose?
- Use the Dual-Axis method when you need a seamless, professional experience with a single, synchronized scroll bar. It's more complex to build but delivers a far better end result for the user.
- Use the Dashboard Split method for a quick-and-dirty solution, prototypes, or when the table doesn't have too many rows. It's faster to implement but can feel a bit clunky to navigate.
Final Thoughts
Recreating frozen columns in Tableau requires workarounds like the dual-axis or dashboard split methods. While they aren't as simple as a spreadsheet, these techniques are powerful tools for building user-friendly and highly functional text tables for those moments when a wide table is exactly what your stakeholders need.
Working through these steps highlights how much effort in traditional BI goes into just getting the visualization set up correctly. At Graphed we built a tool to eliminate that friction. Instead of manually constructing complex charts or tables, you can simply ask a question in plain English, like "Show me a table of sales, profit, and quantity by customer for last quarter," and instantly get an interactive visualization. We let you focus on exploring your data, not wrestling with the complexities of your BI tool.
Related Articles
Facebook Ads for Assisted Living: The Complete 2026 Strategy Guide
Learn proven Facebook ad strategies for assisted living facilities in 2026. Discover how to target adult children and seniors, create compelling ads, and maximize your ROI with retargeting and video content.
Facebook Ads for Optometrists: The Complete 2026 Strategy Guide
Learn how to run effective Facebook ads for optometrists in 2026. Discover campaign strategies, targeting tips, creative best practices, and budget guidelines for eye care practices.
Facebook Ads for Veterinarians: The Complete 2026 Strategy Guide
Learn how to use Facebook ads to attract more pet owners to your veterinary practice. Complete strategy guide for 2026 with targeting tips, ad formats, and best practices.