Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Score big with last-minute savings on the final tickets to FabCon Vienna. Secure your discount

Reply
FourAnalysis
New Member

Simple financial Forecasting measure?

Hi!
I really tried hard for a longer time but now I'm dependend on your help I suppose :).
I'm currently creating a dashboard for monthly finance reportings. It's easy in Excel, but I struggle to implement it into PowerBI.
We want to add a simple Forecasting for our revenue.
It looks like this: 

FourAnalysis_0-1720528618174.png

The difference between Plannend and Reality is added on the Planned-Value of the next month. This is what we call "Forecast".
It's so simple, yet I can't get it to work.

I have the cumulative valies of Planned as:

Cumulative_Planned = CALCULATE([Planned_per month], FILTER(ALLSELECTED('Date-Table'),'Date-Table'[Date]<=MAX('Date-Table'[Date])))

and the same with the Reality values:
Cumulative_Reality = CALCULATE([Reality_Values], FILTER(ALLSELECTED('Date-Table),'Date-Table'[Date]<=MAX('Date-Table'[Date])))

I tried to get nearer to the forecasting value by creating some measures:
Forecasting_Difference =  [Reality_values] - [Planned_per_month]     ///now I have the difference
 
Cumulative_Forecasting_Difference = CALCULATE([Forecasting_Difference], FILTER(ALLSELECTED('Date-Table'),'Date-Table'[Date]<=MAX('Date-Table'[Date])))   /// now I have the differences cumulative
 
Forecasting = [Cumulative_Forecasting_Difference] + [Cumulative_Planned] // now I have the forecasting value

HOWEVER, PowerBI starts subtracting the difference between Planned and Reality in january already, so everything is mixed up a little bit.

 

FourAnalysis_2-1720529638772.png

 

 

What it should be:

FourAnalysis_0-1720529922572.png

I'd appreciate your help alot, as I really put more work into what seems as a really easy problem but for me (as a PowerBI beginner) it's really not!

Thanks!

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @FourAnalysis 

 

Please try this measure:

Forecasting =
VAR _vtable =
    SUMMARIZE (
        ALLSELECTED ( 'Date-Table' ),
        'Date-Table'[Month],
        'Date-Table'[Month Number],
        "__Planned", [Planned],
        "__Difference", [Forecasting Difference]
    )
VAR _vtable2 =
    ADDCOLUMNS (
        _vtable,
        "__Outcome",
            IF (
                MAXX (
                    FILTER ( _vtable, [Month Number] = EARLIER ( 'Date-Table'[Month Number] ) - 1 ),
                    [__Difference]
                )
                    <> BLANK (),
                [__Planned]
                    + MAXX (
                        FILTER ( _vtable, [Month Number] = EARLIER ( 'Date-Table'[Month Number] ) - 1 ),
                        [__Difference]
                    )
            )
    )
RETURN
    MAXX (
        FILTER ( _vtable2, [Month] = SELECTEDVALUE ( 'Date-Table'[Month] ) ),
        [__Outcome]
    )

 

I create a set of sample, and the result is as follow:

vzhengdxumsft_0-1720579376415.png

 

 

Best Regards

Zhengdong Xu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

2 REPLIES 2
FourAnalysis
New Member

Thanks alot! It looks much more complicated than I have thought it would look like.
Would not been able to have done this without your help, thanks alot!

Anonymous
Not applicable

Hi @FourAnalysis 

 

Please try this measure:

Forecasting =
VAR _vtable =
    SUMMARIZE (
        ALLSELECTED ( 'Date-Table' ),
        'Date-Table'[Month],
        'Date-Table'[Month Number],
        "__Planned", [Planned],
        "__Difference", [Forecasting Difference]
    )
VAR _vtable2 =
    ADDCOLUMNS (
        _vtable,
        "__Outcome",
            IF (
                MAXX (
                    FILTER ( _vtable, [Month Number] = EARLIER ( 'Date-Table'[Month Number] ) - 1 ),
                    [__Difference]
                )
                    <> BLANK (),
                [__Planned]
                    + MAXX (
                        FILTER ( _vtable, [Month Number] = EARLIER ( 'Date-Table'[Month Number] ) - 1 ),
                        [__Difference]
                    )
            )
    )
RETURN
    MAXX (
        FILTER ( _vtable2, [Month] = SELECTEDVALUE ( 'Date-Table'[Month] ) ),
        [__Outcome]
    )

 

I create a set of sample, and the result is as follow:

vzhengdxumsft_0-1720579376415.png

 

 

Best Regards

Zhengdong Xu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.