Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Anonymous
Not applicable

How to Calculate time saved with overlapping time

I'm having a devil of time to figure out how to calculate the time difference between one scan and multiple overlapping scans. See example below.


ProjectIdScanIdScanId.1StartedDateCompletedDateStartedDated.1CompletedDate.1SecondsSeconds2
100578/04/2021 12:05:16 PM8/04/2021 12:30:29 PM8/04/2021 12:04:45 PM8/04/2021 12:22:10 PM15131045
100598/04/2021 12:05:16 PM8/04/2021 12:30:29 PM8/04/2021 12:25:06 PM8/04/2021 12:50:30 PM15131524

 

  • ScanId is the "original" scan
  • ScanId.1 is the "overlapping" scan
  • The first set of date/time fields relate to the "original" scan
  • The second set of date/time fields relate to the "overlapping" scan
  • You can see they are both on the same ProjectId
  • Lastly Seconds is the duration of the "original" scan
  • and Seconds2 is the duration of the "overlapping" scan.

 

I want to calculate the saved time by having overlapping scans. Something like

(SUM Seconds2) - one row of the Seconds

2569 - 1513 = 1056 seconds (17.5 min) saved

 

If the scans ran serially the calculation would be

Seconds + Seconds2 + Seconds2
1513 + 1045 + 1524 = 4082 seconds (68 min)

 

Any assistance would be greatly appreciated

1 ACCEPTED SOLUTION
OwenAuger
Super User
Super User

Hi @Anonymous 

Since you want to perform these calculations per ProjectId, you can use a SUMX( VALUES(...), CALCULATE(...) ) type pattern:

 

Saved Time =
SUMX (
    VALUES ( Projects[ProjectId] ),
    CALCULATE ( SUM ( Projects[Seconds2] ) - MAX ( Projects[Seconds] ) )
)
Scan Time Serial = 
SUMX ( 
    VALUES ( Projects[ProjectId] ),
    CALCULATE ( SUM ( Projects[Seconds2] ) + MAX ( Projects[Seconds] ) )
)

 

MAX is just an arbitrary aggregation for Projects[Seconds], since presumably this column contains a single distinct value for a given ProjectId.

 

Do these give the result you expect?

 

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn

View solution in original post

2 REPLIES 2
OwenAuger
Super User
Super User

Hi @Anonymous 

Since you want to perform these calculations per ProjectId, you can use a SUMX( VALUES(...), CALCULATE(...) ) type pattern:

 

Saved Time =
SUMX (
    VALUES ( Projects[ProjectId] ),
    CALCULATE ( SUM ( Projects[Seconds2] ) - MAX ( Projects[Seconds] ) )
)
Scan Time Serial = 
SUMX ( 
    VALUES ( Projects[ProjectId] ),
    CALCULATE ( SUM ( Projects[Seconds2] ) + MAX ( Projects[Seconds] ) )
)

 

MAX is just an arbitrary aggregation for Projects[Seconds], since presumably this column contains a single distinct value for a given ProjectId.

 

Do these give the result you expect?

 

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn
Anonymous
Not applicable

Thank you Owen. Your suggestion worked as designed.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

Top Solution Authors