How to Freeze Column in Power BI

Cody Schneider••7 min read

If you're coming to Power BI from Excel, one of the first things you'll look for is the "Freeze Panes" button. Keeping those first few columns visible as you scroll sideways through a wide table is essential for keeping your data in context. While Power BI doesn't have a direct "freeze" feature for tables, you can achieve the same result with ease. This article will show you the standard, recommended way to do it using the Matrix visual.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Why isn't there a "Freeze Panes" Button in Power BI?

First, it helps to understand why this feature isn't just a simple one-click option like it is in Excel. Excel is a cell-based spreadsheet application where data lives in static cells arranged in a grid. "Freezing panes" is just a visual trick to lock certain rows or columns in the viewing window.

Power BI, on the other hand, is a data visualization and modeling tool. A "Table" visual in Power BI isn't just a grid of cells, it's a dynamic representation of your underlying data model. Every visual is interactive and designed to summarize, filter, and cross-highlight data. The structure needed to support this interactivity makes a simple "freeze" command much more complex. Fortunately, the solution is built right into another core visual: the Matrix.

The Go-To Method: Using a Matrix to Freeze Columns

The best and most reliable way to freeze columns in Power BI is to use the Matrix visual. It's designed to handle this exact scenario, providing a robust way to create a table with a fixed column section and a scrollable column section. Let's walk through it step-by-step.

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 1: Start with Your Data in a Table Visual

Let's assume you've already imported your data and have created a standard Table visual. For our example, let's say we have a sales report with columns like Order ID, Customer Name, Product Category, Product Name, Order Date, Quantity, Unit Price, and Total Sales.

When you put this into a regular Table visual, you'll immediately see the issue. As soon as you add enough columns to require a horizontal scrollbar, scrolling to the right to see Total Sales makes you lose the context of which Customer Name or Product Name you're looking at.

This is the problem we're going to solve.

Step 2: Convert the Table to a Matrix

This step couldn't be simpler.

  1. Click on your existing Table visual to select it.
  2. In the Visualizations pane on the right-hand side, click on the Matrix icon. Power BI will automatically convert your table visual into a matrix, while trying to keep your data fields in place.

Don't worry if it looks wrong at first, we're about to configure it properly.

Step 3: Arrange Your Fields in the Matrix Wells

This is the most important step. A Matrix visual has three main data wells: Rows, Columns, and Values. How you arrange your fields here determines what gets locked and what scrolls.

The logic is simple:

  • Whatever you put in the Rows well will become your "frozen" columns.
  • Whatever you put in the Values well will become your horizontally scrollable columns.

For our example:

  1. Drag the fields you want to freeze into the Rows well. These are your identifiers. In our case, drag Customer Name, Product Category, and Product Name into the "Rows" field well. We might even add something like Order ID to ensure every row is unique.
  2. Drag the fields you want to be able to scroll through into the Values well. These are your metrics and other details. For our example, drag Order Date, Quantity, Unit Price, and Total Sales into the "Values" well.

Step 4: Stop the Automatic Summarization (The Critical Trick)

You'll notice that the Matrix automatically tries to summarize your data in the 'Values' section. For a numeric field like Total Sales, it will default to 'Sum'. For text or date fields, it might show 'First' or 'Last'. This is the matrix trying to aggregate your data.

To make it behave like a flat table, you need to tell it not to summarize.

  • In the Values well, click the small down-arrow next to each field that is being summarized incorrectly.
  • For text or unique ID fields, change the aggregation from the default (like 'First') to 'Don't summarize'.
  • For numeric fields that you want to see for each individual line item (like Quantity or Unit Price), you can also change this. For fields you do want aggregated (like Total Sales), leave them as 'Sum'.

Pro-Tip: The secret to ensuring the Matrix shows every single line item is to add a unique identifier to the Rows well. A field like Order ID or Transaction ID tells the Matrix that each row is distinct and prevents it from rolling up the data.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Step 5: Format the Matrix to Look Like a Table

Right now, your Matrix probably looks hierarchical, with row headers indented. Let's fix that to give it a clean, tabular appearance.

  1. With your Matrix visual selected, go to the Format your visual pane (the paintbrush icon).
  2. Expand the Row headers section.
  3. Find the toggle for Stepped layout and turn it Off.

That one click is magic. It instantly transforms the hierarchical, stepped layout into a classic table layout where each field from your 'Rows' well gets its own dedicated column - exactly what we want!

You can also use this formatting pane to make other adjustments:

  • Turn off subtotals: Under the Row subtotals and Column subtotals sections, you can turn off the toggles if you don't need them.
  • Adjust styling: Feel free to explore the 'Style presets', 'Grid', and 'Column headers' options to customize borders, colors, and fonts to match your report's design.

The result? You now have a visual that looks just like a table. On the left, you have your locked, 'frozen' columns (Customer Name, Product Name, etc.). On the right, you have a set of columns (Order Date, Quantity, etc.) that you can scroll through horizontally while the main identifiers stay perfectly in place.

Additional Tips for a Better User Experience

Now that you've mastered the technique, here are a few best practices to keep in mind when creating reports with frozen columns.

Be Minimalist with Frozen Columns

Just because you can freeze columns doesn't mean you should freeze a dozen of them. Screen real estate is precious. Freeze only the essential pieces of information needed to provide context. Too many frozen columns can push your scrollable data off-screen, defeating the purpose of the report.

Order Matters

The order of fields within the 'Rows' field well dictates their column order from left to right. Place the most important identifier, like Customer Name or Project Name, at the very top of the list so it appears as the first column, giving your team the most critical context immediately.

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.

Consider Report Interactivity

Remember, this is Power BI, not a static report. This newly created Matrix is fully interactive. Clicking on a row will cross-filter other visuals on the page, and slicers on the page will filter this matrix. Leverage this interactivity to allow users to dive deeper, rather than trying to cram every possible piece of data into one massive, wide table. Sometimes, clicking a customer's name in a simple table to see their details update in other charts is a much better user experience than scrolling through 30 columns.

Final Thoughts

While Power BI may not have a "Freeze Panes" function ripped straight from Excel, the Matrix visual provides an even more powerful and flexible way to achieve the same goal. By placing your identifying columns in the 'Rows' field well and your scrolling data in the 'Values' field well, and then making a few key formatting adjustments like turning off the stepped layout, you can easily create clean, user-friendly tables that keep crucial context in view.

Spending hours configuring visuals and wrestling with data layouts is a common part of building effective reports. At Graphed, we've focused on eliminating that friction. Instead of manually building reports click-by-click, our tool allows you to describe what you want to see - "Show me a report of sales by product and customer for this quarter" - using plain English. We instantly connect your data sources like Google Analytics, Salesforce, and Shopify, and then build the real-time dashboards you need in seconds, not hours. If you're looking to graduate from manual report building to instant, AI-powered insights, we encourage you to try Graphed for yourself.

Related Articles