# `Macaw.Data.Operations.Transforms.Aggregate`
[🔗](https://github.com/dcoai/macaw_data/blob/v0.5.3/lib/macaw/data/operations/transforms/group.ex#L1)

`aggregate` (spec/04 §4.10): one row per distinct value of `by`, in order of first
appearance (a list of fields groups by every one, a `nil` value a group of its own),
holding `by`'s columns and, under `as`, the named aggregate (`fn`) of the group's
readings of `field`, `nil`s dropped; without `by`, one row of `as` alone. A pair field
`[x, y]` reads each row as the point `[x, y]`, `x` in seconds when it is a time.

The columns are read from the table's own storage, a packed numeric column without
building a row list.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
