logo
For Power BI
  • Products
    • Drill Down Donut Pro Drill Down Donut PRO
    • Drill Down Pie Pro Drill Down Pie PRO
    • Drill TimeSeries Pro Drill Down TimeSeries PRO
    • Drill Combo Pro Drill Down Combo PRO
    • Drill Map Pro Drill Down Map PRO
    • Drill Scatter Pro Drill Down Scatter PRO
    • Drill Down Network Pro Drill Down Network PRO
    • Drill Down Waterfall Pro Drill Down Waterfall PRO
    • Drill Down Graph Pro Drill Down Graph PRO
    • Drill Down Timeline Pro Drill Down Timeline PRO
    • Drill Down Combo Bar PRO Drill Down Combo Bar PRO
    • Drill Down Line PRO Drill Down Line PRO

    Video tutorials

    Watch Now

    More than 90 videos on how to enhance Power BI with ZoomCharts

    Learn more
    All visuals
  • Resources

      Resources

    • Documentation
    • Report Examples
    • Blog
    • Webinars
    • Video Tutorials
    • Visuals Gallery

    Support

    • ZoomCharts Assistance
    • Contact Sales
    • Contact Support
    • FAQ

    Challenges

    Challenges

    Improve your report creation skills by participating in free challenges for report creators.

    Learn more
    Start trial
  • Services
    • Power BI Report Development
    • Custom Visual Development
  • Challenges
  • Pricing
Request a quote Start Free Book a Demo Sign in
Request a quote Start Free Book a Demo Sign in
Get it now
Go back

Contents

Go back

Jul 31, 2025

12 Essential Power BI DAX Formulas Every Report Creator Should Master

These are twelve DAX formulas that every Power BI report creator must know to create better reports - with examples, use cases and tips. 

Title image
Title image

These are twelve DAX formulas that every Power BI report creator must know to create better reports - with examples, use cases and tips. 

Contents

Share this article

There are two kinds of Power BI data analysts – those who can get insights from incomplete datasets, and…

DAX is the secret sauce that makes Power BI probably the best business intelligence platform in the world. Think Excel formulas, but way more powerful and at a larger scale. By mastering DAX, you will be able to:

  • perform advanced calculations and summaries,
  • organize and modify your data efficiently,
  • insert additional data,
  • and deliver more focused and valuable insights to your users.

This article is intended for aspiring Power BI report creators, and we will list, explain and visualize twelve must-know DAX expressions that will serve as a solid foundation for your journey into the world of Power BI. If you want to learn even more about DAX in Power BI, we recommend checking out the following resources:

  • dax.guide: A detailed reference of all DAX functions and operators with syntax and examples.
  • Microsoft Learn DAX Reference: Official documentation for DAX in Power BI.
  • 27 Best Power BI Training Resources: List of guides, websites, online courses and YouTube channels for learning Power BI, recommended by ZoomCharts.

Top 12 Essential DAX Formulas

CALCULATE: The Brain of DAX

CALCULATE([expression], [filter1], [filter2])

What it does:

CALCULATE changes the context of a calculation. Think of it as saying “Do this, but only for specific data.” It will evaluate your expression (like SUM, DIVIDE, etc.) but within a new condition.

Example:

Your report is showing global sales, but you need to limit this data to just one region – Europe. To achieve this, the CALCULATE expression will calculate the sum from ‘Sales[Amount]’ column, but only for rows where ‘Sales[Region]’ is Europe. 

CALCULATE measure example in Power BI DAX

Use cases:

  • Region-specific KPIs
  • Time-based data (e.g. "2025" or "last 30 days")
  • Time intelligence (e.g. "parallel period last year" to compare current vs. past data)
  • Customer segmentation (e.g. "VIP Clients", "New Users", etc.)

SUMX: Add Calculated Values Across Rows

SUMX([table], [expression])

What it does:

Whereas SUM will calculate the total value of a single column, SUMX will go row by row to calculate values from one or multiple columns using your expression, and then add them all up. 

Example:

You want to find out the total sales amount, but your data has only ‘Sales[Quantity]’ and ‘Sales[Unit Price]’ columns. Here, we multiplied sale quantity with unit price to determine the sales income for each row, and SUMX will then add them all up to get the total sales amount for the column.

SUMX example in Power BI DAX

Use cases:

  • Calculate totals between multiple columns (e.g. sales revenue per different product lines)
  • Determine profit [revenue minus expenses]
  • Use with ALL to see totals, even on filtered tables
  • Apply varying taxes [sales price + (sales price * column with tax rates) = final price with tax]

ALL: Ignore Filters

ALL([table])

What it does:

When you need to always get the total column value, putting ALL in the expression will ensure that filters or slicers are ignored and your measure returns the grand total across all rows within the column.

Example: 

