Forum Discussion

zinminthant's avatar
zinminthant
Regular Visitor
5 years ago
Solved

Time duration between multiple events with start and stop

Hello,

 

I would like to calculate duration of Start/Stop of multime events at the time of event Stop. Below is the example. How can I write measure/column in DAX to calculate the duration? 

Date TimeEventsDuration (hr)

1/11/2020 1:00Start A 
1/11/2020 2:00Stop A1
1/11/2020 3:00Start A 
1/11/2020 3:00Others 
1/11/2020 4:15Start B 
1/11/2020 5:00Stop B0.75
1/11/2020 6:00Stop A3
1/11/2020 7:00Start C 
1/11/2020 8:00Start A 
1/11/2020 9:00Stop C2
1/11/2020 10:00Start B 
1/11/2020 11:00Stop A3
1/11/2020 11:30Stop B1.5

 

Best Regards,

Zin. 

  • Hi zinminthant 

    You'd have to split the Events column to have the type of the event (Start, Stop...)  and the name of the entity the event happens on (A, B...) in separate columns. Best to do this in Power query. Then you can create a column like this:

    Duration (hr) =
    VAR previousStart_ =
        CALCULATE (
            MAX ( Table1[DateTime] ),
            ALLEXCEPT ( Table1, Table1[Entity] ),
            Table1[Event Type] = "Start",
            Table1[DateTime] < EARLIER ( Table1[DateTime] )
        )
    RETURN
        IF ( Table1[Event Type] = "Stop", ( Table1[DateTime] - previousStart_ ) * 24 )

     

    Please mark the question solved when done and consider giving a thumbs up if posts are helpful.

    Contact me privately for support with any larger-scale BI needs, tutoring, etc.

    Cheers 

     

2 Replies

  • AlB's avatar
    AlB
    Icon for Community Champion rankCommunity Champion

    Hi zinminthant 

    You'd have to split the Events column to have the type of the event (Start, Stop...)  and the name of the entity the event happens on (A, B...) in separate columns. Best to do this in Power query. Then you can create a column like this:

    Duration (hr) =
    VAR previousStart_ =
        CALCULATE (
            MAX ( Table1[DateTime] ),
            ALLEXCEPT ( Table1, Table1[Entity] ),
            Table1[Event Type] = "Start",
            Table1[DateTime] < EARLIER ( Table1[DateTime] )
        )
    RETURN
        IF ( Table1[Event Type] = "Stop", ( Table1[DateTime] - previousStart_ ) * 24 )

     

    Please mark the question solved when done and consider giving a thumbs up if posts are helpful.

    Contact me privately for support with any larger-scale BI needs, tutoring, etc.

    Cheers