What Does the Summarize Function Do in Power BI?

Cody Schneider7 min read

Grouping and summarizing your data is the foundation of almost every report. Whether you're using Power BI, Excel, or Google Sheets, the goal is often the same: turn thousands of raw data rows into a clean, concise table that shows you total sales by region, website sessions by traffic source, or leads per marketing campaign. In Power BI, one of the most powerful tools for this job is the SUMMARIZE function.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

This article will break down what the SUMMARIZE function does, how to use its syntax, and walk through several practical examples to show you how to start using it in your own reports. We’ll also cover a few common use cases and tips to help you get the most out of it.

What is the SUMMARIZE Function, Anyway?

In simple terms, the SUMMARIZE function in DAX (the language of Power BI) creates a summary table of your data. Think of it like a PivotTable creator that works behind the scenes. Its main job is to group your data by one or more columns you specify and then perform calculations (like sum, count, or average) for each of those groups.

For example, if you have a massive table with every single sale your company has made, you could use SUMMARIZE to generate a new, much smaller table that shows only the total sales revenue for each product category.

The most important thing to remember is that SUMMARIZE returns a table, not a single value. This makes it incredibly versatile, as you can use the tables it generates as building blocks for other formulas, visualizations, or new tables in your data model.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Understanding the SUMMARIZE Syntax

Before we jump into examples, let's look at the basic structure of the function. At first glance, it might seem a bit intimidating, but it becomes much clearer once you understand what each component does.

SUMMARIZE( <,table>, <,groupBy_columnName>[, <,groupBy_columnName>,...], "<,newColumnName>", <,expression>[, "<,newColumnName>", <,expression>,...] )

Let's break that down piece by piece:

  • <,table>: This is simply the source table you want to summarize. For example, 'Sales', 'MarketingData', or 'WebTraffic'.
  • <,groupBy_columnName>: These are the columns you want to group your data by. You must list at least one, but you can add as many as you need (e.g., Sales[Country], Sales[Product Category]).
  • "<,newColumnName>": This is the name you give to your new calculated column, enclosed in double quotes. For example, "Total Sales" or "Lead Count".
  • <,expression>: This is the calculation you want to perform for each group. This is where you put aggregation functions like SUM(), COUNT(), AVERAGE(), etc.

You can add multiple pairs of new column names and expressions to calculate several different metrics at once.

A Simple Example: Total Sales by Product Category

The best way to learn is by doing. Let's imagine we have a data table named 'Sales' that contains the following columns: Product Category, Country, Revenue, and Transaction ID.

Our goal is to create a simple summary table showing the total sales revenue for each product category. Here is the DAX formula we would use:

Category Sales = SUMMARIZE( Sales, Sales[Product Category], "Total Revenue", SUM(Sales[Revenue]) )

Let’s walk through what’s happening here:

  1. SUMMARIZE(Sales,...): We’re telling Power BI to start summarizing our 'Sales' table.
  2. Sales[Product Category],: We want to group all the rows based on the value in the 'Product Category' column. So, all "Electronics" rows will be in one group, "Apparel" in another, and so on.
  3. "Total Revenue", SUM(Sales[Revenue]): For each of those groups, we want to create a new column called "Total Revenue." The value in this column will be the sum of the Revenue for all rows within that group.

When you run this (for example, by creating a new table in the Modeling tab), Power BI generates a new, two-column table that might look something like this:

In just one line of DAX, you’ve distilled potentially millions of transaction rows into a clean, easy-to-understand summary.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Grouping by Multiple Columns

What if you need more detail? Let’s say you want to see the total sales not just by category, but by category and country. You can easily do this by adding another groupBy_columnName to the function.

Here’s the updated DAX formula:

Category and Country Sales = SUMMARIZE( Sales, Sales[Product Category], Sales[Country], "Total Revenue", SUM(Sales[Revenue]) )

The only change is that we've added Sales[Country] after Sales[Product Category]. Now, Power BI will create groups for every unique combination of category and country. The resulting table would look more like this:

This demonstrates how you can quickly create granular summaries by simply adding more columns to group by.

Adding Multiple Aggregations

Just as you can group by multiple columns, you can also calculate multiple metrics for each group. Let's continue with our previous example, but this time, in addition to total revenue, we also want to count the number of transactions.

We just need to add another pair of <,newColumnName> and <,expression> at the end of our formula:

Detailed Sales Summary = SUMMARIZE( Sales, Sales[Product Category], Sales[Country], "Total Revenue", SUM(Sales[Revenue]), "Transaction Count", COUNT(Sales[Transaction ID]) )

Now, our resulting table will have a fourth column, "Transaction Count," which shows the number of individual sales that make up the "Total Revenue" for each group.

Common Use Cases and Practical Tips

While creating standalone tables is the most direct use of SUMMARIZE, its real power often lies in a few other applications.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Creating Virtual Tables Inside Measures

Sometimes, you don't actually need a physical new table in your model. Instead, you might want to use a summarized table as an intermediate step within a more complex measure. SUMMARIZE is perfect for this.

For example, if you wanted to find the average of your category sales totals, you couldn't just use AVERAGE(Sales[Revenue]), as that would give you the average of all individual transactions. Instead, you first need to calculate the total for each category and then find the average of those totals.

You can do this by wrapping SUMMARIZE inside of a function like AVERAGEX:

Average Category Sales = AVERAGEX( SUMMARIZE( Sales, Sales[Product Category], "Total Revenue", SUM(Sales[Revenue]) ), [Total Revenue] )

Here, SUMMARIZE generates a virtual table of category totals, and then AVERAGEX iterates over that small table to calculate the final average. This is an advanced-but-powerful technique for creating sophisticated calculations.

Common Mistakes to Avoid

Like any DAX function, there are a few potential snags to be aware of:

  • Performance Issues: On extremely large datasets (millions upon millions of rows), SUMMARIZE can sometimes be slow. For performance-critical scenarios, many DAX experts recommend using SUMMARIZECOLUMNS or GROUPBY, which are often more efficient. For most everyday analytics, however, SUMMARIZE works perfectly well.
  • Unintended Columns: An old and slightly confusing feature of SUMMARIZE is that it could sometimes add columns you didn't ask for. Modern versions of Power BI handle this better, but it's another reason experts often lean towards SUMMARIZECOLUMNS for cleaner, more predictable results.
  • Filter Context Complications: One of the trickiest parts of DAX is "filter context." If you create a physical table with SUMMARIZE, that table is static - it won't be affected by slicers or filters in your report. To make it dynamic, you need to use SUMMARIZE inside a measure, where it will respect the active filters.

Final Thoughts

The SUMMARIZE function is a valuable tool for anyone working in Power BI. By allowing you to group and aggregate data on the fly, it serves as the engine for creating the clean, readable summary tables needed to build insightful reports and complex measures. While it has its complexities, mastering its basic functionality is a big step toward becoming more proficient with DAX.

Learning the intricacies of languages like DAX is powerful, but it's a perfect example of the steep learning curve required for traditional business intelligence tools. That difficulty is why we built Graphed. Instead of writing formulas to group your data, you can simply ask in plain English: "Show me a chart of total revenue by product category and country." We connect directly to your data sources like Google Analytics, Shopify, or Salesforce and instantly build the dashboards for you, without needing a single line of code.

Related Articles

How to Enable Data Analysis in Excel

Enable Excel's hidden data analysis tools with our step-by-step guide. Uncover trends, make forecasts, and turn raw numbers into actionable insights today!