Understanding PRODUCT and PRODUCTX in DAX
1. PRODUCT Function
- Returns the product of all numeric values in a column.
- Ignores blanks and non-numeric values.
Example: Total Sales Multiplication
We want to calculate the product of all values in the Sales column.
Dataset:
| Order ID | Sales |
|---|---|
| 1 | 100 |
| 2 | 200 |
| 3 | 50 |
DAX Formula:
Total Sales Product = PRODUCT('Orders'[Sales])
Calculation:
- ( 100 \times 200 \times 50 = 1,000,000 )
Result:
1,000,000
Edge Cases:
- Blanks:
If there are blank rows, they are ignored: Order ID Sales 1 100 2 BLANK 3 50 Result: ( 100 \times 50 = 5,000 ). - Zero:
If any row contains0, the result will be0: Order ID Sales 1 100 2 0 3 50 Result: ( 100 \times 0 \times 50 = 0 ).
2. PRODUCTX Function
- Returns the product of an expression evaluated for each row in a table.
- Can handle complex calculations for each row.
Example: Product of Profit Values
We want to calculate the product of profit for each order, where profit is calculated as Sales - Discount.
Dataset:
| Order ID | Sales | Discount |
|---|---|---|
| 1 | 100 | 10 |
| 2 | 200 | 20 |
| 3 | 50 | 5 |
DAX Formula:
Total Profit Product =
PRODUCTX(
'Orders',
'Orders'[Sales] - 'Orders'[Discount]
)
Row-Wise Calculation:
| Order ID | Profit (Sales – Discount) |
|---|---|
| 1 | 100 – 10 = 90 |
| 2 | 200 – 20 = 180 |
| 3 | 50 – 5 = 45 |
Calculation:
- ( 90 \times 180 \times 45 = 729,000 )
Result:
729,000
Edge Cases:
- Blanks or Missing Values:
If any row has blank values in the calculation: Order ID Sales Discount 1 100 10 2 BLANK 20 3 50 5 Result: Only rows with valid numeric results are included. In this case:
- ( 90 \times 45 = 4,050 )
- Zero Values:
If any row evaluates to0: Order ID Sales Discount 1 100 100 2 200 20 3 50 5 Result: ( 0 \times 180 \times 45 = 0 ).
Comparison of Functions
| Function | Purpose | Handles | Example Use Case |
|---|---|---|---|
PRODUCT | Multiplies all values in a column. | Ignores blanks, includes zeros. | Calculate the total sales product. |
PRODUCTX | Multiplies the result of a row-wise calculation. | Evaluates a complex expression. | Calculate the total profit product. |
Combined Example (Superstore Dataset)
Dataset:
| Order ID | Sales | Discount | Cost |
|---|---|---|---|
| 1 | 100 | 10 | 80 |
| 2 | 200 | 20 | 150 |
| 3 | 50 | 5 | 40 |
DAX Measures:
- Product of Sales:
Product of Sales = PRODUCT('Orders'[Sales])
Result: ( 100 \times 200 \times 50 = 1,000,000 ).
- Product of Profit:
Product of Profit =
PRODUCTX(
'Orders',
'Orders'[Sales] - 'Orders'[Discount] - 'Orders'[Cost]
)
Profit Calculation:
- ( (100 – 10 – 80) = 10 )
- ( (200 – 20 – 150) = 30 )
- ( (50 – 5 – 40) = 5 ) Result:
- ( 10 \times 30 \times 5 = 1,500 ).
These examples illustrate how PRODUCT and PRODUCTX can be used to perform both simple and complex multiplicative calculations on your data in Power BI.

Ankit Srivastava is an IT trainer, technology educator, and digital skills mentor with expertise in programming, data analytics, AI, and software development. He has successfully trained thousands of learners, with more than 10,000 student enrollments on Udemy. His practical teaching approach empowers students and professionals to build in-demand technical skills. Colorstech channel where Ankit posts video tutorials has more than 8000 Subscribers.