In this CALCULATE expression, ALL ensures that you see the total sales amount globally, even if the user applies a filter to a specific region or product. Useful if you want to show it as a KPI card or use it in another expression that must have the global value. 

DAX measure with ALL example in Power BI

Use cases:

  • Calculate % of total
  • Show baseline figures
  • Normalize values across categories

DIVIDE: Safe Division Between Two Values

DIVIDE([numerator], [denominator], [fallback value])

What it does:

It does literally what it says on the tin – divides one number with another. But, to prevent errors in cases where the denominator is zero, NaN, or missing, there is also a fallback value that will be returned instead of a divide-by-zero error.

Example:

You are calculating Average Order Value by dividing Sales[Amount] by Sales[Quantity]. However, if a row has no sales, then instead of breaking the visual (since you can’t divide revenue by zero orders), the visual will return your provided fallback value. 

Here, we used “No Data” as the fallback value instead of 0. In this scenario, 0 would mean no revenue at all; and if there is sales revenue but no units sold, it would imply that you received money without selling any product – bad news for the accounting department. Whereas “No Data” calls attention to the fact that there is missing data for this row.

DIVIDE example in Power BI DAX

Use cases:

  • KPI completion percentages
  • Conversion rates
  • Metrics like Customer Acquisition Cost, ARPU etc. (read more in this article)

ADDCOLUMNS: Add New Columns to a Table

ADDCOLUMNS([table], "new column name1", [expression 1], "new column name2", [expression 2], ...)

What it does:

This function will add new calculated columns to your existing table. You can provide a name for the new column and enter an expression which will be used to fill in the values – such as the ones described above or many more.

Unlike measures, which are usually used to perform on-the-fly calculations and visualize quick insights, calculated columns go on a row-by-row basis and will be a permanent, fully-fledged part of the table.

Example:

Your Sales table has Sales[Cost] column with unit costs, and Sales[Amount] with sales revenue. You want to show profit for each sale – so with ADDCOLUMNS, the new column “Profit" will subtract Cost from Amount.

ADDCOLUMNS(Sales, "Profit", Sales[Amount] - Sales[Cost])

Use cases:

  • Extract new insights from your data
  • Add new calculated columns to tables without affecting existing data

SELECTCOLUMNS: Create a New Table with Just the Fields You Want

SELECTCOLUMNS([existing table], "new column name1", [expression1], "new column name2", [expression 2], ...)

What it does:

SELECTCOLUMN works similarly to the previously described ADDCOLUMNS, but instead of adding new columns to an existing table, it will create a brand-new table. It will contain just your selected columns – copied as-is or with applying your provided expressions. 

Example:

Our ‘Sales’ table has many columns we don’t need, and we want to reduce it to just two: Customer ID and Amount. SELECTCOLUMNS will do just that. 

Power BI SELECTCOLUMN example in DAX

Use cases:

  • Simplify data and optimize queries
  • Transform or modify data without affecting the original table
  • Create lookup/reference tables
  • Control user access and omit unnecessary data

SUMMARIZE: Create New, Summarized Tables

SUMMARIZE([table], [category column], "new summary column name", [expression])

What it does:

This one is crucial for simplifying your data model, reducing the query sizes and improving report performance. SUMMARIZE will group your data using one or more category columns (e.g. “Region”, “Segment”, “Datetime” etc.) and create a new table which has only summarized values, instead of referencing the entire table. If you have used pivot tables in Excel, this will be very familiar.

Example:

In our fact table, we have a row for every single purchase. We don’t need that; we just want a summarized table that shows the average product sale price per each country so we can improve the pricing strategy for each market.

So, the new table will have a row for each country name in the Sales[Country] column, and it will take all rows for each country and divide their total ‘Amount’ with ‘Quantity’. The expression in our example uses the previously discussed DIVIDE, but you can use other expressions in its stead to achieve your desired results.

Power BI DAX SUMMARIZE example to create a summarized table

Use cases:

  • Simplifying data & optimizing queries
  • Visualizing category-based insights (e.g. total revenue per country or sold units per brand)

FILTER: Keep Only Rows You Want

FILTER([table], [condition])

What it does:

You have a table of all data, and you need to quickly create a filtered table that has only rows that match a specific condition. The new table will keep rows where your condition is true (like numeric values or matching text) and omit those where it is false.

Example:

One way to use FILTER is by matching text strings using the “=” operator; for example, Sales[Country] = “United States” to see only sales made in the USA. Or you can use a numerical column for the condition – here, we wanted to create a table with only high-paying customers, so FILTER kept only rows where ‘Amount’ exceeded 500$. All columns from the original table were copied to the new one, but only for rows that matched our condition.

Power BI DAX example: FILTER to create a new filtered table

Use cases:

  • Filtering data by a value condition (e.g. high-paying customers, risk groups, etc.)
  • Filtering data to a category (e.g. region, country, brand, demographic group etc.)
  • Filtering data to a specific time period

