Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi Guys,
I would like to callculate when I should start production, excluding weekends.
I have two tables Date (mater calendar) and Orders (with [ProductionDueDate] and [ProdactionDurationInDays])
Both tables have inactive Relationship Date[Date] and Orders[ProductionDueDate]
Basicaly, if ProductionDueDate is on Monday and ProdactionDurationInDays takes 4 business days, I would like to start production on Tuesday week before.
Please help
Solved! Go to Solution.
Hi @Adamplau ,
You can update the formula of the calculated column [Prod. Start Date (exc. weekends)] as below in the table 'Orders' and check if it can return your expected result... It is not required to create any relationship between the table 'Orders' and 'Date' table.
Prod. Start Date (exc. weekends) =
VAR DateIdx =
CALCULATE (
MAX ( 'Date'[WorkingDayIndex] ),
FILTER ( 'Date', 'Date'[Date] = 'Orders'[ProductionDueDate] )
)
VAR NewDateIdx = DateIdx - 'Orders'[ProdactionDurationInDays]
RETURN
CALCULATE (
MAX ( 'Date'[Date] ),
FILTER (
ALL ( 'Date' ),
'Date'[WorkingDayIndex] = NewDateIdx
&& 'Date'[IsWorkingDay] = TRUE()
)
)
Best Regards
I have this working, however I need to have active relationship between Date and Orders tables.
How to change it and activate the relationship in the script using USERELATIONSHIP?
Prod. Start Date (exc. weekends) =
VAR DateIdx =
CALCULATE(
MAX( 'Date'[WorkingDayIndex] ),
'Orders'[ProductionDueDate] = RELATED('Date'[Date] )
)
VAR NewDateIdx = DateIdx - 'Orders'[ProdactionDurationInDays]
RETURN
CALCULATE(
MAX('Date'[Date]),
FILTER(
ALL('Date'),
'Date'[WorkingDayIndex] = NewDateIdx
&& 'Date'[IsWorkingDay] = TRUE()
)
)
Hi @Adamplau ,
You can update the formula of the calculated column [Prod. Start Date (exc. weekends)] as below in the table 'Orders' and check if it can return your expected result... It is not required to create any relationship between the table 'Orders' and 'Date' table.
Prod. Start Date (exc. weekends) =
VAR DateIdx =
CALCULATE (
MAX ( 'Date'[WorkingDayIndex] ),
FILTER ( 'Date', 'Date'[Date] = 'Orders'[ProductionDueDate] )
)
VAR NewDateIdx = DateIdx - 'Orders'[ProdactionDurationInDays]
RETURN
CALCULATE (
MAX ( 'Date'[Date] ),
FILTER (
ALL ( 'Date' ),
'Date'[WorkingDayIndex] = NewDateIdx
&& 'Date'[IsWorkingDay] = TRUE()
)
)
Best Regards
It's working. Thanks.
I hope the below query would help you to solve the problem,
Starting Day =
VAR _date =
SELECTEDVALUE ( 'Table'[ProductionDueDate] )
VAR _duration =
SELECTEDVALUE ( 'Table'[ProdactionDurationInDays] )
RETURN
"Start Production on [" & FORMAT ( _date - _duration, "dddd-mmm-d" )&"]"
Thanks,
Sorry, but this not what I need. I need to calculate weekends etc. Please read the description.
Ok. Will come back
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 41 | |
| 39 | |
| 37 | |
| 29 | |
| 24 |
| User | Count |
|---|---|
| 118 | |
| 98 | |
| 70 | |
| 69 | |
| 65 |