Forum Discussion

mina97's avatar
mina97
Helper III
2 years ago
Solved

date difference with one simple condition

hey i have the following data 

 

ordersumitied datelast action datestatus
21612/10/202313/10/2023sumitied
21613/10/202313/10/2023returned to client
21620/10/202321/10/2023resubmited
21622/10/202330/10/2023Approved
21710/10/202310/10/2023sumitied
21710/10/202310/10/2023Approved

i want to calculate the date difference for the order from the day the order got retuned to client to the day the order got resubmitted only 
please help and thank you 

  • Hi, mina97 

     

    You can try the following methods. Create a new date table.

    Date = CALENDAR(MIN('Table'[sumitied date]),MAX('Table'[last action date]))

    Measure1 = 
    Var _day1=CALCULATE(MAX('Table'[last action date]),FILTER(ALL('Table'),[status]="returned to client"))
    Var _day2=CALCULATE(MAX('Table'[last action date]),FILTER(ALL('Table'),[status]="resubmited"))
    Return
    CALCULATE(COUNT('Date'[Date]),FILTER(ALL('Date'),[Date]>=_day1&&[Date]<=_day2&&[Weekday]<>5&&[Weekday]<>6))
    Measure2 = 
    Var _day1=CALCULATE(MAX('Table'[last action date]),FILTER(ALL('Table'),[status]="returned to client"))
    Var _day2=CALCULATE(MAX('Table'[last action date]),FILTER(ALL('Table'),[status]="resubmited"))
    Return
    DATEDIFF(_day1,_day2,DAY)

    Is this the result you expect? Please see the attached document.

     

    Best Regards,

    Community Support Team _Charlotte

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

3 Replies

  • 1-exclude saturdays and fridays
    2-including saturdays and fridays
    🙂

    • FreemanZ's avatar
      FreemanZ
      Super User

      hi mina97 ,

      not sure if i fully get you, you may try to plot a table visual with order column and two measures like:

      WithoutFriSat = 
      VAR _table = 
      FILTER(
          data,
          data[order] = MAX(data[order])
      )
      VAR _day1 =
      MAXX(
          FILTER(
              _table,
               data[status] = "returned to client"
          ),
          data[last action date]
      )
      VAR _day2 =
      MAXX(
          FILTER(
              _table,
               data[status] = "resubmited"
          ),
          data[last action date]
      )
      VAR _days =
      COUNTROWS(
          FILTER(
              CALENDAR(_day1, _day2),
              NOT WEEKDAY([date], 2) IN {5,6}
          )
      )
      RETURN 
      IF( 
          ISBLANK(_day1)&&ISBLANK(_day2 ),
          BLANK(),
          _days
      )
      WithFriSat = 
      VAR _table = 
      FILTER(
          data,
          data[order] = MAX(data[order])
      )
      VAR _day1 =
      MAXX(
          FILTER(
              _table,
               data[status] = "returned to client"
          ),
          data[last action date]
      )
      VAR _day2 =
      MAXX(
          FILTER(
              _table,
               data[status] = "resubmited"
          ),
          data[last action date]
      )
      RETURN INT(_day2 - _day1) 

       

      it worked like:

       

  • v-zhangti's avatar
    v-zhangti
    Community Support

    Hi, mina97 

     

    You can try the following methods. Create a new date table.

    Date = CALENDAR(MIN('Table'[sumitied date]),MAX('Table'[last action date]))

    Measure1 = 
    Var _day1=CALCULATE(MAX('Table'[last action date]),FILTER(ALL('Table'),[status]="returned to client"))
    Var _day2=CALCULATE(MAX('Table'[last action date]),FILTER(ALL('Table'),[status]="resubmited"))
    Return
    CALCULATE(COUNT('Date'[Date]),FILTER(ALL('Date'),[Date]>=_day1&&[Date]<=_day2&&[Weekday]<>5&&[Weekday]<>6))
    Measure2 = 
    Var _day1=CALCULATE(MAX('Table'[last action date]),FILTER(ALL('Table'),[status]="returned to client"))
    Var _day2=CALCULATE(MAX('Table'[last action date]),FILTER(ALL('Table'),[status]="resubmited"))
    Return
    DATEDIFF(_day1,_day2,DAY)

    Is this the result you expect? Please see the attached document.

     

    Best Regards,

    Community Support Team _Charlotte

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.