<!-- # hard line break macro for HTML -->

# @fiftyone/aggregations

## Hooks

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-useaggregation"></a>

### useAggregation

### @fiftyone/aggregations.useAggregation(options)

* **Arguments:**
  * **options** (`AggregationParams`)
* **Return type:**
  `Array<` `any` `>`

A hook for aggregating data from the **FiftyOne** backend.

**Aggregation Classes**

| JavaScript                                                  | Python                                                                                                                             |
|-------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| [`Values`](#fiftyone-aggregations.Values)                   | [`fiftyone.core.aggregations.Values`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.Values)                   |
| [`Bounds`](#fiftyone-aggregations.Bounds)                   | [`fiftyone.core.aggregations.Bounds`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.Bounds)                   |
| [`Count`](#fiftyone-aggregations.Count)                     | [`fiftyone.core.aggregations.Count`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.Count)                     |
| [`CountValues`](#fiftyone-aggregations.CountValues)         | [`fiftyone.core.aggregations.CountValues`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.CountValues)         |
| [`Distinct`](#fiftyone-aggregations.Distinct)               | [`fiftyone.core.aggregations.Distinct`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.Distinct)               |
| [`HistogramValues`](#fiftyone-aggregations.HistogramValues) | [`fiftyone.core.aggregations.HistogramValues`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.HistogramValues) |
| [`Mean`](#fiftyone-aggregations.Mean)                       | [`fiftyone.core.aggregations.Mean`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.Mean)                       |
| [`Std`](#fiftyone-aggregations.Std)                         | [`fiftyone.core.aggregations.Std`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.Std)                         |
| [`Sum`](#fiftyone-aggregations.Sum)                         | [`fiftyone.core.aggregations.Sum`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.Sum)                         |
| [`Values`](#fiftyone-aggregations.Values)                   | [`fiftyone.core.aggregations.Values`](../../api/fiftyone.core.aggregations.md#fiftyone.core.aggregations.Values)                   |

**Example**

```typescript
const [aggregate, points, loading] = foa.useAggregation({
  dataset,
  filters,
  view,
});

React.useEffect(() => {
  aggregate(
    [
      new foa.aggregations.Values({
        fieldOrExpr: "id",
      }),
      new foa.aggregations.Values({
        fieldOrExpr: `${path}.point.coordinates`,
      }),
    ],
    dataset.name
  );
}, [dataset, filters, view, path]);
```

## Types

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-bounds"></a>

### Bounds

### *class* @fiftyone/aggregations.Bounds()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-bounds-constructor"></a>

### @fiftyone/aggregations.new Bounds(params)

* **Arguments:**
  * **params** ([`BoundsParams`](#fiftyone-aggregations.BoundsParams))
* **Return type:**
  `plugins.fiftyone.aggregations.Bounds`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-count"></a>

### Count

### *class* @fiftyone/aggregations.Count()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-count-constructor"></a>

### @fiftyone/aggregations.new Count(params)

* **Arguments:**
  * **params** ([`CountParams`](#fiftyone-aggregations.CountParams))
* **Return type:**
  `plugins.fiftyone.aggregations.Count`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-countvalues"></a>

### CountValues

### *class* @fiftyone/aggregations.CountValues()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-countvalues-constructor"></a>

### @fiftyone/aggregations.new CountValues(params)

* **Arguments:**
  * **params** ([`CountValuesParams`](#fiftyone-aggregations.CountValuesParams))
* **Return type:**
  `plugins.fiftyone.aggregations.CountValues`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-distinct"></a>

### Distinct

### *class* @fiftyone/aggregations.Distinct()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-distinct-constructor"></a>

### @fiftyone/aggregations.new Distinct(params)

* **Arguments:**
  * **params** ([`DistinctParams`](#fiftyone-aggregations.DistinctParams))
* **Return type:**
  `plugins.fiftyone.aggregations.Distinct`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-histogramvalues"></a>

### HistogramValues

### *class* @fiftyone/aggregations.HistogramValues()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-histogramvalues-constructor"></a>

### @fiftyone/aggregations.new HistogramValues(params)

* **Arguments:**
  * **params** ([`HistogramValuesParams`](#fiftyone-aggregations.HistogramValuesParams))
* **Return type:**
  `plugins.fiftyone.aggregations.HistogramValues`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-mean"></a>

### Mean

### *class* @fiftyone/aggregations.Mean()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-mean-constructor"></a>

### @fiftyone/aggregations.new Mean(params)

* **Arguments:**
  * **params** ([`MeanParams`](#fiftyone-aggregations.MeanParams))
* **Return type:**
  `plugins.fiftyone.aggregations.Mean`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-std"></a>

### Std

### *class* @fiftyone/aggregations.Std()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-std-constructor"></a>

### @fiftyone/aggregations.new Std(params)

* **Arguments:**
  * **params** ([`StdParams`](#fiftyone-aggregations.StdParams))
* **Return type:**
  `plugins.fiftyone.aggregations.Std`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-sum"></a>

### Sum

### *class* @fiftyone/aggregations.Sum()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-sum-constructor"></a>

### @fiftyone/aggregations.new Sum(params)

* **Arguments:**
  * **params** ([`SumParams`](#fiftyone-aggregations.SumParams))
* **Return type:**
  `plugins.fiftyone.aggregations.Sum`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-values"></a>

### Values

### *class* @fiftyone/aggregations.Values()

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-values-constructor"></a>

### @fiftyone/aggregations.new Values(params)

* **Arguments:**
  * **params** ([`ValuesParams`](#fiftyone-aggregations.ValuesParams))
* **Return type:**
  `plugins.fiftyone.aggregations.Values`

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-boundsparams"></a>

### *class* @fiftyone/aggregations.BoundsParams()

### BoundsParams

| Name                     | Type   | Description   |
|--------------------------|--------|---------------|
| BoundsParams.expr        | `any`  |               |
| BoundsParams.fieldOrExpr | `any`  |               |
| BoundsParams.safe        | `any`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-countparams"></a>

### *class* @fiftyone/aggregations.CountParams()

### CountParams

| Name                    | Type   | Description   |
|-------------------------|--------|---------------|
| CountParams.expr        | `any`  |               |
| CountParams.fieldOrExpr | `any`  |               |
| CountParams.safe        | `any`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-countvaluesparams"></a>

### *class* @fiftyone/aggregations.CountValuesParams()

### CountValuesParams

| Name                          | Type   | Description   |
|-------------------------------|--------|---------------|
| CountValuesParams.expr        | `any`  |               |
| CountValuesParams.fieldOrExpr | `any`  |               |
| CountValuesParams.safe        | `any`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-distinctparams"></a>

### *class* @fiftyone/aggregations.DistinctParams()

### DistinctParams

| Name                       | Type   | Description   |
|----------------------------|--------|---------------|
| DistinctParams.expr        | `any`  |               |
| DistinctParams.fieldOrExpr | `any`  |               |
| DistinctParams.safe        | `any`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-histogramvaluesparams"></a>

### *class* @fiftyone/aggregations.HistogramValuesParams()

### HistogramValuesParams

| Name                              | Type   | Description   |
|-----------------------------------|--------|---------------|
| HistogramValuesParams.auto        | `any`  |               |
| HistogramValuesParams.bins        | `any`  |               |
| HistogramValuesParams.expr        | `any`  |               |
| HistogramValuesParams.fieldOrExpr | `any`  |               |
| HistogramValuesParams.range       | `any`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-meanparams"></a>

### *class* @fiftyone/aggregations.MeanParams()

### MeanParams

| Name                   | Type   | Description   |
|------------------------|--------|---------------|
| MeanParams.expr        | `any`  |               |
| MeanParams.fieldOrExpr | `any`  |               |
| MeanParams.safe        | `any`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-stdparams"></a>

### *class* @fiftyone/aggregations.StdParams()

### StdParams

| Name                  | Type   | Description   |
|-----------------------|--------|---------------|
| StdParams.expr        | `any`  |               |
| StdParams.fieldOrExpr | `any`  |               |
| StdParams.safe        | `any`  |               |
| StdParams.sample      | `any`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-sumparams"></a>

### *class* @fiftyone/aggregations.SumParams()

### SumParams

| Name                  | Type   | Description   |
|-----------------------|--------|---------------|
| SumParams.expr        | `any`  |               |
| SumParams.fieldOrExpr | `any`  |               |
| SumParams.safe        | `any`  |               |

<a id="fos-fiftyone-fiftyone-fiftyone-aggregations-aggregations-valuesparams"></a>

### *class* @fiftyone/aggregations.ValuesParams()

### ValuesParams

| Name                      | Type   | Description   |
|---------------------------|--------|---------------|
| ValuesParams.expr         | `any`  |               |
| ValuesParams.fieldOrExpr  | `any`  |               |
| ValuesParams.missingValue | `any`  |               |
| ValuesParams.unwind       | `any`  |               |