RELATED: Pull Data from Linked Tables

RELATED(table[column])

What it does: 

If your data model has relationships between multiple tables, you will most likely run into scenarios where you want to reference a column from a different table. RELATED will fetch a value from a related table into the current one based on the relationship.

Example:

Let's return back to FILTER that we previously discussed: you can use RELATED in cases where you need to use data from another table in your filter. For example, you are storing data about customers – region, country, name, etc. – in a different dimension table, and you want to use that data to filter your fact table of all your sales (e.g. create a table with only sales in Asia).

Power BI DAX RELATED example - use different table in an expression

Use cases:

  • Enrich fact tables with dimension data
  • Display additional details for more insights (e.g. Tooltip Fields, etc.)
  • Use in other expressions like FILTER, SELECTCOLUMNS, or CALCULATE

IF: Do "This" or "That"

IF([condition], [outcome if true], [outcome if false])

What it does:

‘If’ statements are the cornerstone of almost any programming language, and DAX is no exception. It will check the value against your defined condition and give one result if the condition is met, and another result if it’s not.

Example:

You want to tag each sale as ‘High’ or ‘Low’ based on its value – if it is above $250, then it is high, but if it is below that, it is low. IF will check each value and return the correct label. The expression consists of the condition, output when the condition is met, and output if it is not met.

Power BI DAX example - IF

Use cases:

  • Labels, tooltip fields, simple alerts etc.
  • Visualizing as gauge or pie chart categories (e.g. how many % of all sales are above $250)
  • Conditional formatting (e.g. “green”, “red” based on condition)

SWITCH: Multi-Condition “IF” 

SWITCH([expression], [condition1], [outcome 1], [condition 2], [outcome2], ..., [else outcome])

What it does:

When you want to have multiple conditions, you don’t need to create additional IF expressions for each. SWITCH allows you to stack multiple conditions and outputs in one expression. Basically, if the condition 1 is met, do one thing, otherwise check if the condition 2 is met and do another thing; and for the rest of values, do something else.  

Example:

In the previous example with IF, we could only categorize sales in two categories – high and low. But with SWITCH, we can add more tiers – now, values above $500 will return “Very High”, anything between 251 and 500 is “High”, deals between 101 and 250 are “Medium”, and everything else is “Low”. 

Power BI DAX Example - Switch to assign data into buckets

The latter example used ‘more-than’ (>) symbol, but you can use other operators as well. For example, with ‘equal to’ (=) operator, SWITCH can also be used to find exactly matching rows and apply the condition only to them.

Use cases:

  • Bucketing (pricing tiers, risk groups, performance levels)
  • Labels, tooltip fields
  • Conditional formatting (based on numeric or text values)

RANKX: Rank Items by Value

RANKX([column], [expression])

What it does:

RANKX assigns a rank to each row based on the value of a given measure. It will go through all rows in the column and return a number starting from 1 (largest value). 

Example:

You want to know which countries have the most total sales. RANKX will go through each country in the Sales[Country] column and assign a rank number based on Sales[Total Sales] column values, so you can sort them to see a leaderboard of your best-performing markets.

Power BI RANK DAX example: quickly assign ranks based on value

One way to use this is to create custom rank-based sorting order for visualizations. While most column or bar chart visuals already sort columns by default based on series values, RANKX could be used in cases where you want to use other metrics for sorting or use a measure that combines multiple values. You can then add the new measure to one of the 25 ‘Series’ fields in Combo PRO and select it for sorting purposes (and hide it from the chart if you want).

Use cases:

  • Visualize leaderboards, show rank in tooltip fields
  • Sort table rows, determine column chart order
  • Use as filter (e.g. show only Top 10 or bottom 10)

Final Thoughts

These twelve essential DAX formulas are a great starting point for Power BI report creators, and with these, you can start building reports that deliver more insights than the ones present in the dataset. You can filter data based on context, perform calculations across multiple columns or even tables for new metrics, and automate bucketing or labelling. 

Of course, to let your measures, calculated columns or filters truly shine, you need advanced visuals for your reports – and with Drill Down Visuals by ZoomCharts, you can use seamless cross-filtering, multiple drill down levels and endless customization options to create the most insightful and intuitive reports.

Power BI interactive report with ZoomCharts visuals

FAQ

What is DAX in Power BI?

DAX is the language that is used to perform calculations and transform data in Power BI.

What is the difference between DAX measures and calculated columns?

While both are similar and can use DAX expressions to perform calculations, measures return values on-demand (i.e., when a visual requests them) whereas calculated columns exist as part of the table and are calculated on report load.

How to create a DAX measure in Power BI?

To create a new DAX measure, press the New Measure button in the Home tab of Power BI Desktop’s top ribbon. You will be able to enter your desired DAX expression and create a measure. Another way to do that is by right-clicking in the Data pane on the right side and selecting New Measure (or New Column if you want a calculated column instead).

