The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
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