How to Freeze Panes in Power BI

Cody Schneider7 min read

If you're coming from the comfortable, grid-like world of Excel, one of the first things you'll miss in Power BI is the simple "Freeze Panes" button. Keeping those column headers and initial identifying columns locked in place while you scroll is essential for reviewing large datasets. This article will show you how to replicate that "freeze panes" functionality within your Power BI reports using the native 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 Can't You Just "Freeze Panes" in Power BI?

Unlike Excel, which is fundamentally a spreadsheet designed for endless rows and columns of static data, Power BI is an interactive data visualization tool. Its purpose is to summarize and display data through dynamic charts, graphs, and tables that viewers can filter and drill down into. The concept of a static "frozen" pane doesn't neatly fit into this interactive philosophy.

However, the Power BI team understands the need to keep context while scrolling through large tables of information. The solution isn’t a button on the ribbon, it’s built directly into a specific type of visual: the Matrix.

The Matrix visual is Power BI’s answer to an Excel pivot table and is the key to creating a scrollable table with locked headers and columns. It's designed to handle hierarchical data and provides the built-in functionality to keep row and column headers visible as you navigate.

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.

How to Freeze Panes with the Power BI Matrix Visual: A Step-by-Step Guide

Let's walk through building a report that mimics the classic "freeze panes" experience. For this example, we’ll use a simple sales dataset containing columns for Region, Sales Rep, Product Category, Order Date, and Total Revenue.

Step 1: Add a Matrix Visual to Your Report

First, you need to add the Matrix visual to your report canvas. It is the best choice for creating a report that feels and acts like a fixed-pane Excel spreadsheet.

  • Open your report in Power BI Desktop.
  • In the Visualizations pane on the right-hand side, find the icon that looks like a grid with subtotals. This is the Matrix visual. Click it to add it to your canvas.
  • Resize the new, empty visual to take up a significant portion of your screen so you have plenty of room to work.

Step 2: Add Your Data to the Rows, Columns, and Values Fields

Now, it's time to populate the Matrix. The key here is structuring your data fields correctly to achieve the scrollable effect you want. Think about which data you want to keep visible (your frozen columns and headers) and which data you want to scroll through.

  • For the Rows (the columns you want to "freeze" on the left): Drag the fields that identify each row into the Rows bucket in the Visualizations pane. In our example, we'll drag Region, then Sales Rep, and then Product Category into this bucket. Placing multiple fields here creates a hierarchy.
  • For the Columns (the headers you want to "freeze" at the top): Drag the time-based or categorical data you want to see spread out horizontally into the Columns bucket. We'll use our Order Date for this and select the Month level of the date hierarchy.
  • For the Values (the numbers that fill the grid): Drag your numerical measure into the Values bucket. For our report, this is the Total Revenue.

Once you’ve done this, you'll see a basic matrix on your canvas. If you scroll down, you'll immediately notice the top row with the months stays visible — this is the default behavior! You've already "frozen" your column headers.

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 3: Create a Classic Table Look by Disabling the Stepped Layout

By default, the Matrix visual displays row headers in a "stepped" or indented hierarchy. This is great for pivot tables, but it doesn't look like a standard, flat table where each identifier has its own column. Let's change that.

  • Select your Matrix visual.
  • In the Visualizations pane, click on the paintbrush icon to open the Format pane.
  • Expand the Row headers section.
  • Find the Stepped layout toggle and turn it off.

Instantly, your indented row structure will flatten out. Region, Sales Rep, and Product Category will each occupy their own columns on the left. Now, try scrolling to the right. You'll see that those initial columns stay locked and visible while the monthly data scrolls horizontally. You have successfully frozen your panes!

You may also see plus/minus icons (+) that let you drill up and down the hierarchy. You can turn these off in the same Row headers formatting section if you want a cleaner look.

Fine-Tuning Your Frozen Pane Report

Now that you have the core functionality, you can use the formatting options to get your Matrix looking exactly how you want.

  • Adjust Column Widths: Hover over the column header dividers until your cursor changes, then click and drag to resize your columns, just like in Excel.
  • Formatting Subtotals: Under the Format your visual tab, you can explore the Row subtotals and Column subtotals sections to customize or disable them entirely.
  • Style and Values: Dive into the Style presets dropdown to apply a pre-built theme (like 'Minimal' or 'Bold headers'). You can also go into the Values section to change the font size, color, and alignment of the data inside your matrix.

Alternative Method: Using Two Synchronized Visuals

In some rare and complex cases, the Matrix visual might not give you the exact control you need. A more advanced trick is to place two visuals side-by-side and make them scroll together.

This works by creating one tall, narrow table containing only the identifying columns you want to freeze (e.g., Region, Sales Repx). Then, you place a wider, scrollable matrix next to it containing all the value columns (e.g., Monthly Revenue). The trick is to ensure both visuals respond to the same filters and slicers on the page.

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.

When to use this method:

  • You need radically different formatting on the "frozen" columns versus the scrollable data columns.
  • You are working with a very large number of measures and find performance is better when they are in a separate visual.

How to set it up:

  1. Create a Table visual on the left side of your report. Add only your identifying columns to it (e.g., Region and Sales Repx).
  2. Create a Matrix visual to the right of the table. Add the same identifying columns to the Rows bucket and your measures to the Values bucket.
  3. Carefully align both visuals so their rows match up perfectly. You may need to disable headers and totals on one or both visuals to get them flush.
  4. Now, when you apply a filter to the page, both visuals will update in sync. A user will need to use two separate scroll bars (one for the page and one for the horizontal matrix), which can be a bit clumsy but offers maximum design control.

This approach lacks the seamless elegance of the single Matrix visual but serves as a powerful workaround for specific reporting challenges.

Final Thoughts

While Power BI doesn't have a direct "Freeze Panes" button, you can achieve the same outcome by using the flexible and powerful Matrix visual. By disabling the default stepped layout, you can easily create large, scrollable tables that keep critical row and column headers locked in place for clear, easy-to-read reports.

Mastering these smaller "quality of life" features in Power BI is rewarding, but sometimes you just need to get straight to the insights. Trying to remember which formatting toggle is in which pane can slow down your creative flow. Instead, we built Graphed to remove that friction. You can simply connect your data and ask things like, "Show me monthly revenue by sales rep and region," and instantly get an interactive, scrollable report built for you. It allows you to skip straight to the analysis instead of getting bogged down in the manual setup.

Related Articles