Forum Discussion

Fredde86's avatar
Fredde86
Icon for Advocate I rankAdvocate I
1 year ago
Solved

Leadtime evaluation impossible with this scenario?

Hi,   I have a problem with a leadtime evaluation that I would like help with: My datasource is DB2 and I use import mode.  I have an Item, say 112233, and an OrderID, 1001. Order Quantity is 5...
  • bhanu_gautam's avatar
    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