Forum Discussion

ramhariessentia's avatar
5 years ago
Solved

Time Duration Calculation

Hi all, I have a problem of finding the total time duration of various projects (Refer to snapshot below). I want to calculate the total time for each project (ie difference of completion date betwe...
  • Jihwan_Kim's avatar
    5 years ago

    Hi, ramhariessentia 

    Please correct me if I wrongly understood your question.

    I tried to create a sample by myself based on the information in your screenshot.

    The sample pbix file's link is down below.

     

     

     

    Total Days Each Project =
    VAR currentproject =
    MAX ( 'Table'[ProjectID] )
    VAR newtable =
    SUMMARIZE (
    FILTER ( ALL ( 'Table' ), 'Table'[ProjectID] = currentproject ),
    'Table'[ProjectID],
    "@duration", DATEDIFF ( MIN ( 'Table'[Date] ), MAX ( 'Table'[Date] ), DAY )
    )
    RETURN
    MAXX ( newtable, [@duration] ) + 1

     

     

    https://www.dropbox.com/s/npv905vo4zi4gsk/ramhariessentia.pbix?dl=0 

     

    Hi, My name is Jihwan Kim.

    If this post helps, then please consider accept it as the solution to help other members find it faster, and give a big thumbs up.

  • Jihwan_Kim's avatar
    Jihwan_Kim
    5 years ago

    Hi,

    Thank you for your explanation.

    please kindly check the below measure and the link.

    I amended the measure to omit    < abc-start ~ next of abc-start >

     

    Total Days Each Project =
    VAR currentproject =
    MAX ( 'Table'[ProjectID] )
    VAR abcactivitystartdate =
    CALCULATE (
    MAX ( 'Table'[Date] ),
    FILTER (
    ALL ( 'Table' ),
    'Table'[ProjectID] = currentproject
    && 'Table'[Activity] = "abc"
    )
    )
    VAR abcactivityfinishdate =
    CALCULATE (
    MIN ( 'Table'[Date] ),
    FILTER (
    ALL ( 'Table' ),
    'Table'[ProjectID] = currentproject
    && 'Table'[Date] > abcactivitystartdate
    )
    )
    VAR newtable =
    SUMMARIZE (
    FILTER ( ALL ( 'Table' ), 'Table'[ProjectID] = currentproject ),
    'Table'[ProjectID],
    "@duration", DATEDIFF ( MIN ( 'Table'[Date] ), MAX ( 'Table'[Date] ), DAY )
    )
    RETURN
    MAXX ( newtable, [@duration] ) + 1
    - DATEDIFF ( abcactivitystartdate, abcactivityfinishdate, DAY )

     

     

    https://www.dropbox.com/s/npv905vo4zi4gsk/ramhariessentia.pbix?dl=0 

     

     

  • Ashish_Mathur's avatar
    Ashish_Mathur
    5 years ago

    What answer are you expecting in the card visual?  Does this measure work?

    Measure 1 = AVERAGEX(VALUES('Sample data'[Project ID]),[Sample Total Project Time])