Dax Function: COALESCE
Reviewed by Neetu Singla — Founder, Lets Viz Technologies — AI & Data Consultant. Last reviewed April 27, 2026.Category: Logical Functions
The COALESCE function in Power BI is a DAX function used to handle null or blank values by returning the first non-blank value from a list of inputs. It ensures data integrity by replacing blank or null values with predefined defaults or alternative values.
Purpose:
- Provides a way to deal with missing data in calculations.
- Ensures that expressions or calculations return meaningful values even when inputs are missing.
Type of Calculations:
- Handles null or blank values by substituting them with alternative values.
- Supports conditional logic to maintain data completeness.
Practical Use Cases:
- Data Cleaning: Replace null values in datasets with default values.
- Default Assignments: Provide fallback values when inputs are unavailable.
- Improved Aggregations: Ensure calculations like sums or averages don’t break due to missing data.
COALESCE(<expression1>, <expression2>, ..., <expressionn>)</expressionn></expression2></expression1>
| Parameter | Type | Description |
|---|
expression1 | Any scalar | The first expression or value to evaluate. |
expression2 | Any scalar | The second expression or value to evaluate if the first is blank or null. |
expressionN | Any scalar | Additional expressions or values to evaluate in order, until a non-blank value is found. |
How Does COALESCE Dax Function Works?
The COALESCE function evaluates each input expression in order. If the current expression is blank or null, it proceeds to the next. It stops at the first non-blank value and returns it. If all inputs are blank, it returns a blank.
Example:
For COALESCE(A, B, C):
- If
Ais not blank, it returnsA. - If
Ais blank, it checksB. IfBis not blank, it returnsB. - If both
AandBare blank, it checksC.
What Does It Return?
The function returns the first non-blank value from the list of provided expressions. If all expressions are blank, the result is blank.
When Should We Use It?
- Data Transformation: Replace null or blank values in a dataset.
- Fallback Mechanisms: Ensure calculations don’t fail by providing default values.
- Dynamic Defaults: Handle user inputs or dynamic values gracefully.
Examples
Basic Usage
Replace a blank value with a default value:
Result = COALESCE(Sales[Discount], 0)
Output: Returns the value of Sales[Discount] if not blank; otherwise, it returns 0.
Column Usage:
Handle missing values in a calculated column:
Adjusted Sales = COALESCE(Sales[Revenue], Sales[Estimated Revenue], 0)
Explanation: Returns Sales[Revenue] if available, or Sales[Estimated Revenue] if Sales[Revenue] is blank, and defaults to 0 if both are blank.
Advanced Usage
Combine with other DAX functions:
Sales Status = COALESCE(Sales[Actual Sales], AVERAGE(Sales[Predicted Sales]), 0)
Explanation: Replaces missing actual sales with the average of predicted sales or 0 if all values are blank.
Tips and Tricks
- Order Matters: Ensure that the most likely non-blank value appears first in the argument list to optimize performance.
- Use in Measures: Ideal for creating robust measures that handle incomplete data gracefully.
- Avoid Overloading: Limit the number of expressions to improve readability and maintain performance.
Performance Impact of COALESCE DAX Function:
- Efficient Evaluation: Stops at the first non-blank value, minimizing unnecessary calculations.
- Impact on Large Datasets: Optimize expression order for datasets with frequent blanks to improve query performance.
Related Functions You Might Need
- IF: Perform conditional checks for specific values.
- IFERROR: Handle errors in expressions by providing fallback values.
- ISBLANK: Check if a value is blank.
- SWITCH: Provide alternative values based on multiple conditions.
Want to Learn More?
For more information, check out the official Microsoft documentation for COALESCE. You can also experiment with this function in your Power BI reports to explore its capabilities.
If you’re looking to unlock the full potential of Power BI and take your data insights to the next level, our expert Power BI consulting services are here to help. Whether you need assistance with implementing advanced DAX functions like the ones discussed here, creating interactive dashboards, or optimizing your data models for better performance, our team of seasoned Power BI consultants is ready to provide tailored solutions for your business. Visit our Power BI Consulting Services page to learn more about how we can empower your organization with data-driven decisions.
It replaces blank or null values with the first non-blank value from a list of expressions.
Yes, you can provide multiple fallback expressions, and it evaluates them in order.
The function returns a blank value if all expressions are blank.
No, it is not case-sensitive and evaluates expressions as written.
Yes, it’s often used in calculated columns to handle missing or default values dynamically.
COALESCE vs IF(ISBLANK) vs IFERROR
| COALESCE | IF(ISBLANK) | IFERROR | |
|---|---|---|---|
| What it catches | BLANK / null | BLANK only | Any DAX error |
| Multiple fallbacks | ✓ up to 254 args | ✗ needs nesting | ✗ needs nesting |
| Short-circuits | ✓ | ✓ | ✓ |
| Handles errors | ✗ errors propagate | ✗ errors propagate | ✓ catches errors |
| Readability | High for multi-fallback | High for single check | High for error guard |
| When to use | Chain of fallback values, all same type | Single BLANK check with a simple fallback | Guard around expressions that may error |
Need Power BI help in a real engagement?
Our team writes DAX like this every day for SaaS finance and ops teams. Refresh monitoring, change requests with a 2-business-day SLA, and a named analyst on retainer — or scoped hourly help if you just need a fix.
Named analyst2-day SLAFrom $5K/mo
