Forum Discussion
Leadtime evaluation impossible with this scenario?
- 1 year ago
Fredde86 Try using
DAX
NetWorkdays_v2 =
VAR SelectedOrder = MAX(ITEM_TRANSACTION_HISTORY_SUM[Order nr])
VAR SelectedItem = MAX(ITEM_TRANSACTION_HISTORY_SUM[Item])VAR FilteredOrders =
FILTER(
MANUFACTURING_ORDERS,
MANUFACTURING_ORDERS[Order nr] = SelectedOrder &&
MANUFACTURING_ORDERS[Item] = SelectedItem
)VAR DueDate = MAXX(FilteredOrders, MANUFACTURING_ORDERS[Order Due])
VAR CompletionDates =
FILTER(
ITEM_TRANSACTION_HISTORY_SUM,
ITEM_TRANSACTION_HISTORY_SUM[Order nr] = SelectedOrder &&
ITEM_TRANSACTION_HISTORY_SUM[Item] = SelectedItem
)VAR LeadTimes =
ADDCOLUMNS(
CompletionDates,
"LeadTime",
VAR CompletionDate = ITEM_TRANSACTION_HISTORY_SUM[Date reported]
VAR CurrentDueDate =
CALCULATE(
MAX(MANUFACTURING_ORDERS[Order Due]),
FILTER(
MANUFACTURING_ORDERS,
MANUFACTURING_ORDERS[Order nr] = SelectedOrder &&
MANUFACTURING_ORDERS[Item] = SelectedItem &&
MANUFACTURING_ORDERS[Order Due] <= CompletionDate
)
)
VAR Workdays =
IF(
ISBLANK(CurrentDueDate) || ISBLANK(CompletionDate),
BLANK(),
CALCULATE(
COUNTROWS('Date'),
'Date'[Date] >= MIN(CurrentDueDate, CompletionDate) && 'Date'[Date] <= MAX(CurrentDueDate, CompletionDate),
'Date'[ArbetsDag] = 1,
ISBLANK('Date'[Helgdagar]),
NOT(WEEKDAY('Date'[Date],2) = 5 && QUARTER('Date'[Date]) = 1 && WEEKNUM('Date'[Date], 2) >= 4 && WEEKNUM('Date'[Date], 2) <= 13)
)
)
RETURN
IF(
ISBLANK(Workdays),
BLANK(),
IF(
CurrentDueDate = CompletionDate,
0,
IF(
CurrentDueDate > CompletionDate,
- (Workdays - 1),
Workdays - 1
)
)
)
)VAR TotalLeadTime = SUMX(LeadTimes, [LeadTime])
RETURN
TotalLeadTime
Fredde86 Try using
DAX
NetWorkdays_v2 =
VAR SelectedOrder = MAX(ITEM_TRANSACTION_HISTORY_SUM[Order nr])
VAR SelectedItem = MAX(ITEM_TRANSACTION_HISTORY_SUM[Item])
VAR FilteredOrders =
FILTER(
MANUFACTURING_ORDERS,
MANUFACTURING_ORDERS[Order nr] = SelectedOrder &&
MANUFACTURING_ORDERS[Item] = SelectedItem
)
VAR DueDate = MAXX(FilteredOrders, MANUFACTURING_ORDERS[Order Due])
VAR CompletionDates =
FILTER(
ITEM_TRANSACTION_HISTORY_SUM,
ITEM_TRANSACTION_HISTORY_SUM[Order nr] = SelectedOrder &&
ITEM_TRANSACTION_HISTORY_SUM[Item] = SelectedItem
)
VAR LeadTimes =
ADDCOLUMNS(
CompletionDates,
"LeadTime",
VAR CompletionDate = ITEM_TRANSACTION_HISTORY_SUM[Date reported]
VAR CurrentDueDate =
CALCULATE(
MAX(MANUFACTURING_ORDERS[Order Due]),
FILTER(
MANUFACTURING_ORDERS,
MANUFACTURING_ORDERS[Order nr] = SelectedOrder &&
MANUFACTURING_ORDERS[Item] = SelectedItem &&
MANUFACTURING_ORDERS[Order Due] <= CompletionDate
)
)
VAR Workdays =
IF(
ISBLANK(CurrentDueDate) || ISBLANK(CompletionDate),
BLANK(),
CALCULATE(
COUNTROWS('Date'),
'Date'[Date] >= MIN(CurrentDueDate, CompletionDate) && 'Date'[Date] <= MAX(CurrentDueDate, CompletionDate),
'Date'[ArbetsDag] = 1,
ISBLANK('Date'[Helgdagar]),
NOT(WEEKDAY('Date'[Date],2) = 5 && QUARTER('Date'[Date]) = 1 && WEEKNUM('Date'[Date], 2) >= 4 && WEEKNUM('Date'[Date], 2) <= 13)
)
)
RETURN
IF(
ISBLANK(Workdays),
BLANK(),
IF(
CurrentDueDate = CompletionDate,
0,
IF(
CurrentDueDate > CompletionDate,
- (Workdays - 1),
Workdays - 1
)
)
)
)
VAR TotalLeadTime = SUMX(LeadTimes, [LeadTime])
RETURN
TotalLeadTime