Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Calculate Days Between

I am trying to count the day difference between the End Date on one Area compared to the Start Date of the next Area by Equipment based on a slicer selection for the Equipment being assigned to the Area. My current measure is calculating both pieces of equipment as one. How do I modify the measure to group by Equipment? My desired result is residing n the STAND_BY_DAYS column. 

 

STAND_BY_DAYS = datediff(minx(ALLSELECTED(Table),Table[START_DATE]),maxx(ALLSELECTED(Table),Table[END_DATE]),DAY)-SUMX(ALLSELECTED(Table),Table[DAYS])

 

 Thanks for the Help.

 

 

 

 

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi Anonymous 

    You can refer to the following measure:

    STAND_BY_DAYS = var _lastarea=MAXX(FILTER(ALLSELECTED('Table'),[EQUIPMENT]=MAX([EQUIPMENT])&&[AREA]<MAX([AREA])),[AREA])
    var _lastenddate=MAXX(FILTER(ALLSELECTED('Table'),[AREA]=_lastarea&&[EQUIPMENT]=MAX([EQUIPMENT])),[END_DATE])
    var _currentstartdate=MINX(FILTER(ALLSELECTED('Table'),[AREA]=MAX([AREA])&&[EQUIPMENT]=MAX([EQUIPMENT])),[START_DATE])
    return IF(MAX('Table'[START_DATE])=_currentstartdate,DATEDIFF(_lastenddate,_currentstartdate,DAY))

     

    Best Regards!

    Yolo Zhu

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

     

4 Replies

  • Anonymous , A new column

     

    Diff =

    var _max = maxx(filter(Table, [equipment] = earlier([equipment]) && [END_DATE] < earlier([END_DATE])
    && [Area] <> earlier([Area]) ) , [END_DATE])
    var _min = Minx(filter(Table, [equipment] = earlier([equipment]) && [Area] = earlier([Area]) ) , [JOB])
    return

    Switch( True() ,
    _min = [JOB] && isblank(_max) , Blank() ,
    _min = [JOB] , datediff(_min, [Start_date], day) ,
    blank())

  • hi Anonymous 

    1) Is the first 6 coulmns your sample data?

    2) what context fo you have for the expected measure?

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous 

    You can refer to the following measure:

    STAND_BY_DAYS = var _lastarea=MAXX(FILTER(ALLSELECTED('Table'),[EQUIPMENT]=MAX([EQUIPMENT])&&[AREA]<MAX([AREA])),[AREA])
    var _lastenddate=MAXX(FILTER(ALLSELECTED('Table'),[AREA]=_lastarea&&[EQUIPMENT]=MAX([EQUIPMENT])),[END_DATE])
    var _currentstartdate=MINX(FILTER(ALLSELECTED('Table'),[AREA]=MAX([AREA])&&[EQUIPMENT]=MAX([EQUIPMENT])),[START_DATE])
    return IF(MAX('Table'[START_DATE])=_currentstartdate,DATEDIFF(_lastenddate,_currentstartdate,DAY))

     

    Best Regards!

    Yolo Zhu

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

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks Yolo.

      How about a measure to referance the STAND_BY_DAYS and divide by the job count per area and distibute to the jobs accordingly?