Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
I've literally spent hours trying to figure this out. I've looked at the following posts:
Calculating-Variance-Year-on-Year
How-to-subtract-current-row-from-prior-row-and-so-on-in-power-bi
calculate-variance-in-powerbi-using-dax-query
I've tried countless of variations of the three links above without success. I'm trying to create a year over year variance of the following table:
The following are the expected results:
Thanks in advance for helping me.
Solved! Go to Solution.
Hi @Anonymous
"Earlier Function" can only be used in the calculated column, when you create a measure, you need to use "MAX" function instead.
calculated columns
variance1 =
VAR earliervalue =
CALCULATE (
SUM ( Table1[pricipal balance] ),
FILTER ( ALL ( Table1 ), [year] = EARLIER ( Table1[year] ) - 1 )
)
RETURN
IF ( earliervalue <> BLANK (), [pricipal balance] - earliervalue )
variance1% =
VAR earliervalue =
CALCULATE (
SUM ( Table1[pricipal balance] ),
FILTER ( ALL ( Table1 ), [year] = EARLIER ( Table1[year] ) - 1 )
)
RETURN
[variance1] / earliervalue
Measures
variance2 =
VAR earliervalue2 =
CALCULATE (
SUM ( Table1[pricipal balance] ),
FILTER ( ALL ( Table1 ), [year] = MAX ( Table1[year] ) - 1 )
)
RETURN
IF ( earliervalue2 <> BLANK (), MAX ( [pricipal balance] ) - earliervalue2 )
variance2% =
VAR earliervalue2 =
CALCULATE (
SUM ( Table1[pricipal balance] ),
FILTER ( ALL ( Table1 ), [year] = MAX ( Table1[year] ) - 1 )
)
RETURN
[variance2] / earliervalue2
Best Reagrds
Maggie
Hi @Anonymous
"Earlier Function" can only be used in the calculated column, when you create a measure, you need to use "MAX" function instead.
calculated columns
variance1 =
VAR earliervalue =
CALCULATE (
SUM ( Table1[pricipal balance] ),
FILTER ( ALL ( Table1 ), [year] = EARLIER ( Table1[year] ) - 1 )
)
RETURN
IF ( earliervalue <> BLANK (), [pricipal balance] - earliervalue )
variance1% =
VAR earliervalue =
CALCULATE (
SUM ( Table1[pricipal balance] ),
FILTER ( ALL ( Table1 ), [year] = EARLIER ( Table1[year] ) - 1 )
)
RETURN
[variance1] / earliervalue
Measures
variance2 =
VAR earliervalue2 =
CALCULATE (
SUM ( Table1[pricipal balance] ),
FILTER ( ALL ( Table1 ), [year] = MAX ( Table1[year] ) - 1 )
)
RETURN
IF ( earliervalue2 <> BLANK (), MAX ( [pricipal balance] ) - earliervalue2 )
variance2% =
VAR earliervalue2 =
CALCULATE (
SUM ( Table1[pricipal balance] ),
FILTER ( ALL ( Table1 ), [year] = MAX ( Table1[year] ) - 1 )
)
RETURN
[variance2] / earliervalue2
Best Reagrds
Maggie
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 61 | |
| 54 | |
| 41 | |
| 41 | |
| 22 |
| User | Count |
|---|---|
| 171 | |
| 136 | |
| 119 | |
| 80 | |
| 54 |