# AGGREGATE

The **AGGREGATE** formula performs the specified aggregation, such as minimum/maximum/average/sum, on a measure over a specified time range.

## Syntax

```javascript
AGGREGATE(measure, startDate, endDate, aggregationType)
```

## Arguments

measure – The measure to be aggregated. Required.

startDate – Start date of the period range. Required.

endDate- End date of the period range. Required.

aggregationType - Aggregation method like AVG/SUM/MIN/MAX/MEDIAN. Required.

## Return value

Returns the custom aggregation applied on the measure over the specified date range.

## Example

```javascript
AGGREGATE([Profit], SHIFT(CURRENT_PERIOD, "-1M"), SHIFT(CURRENT_PERIOD, "-3M"), "MIN")
//Calculates the minimum of the profit in the past 3 months

AGGREGATE([Sales], DATE(2024,4,1), DATE(2024,8,31), "MEDIAN")
//Calculates the median of sales between April 2024 and August 2024
```

The AGGREGATE function has been used to find the minimum sales three months prior to each month in the report.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2FKQt5e8OyR0y2nzcuTQaP%2Fimage.png?alt=media&#x26;token=8ca2bd12-d4d7-40a5-b0d4-7752ea66cfea" alt=""><figcaption><p>AGGREGATE</p></figcaption></figure>
