This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
I'm trying to do a SUMX in power BI to replicate a SUMPRODUCT calculation in excel.
1. Need to multiply "value" from 2025 to "value2" from 2026 for each "metric" except TOTAL, then sum all of those together
2. Divide by the "TOTAL" "2025" "value"
3. Calculation should equal 814
| metric | date_type | date_value | date_year | date_mnth | value | value2 |
| Silver | YTD | 2026 | 2026 | 1 | 25177 | 687.7883 |
| Gold | YTD | 2026 | 2026 | 1 | 36978 | 933.6245 |
| Bronze | YTD | 2026 | 2026 | 1 | 9760 | 584.8406 |
| Platinum | YTD | 2026 | 2026 | 1 | 5867 | 948.8928 |
| TOTAL | YTD | 2026 | 2026 | 1 | 77782 | 811.4372 |
| Gold | YTD | 2025 | 2025 | 1 | 42170 | 788.2152 |
| TOTAL | YTD | 2025 | 2025 | 1 | 88108 | 739.1471 |
| Silver | YTD | 2025 | 2025 | 1 | 28056 | 695.0274 |
| Bronze | YTD | 2025 | 2025 | 1 | 10721 | 535.6867 |
| Platinum | YTD | 2025 | 2025 | 1 | 7161 | 927.6576 |
pls try this will work quickly
final =
VAR BaseTable =
FILTER(
VALUES(DATA[metric]),
DATA[metric] <> "total"
)
RETURN
DIVIDE(
SUMX(
BaseTable,
CALCULATE(
SUM(DATA[value]),
DATA[date_year] = 2025
)
*
CALCULATE(
SUM(DATA[value2]),
DATA[date_year] = 2026
)
),
CALCULATE(
SUM(DATA[value]),
DATA[date_year] = 2025,
DATA[metric] = "Total"
)
)
Please try the measure below:
SUMPRODUCT Result =
VAR _2025Rows =
CALCULATETABLE (
ADDCOLUMNS (
SUMMARIZE (
FactTable,
FactTable[metric]
),
"Val2025",
CALCULATE ( MAX ( FactTable[value] ) )
),
FactTable[date_year] = 2025,
FactTable[metric] <> "TOTAL",
ALL ( FactTable )
)
VAR _Total2025 =
CALCULATE (
MAX ( FactTable[value] ),
FactTable[metric] = "TOTAL",
FactTable[date_year] = 2025,
ALL ( FactTable )
)
VAR _WithVal2026 =
ADDCOLUMNS (
_2025Rows,
"Val2026",
CALCULATE (
MAX ( FactTable[value2] ),
TREATAS ( { [metric] }, FactTable[metric] ),
FactTable[date_year] = 2026,
ALL ( FactTable )
)
)
VAR _Result =
SUMX ( _WithVal2026, [Val2025] * [Val2026] )
RETURN
DIVIDE ( _Result, _Total2025 )
Hi,
Please share the download link of the MS Excel file with your SUMPRODUCT() formula already written there. I will convert that logic into DAX measures.
result should be 814 not 10.1% sorry for the mistake.
I am not sure I see how your calculation equals 10.1%, but here is a measure you can play with...
Measure =
var _total =
MINX(
FILTER(
ALL('Table'),
'Table'[date_year] = 2025 && 'Table'[metric] = "TOTAL"
),
[value]
)
var _calc =
SUMX(
SUMMARIZE(
FILTER(
'Table',
'Table'[metric] <> "TOTAL"
),
'Table'[metric],
"__v1",
MINX(
FILTER(
'Table',
'Table'[date_year] = 2025
),
[value]
),
"__v2",
MINX(
FILTER(
'Table',
'Table'[date_year] = 2026
),
[value2]
)
),
[__v1] * [__v2]
)
var _result =
IF(
SELECTEDVALUE('Table'[metric]) <> "TOTAL",
DIVIDE(
_calc,
_total,
0
),
BLANK()
)
RETURN
_result
Proud to be a Super User! | |
Check out the April 2026 Power BI update to learn about new features.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 36 | |
| 32 | |
| 31 | |
| 21 | |
| 15 |
| User | Count |
|---|---|
| 68 | |
| 57 | |
| 31 | |
| 29 | |
| 22 |