Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Averages Showing Wildly Incorrect Numbers

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 fieldThis is the relationshipThis is the form data from the sign-in/out 

For reference here is what the averages should be: 

  • Anonymous's avatar
    Anonymous
    2 years ago

    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

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    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