How to create a new DAX measure in Power BI Desktop

How to calculate percentage in Power BI with DAX?

For this, you can use DIVIDE –provide the first column as numerator and the second column as denominator, and the division between will be returned as a decimal (e.g. 150 / 200 = 0.75). In the top ribbon, set the format to Percentage, and 0.75 will be converted to 75%.

Power BI Calculate Percentage with DAX measure

 

envelope icon

Want more info like this?

Subscribe to our newsletter and be the first to read our latest articles and expert data visualization tips!


Find out more

Jul 31, 2025

Blog Thumbnail
Guides

12 Essential Power BI DAX Formulas Every Report Creator Should Master

These are twelve DAX formulas that every Power BI report creator must know to create better reports - with examples, use cases and tips. 

Jul 15, 2025

Blog Thumbnail
Product updates

July 2025 Update: Tooltip Fields for Map Shapes

The latest ZoomCharts update brings a new field to Map and Shape Map visuals, which allows you to display columns or measures in shape tooltips for additional insights.

Jul 08, 2025

Blog Thumbnail
Guides

Power BI Reference Lines, Areas, Change Indicators: ZoomCharts Thresholds Explained

Constant or dynamic reference lines, shaded areas, change indicators – these visual aids are important tools to provide context and clarity to your reports. 

Jun 26, 2025

Blog Thumbnail
Guides

How to Add a Slicer in Power BI: Standard vs ZoomCharts Approach

Power BI is a powerful tool for visualizing data, but how you interact with that data can make all the difference. One of the most fundamental ways to control what data you see is by using a slicer. In this article, we’ll walk through how to add a slicer in Power BI using the standard method and compare it with the more dynamic ZoomCharts visuals, which take data exploration to the next level.

Jun 18, 2025

Blog Thumbnail
Product updates

NEW VISUAL: Drill Down Line PRO for Power BI

Say hello to Line PRO, the latest addition to the ZoomCharts family of custom visuals for Power BI! It takes the best ZoomCharts features – interactivity, customization and user experience – and delivers a focused and streamlined solution for Power BI users who are looking to take their line charts to the next level.

Jun 03, 2025

Blog Thumbnail
Guides

Power BI Stacked Column Charts: A Full Guide

This guide shows how to create stacked column / bar charts in Power BI and explores various ZoomCharts features for even more advanced data visualizations.
  • 1
  • 2
  • 3
  • 4
  • 5
  • ...
  • 12
  • »

Contents

Share this article

Want more info like this?

Subscribe to our newsletter and be the first to read our latest articles and expert data visualization tips!


Thank you!

Check your inbox to verify your email address.

logo
[email protected]
+44 204 577 3993
logo

Products

Drill Down Network PRO Drill Down Waterfall PRO Drill Down Graph PRO Drill Down Combo PRO Drill Down Combo Bar PRO Drill Down Donut PRO Drill Down Pie PRO Drill Down TimeSeries PRO Drill Down Timeline PRO Drill Down Map PRO Drill Down Scatter PRO All Visuals

Resources

Report Examples Webinars Blog ZoomCharts Academy Visuals Gallery Documentation Custom Visual Development Subscribe to News

Solutions

Custom Visual Development

Company

Pricing About Us Partners Leave feedback Join PowerGroup EU Funding

Help

ZoomCharts Assistance Contact Sales Contact Support FAQ

Drill Down Network PRO Drill Down Waterfall PRO Drill Down Graph PRO Drill Down Combo PRO Drill Down Combo Bar PRO Drill Down Donut PRO Drill Down Pie PRO Drill Down TimeSeries PRO Drill Down Timeline PRO Drill Down Map PRO Drill Down Scatter PRO All Visuals

Report Examples Webinars Blog ZoomCharts Academy Visuals Gallery Documentation Custom Visual Development Subscribe to News

Custom Visual Development

Pricing About Us Partners Leave feedback Join PowerGroup EU Funding

ZoomCharts Assistance Contact Sales Contact Support FAQ
+44 204 577 3993
[email protected]

Ready to get in touch?

Contact our experts with any question about Power BI and ZoomCharts for Free!

Contact us

© 2025, Data Visualization Software Lab

U.S. Patents No. 11,645,343; 11,921,804; 12,346,389

Cookies Policy
Manage cookies
Privacy Policy
Global
EULA
Patent
warning

Error message

success

Success info: Done!

ZoomCharts AI Assistant

We noticed you're using an old OS version.

For the best experience, we recommend upgrading to ensure that all website features display correctly.

Cookie settings

We use necessary cookies for site functionality, as well as statistic, marketing, and preference cookies to enhance your experience. For more information and to manage your preferences, please visit our Cookie policy