## 📃 List & Aggregation Functions

Summarize the values pulled in through a link or lookup field — sums, averages, counts, filtering, and more.

| Function          | Description                                                                                                                                | Syntax                      | Parameters                                                                             | Example                                                                    |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `COUNT`           | Returns the number of items in a link/lookup field.                                                                                        | `COUNT(Field)`              | **Field** — the link row field to count.                                               | `COUNT(FIELD('Related Orders'))`                                           |
| `SUM`             | Returns the sum of all values in a lookup.                                                                                                 | `SUM(Lookup)`               | **Lookup** — the looked-up values to sum.                                              | `SUM(LOOKUP('Orders', 'Amount'))`                                          |
| `AVERAGE`         | Returns the average (mean) of all values in a lookup.                                                                                      | `AVERAGE(Lookup)`           | **Lookup** — the looked-up values to average.                                          | `AVERAGE(LOOKUP('Orders', 'Amount'))`                                      |
| `MIN`             | Returns the smallest value from a lookup.                                                                                                  | `MIN(Lookup)`               | **Lookup** — the looked-up values to compare.                                          | `MIN(LOOKUP('Orders', 'Amount'))`                                          |
| `MAX`             | Returns the largest value from a lookup.                                                                                                   | `MAX(Lookup)`               | **Lookup** — the looked-up values to compare.                                          | `MAX(LOOKUP('Orders', 'Amount'))`                                          |
| `STDDEV_POP`      | Returns the **population** standard deviation of the values in a lookup — use when the lookup contains an entire population, not a sample. | `STDDEV_POP(Lookup)`        | **Lookup** — the looked-up values.                                                     | `STDDEV_POP(LOOKUP('Orders', 'Amount'))`                                   |
| `STDDEV_SAMPLE`   | Returns the **sample** standard deviation of the values in a lookup — use when the lookup is only a sample of a larger population.         | `STDDEV_SAMPLE(Lookup)`     | **Lookup** — the looked-up values.                                                     | `STDDEV_SAMPLE(LOOKUP('Orders', 'Amount'))`                                |
| `VARIANCE_POP`    | Returns the **population** variance of the values in a lookup — use when the lookup contains an entire population, not a sample.           | `VARIANCE_POP(Lookup)`      | **Lookup** — the looked-up values.                                                     | `VARIANCE_POP(LOOKUP('Orders', 'Amount'))`                                 |
| `VARIANCE_SAMPLE` | Returns the **sample** variance of the values in a lookup — use when the lookup is only a sample of a larger population.                   | `VARIANCE_SAMPLE(Lookup)`   | **Lookup** — the looked-up values.                                                     | `VARIANCE_SAMPLE(LOOKUP('Orders', 'Amount'))`                              |
| `ANY`             | Returns `TRUE` if at least one looked-up value meets a condition.                                                                          | `ANY(Lookup Condition)`     | **Lookup Condition** — a condition built on a lookup's values.                         | `ANY(LOOKUP('Orders', 'Status') = 'Late')`                                 |
| `EVERY`           | Returns `TRUE` only if every looked-up value meets a condition.                                                                            | `EVERY(Lookup Condition)`   | **Lookup Condition** — a condition built on a lookup's values.                         | `EVERY(LOOKUP('Orders', 'Status') = 'Paid')`                               |
| `FILTER`          | Narrows a lookup down to only the values that meet a given condition — typically wrapped in another aggregation.                           | `FILTER(Lookup, Condition)` | **Lookup** — the values to filter.<br>**Condition** — the rule to filter by.           | `SUM(FILTER(LOOKUP('Orders', 'Amount'), LOOKUP('Orders', 'Amount') > 10))` |
| `JOIN`            | Combines all values from a lookup into a single text string, separated by the given separator.                                             | `JOIN(Lookup, Separator)`   | **Lookup** — the values to combine.**Separator** — the text placed between each value. | `JOIN(LOOKUP('Orders', 'ID'), ', ') = '101, 102, 103'`                     |


