Not sure if this has been split off into another topic, but there are some oddities and some feature requests in the aggregation functionality that would be nice to resolve:
-
Issue: When aggregating by Average, NULL values are interpreted as 0. While possibly valid if a user intends NULL to be interpreted as 0, but usually NULL is meant to be NULL and calculation of average should ignore these records.
In other words,average(2, 3, 0, 7) = 12 / 4 = 3
whileaverage(2, 3, NULL and 7) = 12 / 3 = 4
.
Perhaps a switch to allow both options, but if not, defaulting to NULL being not counted as an observation instead of NULL = 0 is more appropriate. -
It would be useful to add FIRST_VALUE and LAST_VALUE to the default aggregations. This is especially useful for time series (i.e. when grouped, show the final result of a running total column). MIN/MAX doesn't always work here as a field could be declining or increasing over time and therefore the final value might be either the MIN or MAX (or, frankly, none of the above).
-
I don't have a specific use case for it, but having the ability to aggregate by MODE may also be useful
-
I'd really like to enable/disable aggregations by level of grouping. For example, it may make sense to sum a field for the lowest level of grouping, but not across the top level of grouping. If I could hide the aggregation at the top level and leave it on for the lower level when expanded, that would be great.
Thanks!