How to Create Age Bins in Power BI

Cody Schneider••6 min read

Grouping customers by age is a fundamental step in understanding your audience, but getting it done in Power BI isn't always obvious. Manually categorizing thousands of customers is impossible, and finding the right formula can be tricky. This tutorial will walk you through a few straightforward methods to create age bins in Power BI, helping you transform raw data into powerful demographic insights.

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 Bother Creating Age Bins?

Before jumping into the "how," let's quickly cover the "why." Segmenting your customers into age groups is more than just a reporting exercise. It allows you to:

  • Target Marketing Campaigns: Different age groups respond to different messages, visuals, and platforms. An ad that resonates with Gen Z might not land with Baby Boomers. Creating age bins helps you tailor your message for maximum impact.
  • Analyze Product Performance: Do certain products appeal more to younger customers? Are older customers buying your high-margin items? Age segmentation can reveal purchasing patterns you might otherwise miss.
  • Improve Customer Experience: Understanding the age demographics of your user base can inform website design, user interface choices, and customer support strategies.

In short, turning a list of individual ages into clean, report-friendly groups like "18-24" or "35-44" unlocks a new level of strategic analysis.

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.

First Things First: You Need an Age Column

To create age bins, you first need an 'Age' column. Your data might already have this, but more often, you’ll have a column with each customer's date of birth. If you have a 'BirthDate' column, you first need to calculate each person's current age.

The easiest way to do this is with a simple DAX calculated column.

  1. Navigate to the Data view in Power BI (the icon that looks like a table on the left sidebar).
  2. Select the table that contains your customer's birthdate.
  3. Click on New Column in the "Table tools" toolbar at the top.
  4. In the formula bar that appears, paste in the following DAX formula. Be sure to replace 'YourTableName'[BirthDate] with the actual name of your table and birthdate column.

Age = DATEDIFF('YourTableName'[BirthDate], TODAY(), YEAR)

This formula calculates the difference between the birthdate and today's date, counted in full years. After pressing Enter, you'll have a new 'Age' column in your table, ready for binning.

Method 1: The Most Flexible Way with a DAX Calculated Column

DAX (Data Analysis Expressions) is Power BI's formula language. Using it to create a calculated column for your age bins provides the most control and flexibility. You can define the exact boundaries for each group.

For this, we'll use the SWITCH function, which is a cleaner and more readable way to handle multiple "if-then-else" conditions than using nested IF statements.

Step-by-Step Instructions

  1. Create Another New Column: Just like you did for the 'Age' column, go to the Data view, select your table, and click New Column.
  2. Enter the DAX Formula: This is where you define your age buckets. In the formula bar, paste the following DAX formula. Remember to replace 'YourTableName'[Age] with your actual table and age column name.

Age Group = SWITCH( TRUE(), 'YourTableName'[Age] < 18, "Under 18", 'YourTableName'[Age] <= 24, "18-24", 'YourTableName'[Age] <= 34, "25-34", 'YourTableName'[Age] <= 44, "35-44", 'YourTableName'[Age] <= 54, "45-54", 'YourTableName'[Age] <= 64, "55-64", "65+" )

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

How This Formula Works:

  • SWITCH(TRUE(), ...) tells Power BI to evaluate conditions sequentially and return the value for the first true condition.
  • 'YourTableName'[Age] < 18: If the age is less than 18, assign "Under 18".
  • 'YourTableName'[Age] <= 24: If age is 18 or over, but less than or equal to 24, assign "18-24."
  • Continues similarly for other ranges.
  • The final "65+" acts as an else condition if none of the above are true.

Customize Your Bins:

You can easily adjust the numbers and labels in this formula to fit your specific segmentation needs. Once you press Enter, a new "Age Group" column will be added, categorizing each customer accordingly.

Method 2: The Quick and Easy Way with the Grouping Feature

If you need some age bins for a quick, ad-hoc analysis and don't require specific custom ranges, Power BI's built-in grouping feature is a great option. This method creates groups of a uniform size automatically.

Step-by-Step Instructions

  1. Go to the Report View: Click on the icon that looks like a bar chart in the left sidebar.
  2. Find Your 'Age' Field: In the Data pane on the right, locate the 'Age' field.
  3. Create the Group: Right-click on the 'Age' field and select New group.
  4. Configure Your Bins:

After clicking OK, a new field appears (e.g., "Age (bins)") which you can rename and use in your visuals. This is fast but less flexible than defining custom ranges via formulas.

Method 3: A Powerful Option with Power Query

If you spend a lot of time cleaning and transforming data before it reaches your data model, creating age bins in Power Query might be better.

Adding the column here applies transformations during data refresh, which can be more efficient for large datasets.

Step-by-Step Instructions

  1. Open Power Query Editor: From the Home tab in Power BI Desktop, click Transform data.
  2. Select the 'Age' Column: Inside the editor, select your customer table, then click the 'Age' column header.
  3. Add a Conditional Column: Go to Add Column > Conditional Column.
  4. Define Your Rules:
  5. Close & Apply: Click OK, then close Power Query and choose Close & Apply. Your data now includes a static "Age Group" column.

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.

Putting Your Age Bins to Work

Now that you have your "Age Group" column, create visualizations:

  • Drag "Age Group" to the X-axis.
  • Drag a metric like "Total Revenue" or "Customer Count" to the Y-axis.
  • You'll visualize how metrics vary across age groups.

Pro Tip: Fixing the Sorting Order

By default, Power BI sorts "Age Group" alphabetically, which isn't ideal.

Create a new numeric column to specify sort order:

Age Group Sort Order = SWITCH( TRUE(), 'YourTableName'[Age] < 18, 1, 'YourTableName'[Age] <= 24, 2, 'YourTableName'[Age] <= 34, 3, 'YourTableName'[Age] <= 44, 4, 'YourTableName'[Age] <= 54, 5, 'YourTableName'[Age] <= 64, 6, 7 )

Then:

  1. Select your "Age Group" column.
  2. Go to Column tools > Sort by column.
  3. Choose "Age Group Sort Order".

Your charts will now sort age bins correctly.

Final Thoughts

Breaking your customers into age groups reveals deeper insights. Whether you prefer the flexibility of DAX, the speed of grouping, or Power Query's transformation power, Power BI offers several ways to do it.

While mastering tools like Power BI is valuable, the learning curve can slow you down. That's why we built Graphed — connecting sources like Google Analytics or CRM and asking for visualizations in plain language, so you get instant dashboards without complex setup.

Related Articles