Forum Discussion
Subtract values from two rows in matrix
Hello,
Every week I get sales forecasts for which I have to compare the values. Sample model here:
I am looking for a way to show the changes between individual forecasts in quantitative and percentage terms, like in this Excel:
Thank you in advance for any tips.
Marcin
Hi maart666 ,
Modify your measure as below:
Difference = VAR thisforecastnum = MIN ( Arkusz1[Forecast no] ) VAR thisforecast = SUM ( Arkusz1[Qty] ) var lastforecastnum=CALCULATE(MAX('Arkusz1'[Forecast no]),FILTER(ALLSELECTED(Arkusz1),'Arkusz1'[Forecast no]<MAX('Arkusz1'[Forecast no]))) VAR lastforecast = CALCULATE ( SUM ( Arkusz1[Qty] ), Arkusz1[Forecast no] = lastforecastnum ) RETURN IF ( ISBLANK ( lastforecast ), BLANK (), thisforecast - lastforecast )And you will see:
For the related .pbix file,pls see attached.
Best Regards,
KellyDid I answer your question? Mark my post as a solution!
5 Replies
- mahoneypatMicrosoft Employee
This measure expression will give you the difference from the current forecast to the previous one.
Difference =
VAR thisforecastnum =
MIN ( Arkusz1[Forecast no] )
VAR thisforecast =
SUM ( Arkusz1[Qty] )
VAR lastforecast =
CALCULATE (
SUM ( Arkusz1[Qty] ),
Arkusz1[Forecast no] = thisforecastnum - 1
)
RETURN
IF (
ISBLANK ( lastforecast ),
BLANK (),
thisforecast - lastforecast
)To get your % difference, just change the Return part using the same variable (e.g., DIVIDE(thisforecast - lastforecast, lastforecast)
Regards,
Pat
- maart666Helper I
Thank you Pat!
It works perfectly when I compare data from subsequent forecasts. But if the forecasts are not consecutive e.g. 1 and 3 (I know I should mentioned this) the values are incorrect:
Could you help solve this problem?Thank you.
Marcin
- v-kelly-msftCommunity Support
Hi maart666 ,
Modify your measure as below:
Difference = VAR thisforecastnum = MIN ( Arkusz1[Forecast no] ) VAR thisforecast = SUM ( Arkusz1[Qty] ) var lastforecastnum=CALCULATE(MAX('Arkusz1'[Forecast no]),FILTER(ALLSELECTED(Arkusz1),'Arkusz1'[Forecast no]<MAX('Arkusz1'[Forecast no]))) VAR lastforecast = CALCULATE ( SUM ( Arkusz1[Qty] ), Arkusz1[Forecast no] = lastforecastnum ) RETURN IF ( ISBLANK ( lastforecast ), BLANK (), thisforecast - lastforecast )And you will see:
For the related .pbix file,pls see attached.
Best Regards,
KellyDid I answer your question? Mark my post as a solution!
- maart666Helper I
Thank you Kelly,
works perfect!
I salut you!
Marcin
- maart666Helper I
Hi Kelly,
it looks great accept one case, when in lastforecast there was no value (filed was empty), and in thisforecast is value, mesure do not count that diefference... Is it a way to clear that issue?
Thank you.
Marcin