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

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
Anonymous
Not applicable

Forecasting

Hi!
I have calculated cumulative forecast and cumulative recorded sales.
I need help with a DAX-expression to alter my forecast based on the results of the recorded sales:

Example:
Original forecast says 10$ per month, cumulative this will give january 10$, february 20$, march 30$ etc... Resulting in cumulative 120$ by the end of the year.

I want to alter that forecast. If sales for january turns out to be only 5$, i want my cumulative forecast by the end of the year to be 115$.

What I want to do is that for every (date) with a recorded sale, the forecast for the year should be the historicly recorded sales + remaining original forecast for the remaining (dates)

Thank you!

1 ACCEPTED SOLUTION
Anonymous
Not applicable

I solved it myself!

The three steps are measures and works for me. My "Prognosis allocation" in step 2 is a calculated measure which contains a monthly budget distributed over every calender date.

 

1. Accumulate Sales (where [Sales] is a sum of sales from my sales column.)


Acc. Sales =
   VAR CurrentDate =
      CALCULATE(
         LASTNONBLANK('Data Sales'[Date]; [Sales]);
      ALL('Data Sales'[Date])
)
RETURN
   CALCULATE([Sales];
      FILTER( ALLSELECTED('Calender'[Date]);
         'Calender'[Date]<=CurrentDate))

 

2. Calculate remaining forcast based on the last date of your sales

 

Remaining forcast =
   VAR CurrentDate =
      CALCULATE(
         LASTNONBLANK('Calender'[Date]; 'Calculations Accumulations'[Acc. Sales]);
      ALL('Calender'[Date])
)
RETURN
   CALCULATE(
      [Prognosis allocation];
         FILTER(VALUES('Calender'[Date]);'Calender'[Date]>CurrentDate))

 

3.

Final forcast =

   CALCULATE(

      'Calculations Accumulations'[Acc. Sales]+[Remaining forcast];
         FILTER( ALLSELECTED('Calender');
            'Calender'[Date]<=MAX('Calender'[Date])))

 

 

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

I solved it myself!

The three steps are measures and works for me. My "Prognosis allocation" in step 2 is a calculated measure which contains a monthly budget distributed over every calender date.

 

1. Accumulate Sales (where [Sales] is a sum of sales from my sales column.)


Acc. Sales =
   VAR CurrentDate =
      CALCULATE(
         LASTNONBLANK('Data Sales'[Date]; [Sales]);
      ALL('Data Sales'[Date])
)
RETURN
   CALCULATE([Sales];
      FILTER( ALLSELECTED('Calender'[Date]);
         'Calender'[Date]<=CurrentDate))

 

2. Calculate remaining forcast based on the last date of your sales

 

Remaining forcast =
   VAR CurrentDate =
      CALCULATE(
         LASTNONBLANK('Calender'[Date]; 'Calculations Accumulations'[Acc. Sales]);
      ALL('Calender'[Date])
)
RETURN
   CALCULATE(
      [Prognosis allocation];
         FILTER(VALUES('Calender'[Date]);'Calender'[Date]>CurrentDate))

 

3.

Final forcast =

   CALCULATE(

      'Calculations Accumulations'[Acc. Sales]+[Remaining forcast];
         FILTER( ALLSELECTED('Calender');
            'Calender'[Date]<=MAX('Calender'[Date])))

 

 

Anonymous
Not applicable

Hi!
I have calculated cumulative forecast and cumulative recorded sales.
I need help with a DAX-expression to alter my forecast based on the results of the recorded sales:

Example:
Original forecast says 10$ per month, cumulative this will give january 10$, february 20$, march 30$ etc... Resulting in cumulative 120$ by the end of the year.

I want to alter that forecast. If sales for january turns out to be only 5$, i want my cumulative forecast by the end of the year to be 115$.

What I want to do is that for every (date) with a recorded sale, the forecast for the year should be the historicly recorded sales + remaining original forecast for the remaining (dates)

Thank you!

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.