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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

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
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

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

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.