Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
So, I am trying to use PowerBI analysis to figure out employee throughput. The data set has date & Time, User, Order # and zone. So I need to count the number of orders done in a zone and divide it by the duration they were in that zone.
I can do that! My problem is calculating when a person changes between zones.
Currently to determine duration when someone is in a zone all day, I subtract the start time from end time (and multiply by 24):
INT Start Time = CALCULATE(MIN(ActivityTracking[Time]),Filter(All(ActivityTracking),ActivityTracking[Zone]="INT"),Filter(All(ActivityTracking),ActivityTracking[User]=Users[User]))
INT End Time = CALCULATE(MAX(ActivityTracking[Time]),Filter(All(ActivityTracking),ActivityTracking[Zone]="INT"),Filter(All(ActivityTracking),ActivityTracking[User]=Users[User]))
What I would need to do is sum up the duration of multiple instances of being in a zone, and have that total be the divisor.
Any ideas would be appreciated.
Hi @steigelbill
We can add a row to evaluate the duration per user per zone. Then we can sum up the durations of many instances.
DuringPerUserPerZone = ( CALCULATE ( MAX ( ActivityTracking[Date Created] ), FILTER ( ActivityTracking, ActivityTracking[User] = EARLIER ( ActivityTracking[User] ) && ActivityTracking[Zone] = EARLIER ( ActivityTracking[Zone] ) && ActivityTracking[Date Created].[Date] = EARLIER ( ActivityTracking[Date Created].[Date] ) ) ) - CALCULATE ( MIN ( ActivityTracking[Date Created] ), FILTER ( ActivityTracking, ActivityTracking[User] = EARLIER ( ActivityTracking[User] ) && ActivityTracking[Zone] = EARLIER ( ActivityTracking[Zone] ) && ActivityTracking[Date Created].[Date] = EARLIER ( ActivityTracking[Date Created].[Date] ) ) ) ) * 24
DuringPerUserPerDay = CALCULATE ( SUM ( ActivityTracking[DuringPerUserPerZone] ), FILTER ( ActivityTracking, ActivityTracking[User] = EARLIER ( ActivityTracking[User] ) && ActivityTracking[Date Created].[Date] = EARLIER ( ActivityTracking[Date Created].[Date] ) ) )
NumberOfOrders = CALCULATE ( COUNT ( ActivityTracking[LPN] ), FILTER ( ActivityTracking, ActivityTracking[User] = EARLIER ( ActivityTracking[User] ) && ActivityTracking[Date Created].[Date] = EARLIER ( ActivityTracking[Date Created].[Date] ) ) )
Result = [DuringPerUserPerDay] / [NumberOfOrders]
Or we can use a measure with the new column.
MesureResult = SUM ( ActivityTracking[DuringPerUserPerZone] ) / COUNT ( ActivityTracking[LPN] )
Best Regards!
Dale
Hi @steigelbill,
Could you please mark the proper post as answer if it worked? More about this topic, please feel free to post here.
Best Regards!
Dale
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
71 | |
70 | |
38 | |
26 | |
26 |
User | Count |
---|---|
100 | |
87 | |
45 | |
43 | |
35 |