What UNION does
Append rows from tables with matching columns. In Power BI, the key is not only the formula itself but how it behaves with slicers, relationships, visuals and totals.
Syntax or pattern
UNION(table1, table2, ...)5 practical business examples
UNION in a sales report
Create a table expression grouped by product.
All Customers = UNION(VALUES(OnlineCustomers[Email]), VALUES(StoreCustomers[Email]))Useful for calculated tables and advanced measures.
Add sales to customer list
Add a measure result to each customer row.
All Customers = UNION(VALUES(OnlineCustomers[Email]), VALUES(StoreCustomers[Email]))Good for analysis tables.
Select key columns
Create a narrow table for a calculation.
All Customers = UNION(VALUES(OnlineCustomers[Email]), VALUES(StoreCustomers[Email]))Use this to control table shape.
Top products table
Return only the highest selling products.
All Customers = UNION(VALUES(OnlineCustomers[Email]), VALUES(StoreCustomers[Email]))Useful in calculated tables and ranking patterns.
Compare missing products
Find products in one list but not another.
All Customers = UNION(VALUES(OnlineCustomers[Email]), VALUES(StoreCustomers[Email]))Useful for reconciliation checks.
Common mistakes to avoid
- Using UNION before checking whether the data model has the right relationships and filter direction.
- Writing one complex measure instead of creating simple base measures first.
- Testing only at the total level and not checking row, category and date contexts.
- Forgetting that slicers, visuals and relationships can all change the filter context.
FAQ
When should I use UNION in DAX?
Use UNION when the calculation pattern matches the business question and the result behaves correctly in the current filter context.
Why is my UNION measure returning the wrong total?
Most total issues come from row context, filter context, relationships, or using a column aggregation where an iterator or CALCULATE pattern is needed.
Can I use this UNION pattern in a calculated column?
Some patterns work in calculated columns, but most reporting calculations should be measures so they respond to slicers and report filters.