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

Preparing for a certification exam? Ask exam experts all your questions on May 15th. Register now.

Reply
JGomez_2012
Frequent Visitor

Inventory Forecast Weekly

Hello Community,

 

I need to create a weekly forecast of my inventory based on 3 tables:

Actual Inventory

Arrived Orders

Sale Forecast

 

The structure of the tables is like this:

Actual Inventory (

item varchar(),

loc varchar()

quantity_on_hand int

)

 

Sales Forecast

(

item varchar()

loc varchar()

MontlySales int

)

 

Arrived Orders

(

item varchar()

loc varchar()

quantity_expected int

expected_date datetime

)

 

Based on this information i have to project the next 6 months on a weekly basis.  My actual problem is that i need the inventory for next week is the result of  the following measures:  Week_forecast = initial_inventory + orders_to_come - weekly_forecast.

 

I created a CalendarDate table to follow all the measures in the timeframe. All the tables are related on item + loc and the CalendarDate is related to the Arrived Orders table.

 

This is what i'm getting in power bi

JGomez_2012_0-1722602374096.png

when i should be getting this.

JGomez_2012_1-1722602684289.png

 

Anyone knows i way where i can do like a cycle or something to do this.

 

Thanks in advance.

 

3 REPLIES 3
Anonymous
Not applicable

@JGomez_2012 ,
Please share the pbix sample file for better testing.

PurpleGate
Resolver III
Resolver III

Hey, 

I had a similar situation to yours and solved it like this: maybe this will work for you too?

 

 

first i made a Weekly Sales Forecast. 

Weekly_Sales_Forecast = 
VAR MonthlyForecast = SUM('Sales Forecast'[MontlySales])
VAR DaysInMonth = DAY(EOMONTH(MIN('CalendarDate'[Date]), 0))
VAR DaysInWeek = COUNTROWS(VALUES('CalendarDate'[Date]))

RETURN
DIVIDE(MonthlyForecast, DaysInMonth, 0) * DaysInWeek

 

then a measure to calculate the quanity of orders each week: 

 

Weekly_Arrivals = 
CALCULATE(
SUM('Arrived Orders'[quantity_expected]),
FILTER(
'Arrived Orders',
'Arrived Orders'[expected_date] >= MIN('CalendarDate'[Date]) &&
'Arrived Orders'[expected_date] <= MAX('CalendarDate'[Date])
)
)


 

Then an initial inventory for each item at the start of the week: 

Initial_Inventory = 
CALCULATE(
SUM('Actual Inventory'[quantity_on_hand]),
FILTER(
'Actual Inventory',
'Actual Inventory'[item] = MAX('CalendarDate'[item]) &&
'Actual Inventory'[loc] = MAX('CalendarDate'[loc])
)
)

 

 

Then combined it to get the weekly forecast

Weekly_Forecasted_Inventory = 
VAR InitialInventory = [Initial_Inventory]
VAR WeeklyArrivals = [Weekly_Arrivals]
VAR WeeklySalesForecast = [Weekly_Sales_Forecast]

RETURN
InitialInventory + WeeklyArrivals - WeeklySalesForecast

 

 

 

 

 

 

Thanks for your answer, but got the same issue the weekly forecast is not moving forward.  with your measures i have the same results that i had before.

 

JGomez_2012_0-1722604870238.png

 

Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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