Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
I am trying to find the average pickup and dropoff times for each client in our center to compare to the scheduled pickup/dropoff times for analysis. I have tried this a few different ways but the averages I am getting are so far off from what they should be. Looking for any assistance. Currently I am using the following formula to find the average pickup time :
AveragePickUpTime =
AVERAGEX(
FILTER('Form Data', 'Form Data'[PickUpOrDropOff] = "PickUp"),
'Form Data'[Date]
)
and this one for the column in the table
AveragePickUpColumn =
AVERAGEX(
FILTER('Form Data', 'Form Data'[PickUpOrDropOff] = "PickUp" && 'Form Data'[Client] = 'Client Schedules'[Client Initials]),
'Form Data'[Date]
)
I honestly got confused because there were a lot of conflicting tutorials and I got messed up along the way. All I want is the average pickup time per client and the average dropoff time per client. I would also like this data to be filterable. Please let me know if any additional screenshots
This is the schedule page where I am trying to make a calculated field
This is the relationship
This is the form data from the sign-in/out
For reference here is what the averages should be:
Solved! Go to Solution.
Hi @Anonymous ,
I created some data:
I'm not very clear about what you mean by date average, whether it refers to the average of the minimum date and the maximum date (hh:mm:ss), if it's convenient, you can explain the logic of date average, we can help you better.
Here are the steps you can follow:
1. Create calculated column.
If you want to get the average of the minimum and maximum dates after grouping (hh:mm:ss)
AVG(hhmmss) =
var _mindate=
MINX(FILTER(ALL('Table'),'Table'[Group]=EARLIER('Table'[Group])),[Scheduled DropOff])
var _maxdate=
MAXX(FILTER(ALL('Table'),'Table'[Group]=EARLIER('Table'[Group])),[Scheduled DropOff])
var _second=
DATEDIFF(
_mindate,_maxdate,SECOND)
var _count=
COUNTX(
FILTER(ALL('Table'),'Table'[Group]=EARLIER('Table'[Group])),[Scheduled DropOff])
var _avg=
DIVIDE(
_second,_count)
RETURN
TIME ( 0, 0, FLOOR ( _avg, 1 ) )
If you want to get the average date between the minimum and maximum dates after grouping.
AVG =
var _mindate=
MINX(FILTER(ALL('Table'),'Table'[Group]=EARLIER('Table'[Group])),[Scheduled DropOff])
RETURN
_mindate + [AVG(hhmmss)]
2. Set the data format as follows.
3. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi @Anonymous ,
I created some data:
I'm not very clear about what you mean by date average, whether it refers to the average of the minimum date and the maximum date (hh:mm:ss), if it's convenient, you can explain the logic of date average, we can help you better.
Here are the steps you can follow:
1. Create calculated column.
If you want to get the average of the minimum and maximum dates after grouping (hh:mm:ss)
AVG(hhmmss) =
var _mindate=
MINX(FILTER(ALL('Table'),'Table'[Group]=EARLIER('Table'[Group])),[Scheduled DropOff])
var _maxdate=
MAXX(FILTER(ALL('Table'),'Table'[Group]=EARLIER('Table'[Group])),[Scheduled DropOff])
var _second=
DATEDIFF(
_mindate,_maxdate,SECOND)
var _count=
COUNTX(
FILTER(ALL('Table'),'Table'[Group]=EARLIER('Table'[Group])),[Scheduled DropOff])
var _avg=
DIVIDE(
_second,_count)
RETURN
TIME ( 0, 0, FLOOR ( _avg, 1 ) )
If you want to get the average date between the minimum and maximum dates after grouping.
AVG =
var _mindate=
MINX(FILTER(ALL('Table'),'Table'[Group]=EARLIER('Table'[Group])),[Scheduled DropOff])
RETURN
_mindate + [AVG(hhmmss)]
2. Set the data format as follows.
3. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly