# FILTER

The **FILTER** formula filters measure values across a period range and returns only those values that meet the specified conditions. You need to combine the FILTER function with an aggregation function like SUM/AVG, etc. to get the required results.

## Syntax

```javascript
FILTER(measure, periodRange, condition1, [condition2],...)
```

## Arguments

measure – The measure to be filtered. Required.

periodRange – A period range array returned by the [PERIOD\_RANGE](https://docs.inforiver.com/formula-syntax/date-functions/period_range) function. Required.

condition1, \[condition2], ... - Condition(s) that are used to check and filter (filter criteria). To refer to the current value, use the keyword **THIS**. Required.&#x20;

## Return value

Returns a range of measure values that satisfy the specified condition(s).

## Example

```javascript
FILTER([Sales], PERIOD_RANGE(DATE(2023,1,1),DATE(2023,12,31),THIS>1000)
//Returns the sales values for the year 2023 that are greater than 1000
```

In the sales report below, we combined the **FILTER** function with [**SUM**](https://docs.inforiver.com/formula-syntax/math-functions/sum) to aggregate only the cells that meet a specific condition (>1000). We only sum up sales when they exceed 1000.

In the *Envelopes* row the sales for Q1 and Q4 meet the condition; those two cell values are returned by the FILTER function and added together.

The FILTER measure is blank for the *Fasteners* row because none of the cells have sales greater than 1000.

<figure><img src="https://3062809325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEbkCXCUXmtUq5tcnUtZE%2Fuploads%2Fn7pzWPBMaSJx6YQDdS2O%2Fimage.png?alt=media&#x26;token=5dcc15fa-ae87-4e17-965c-ab81b2fa0a7f" alt=""><figcaption><p>FILTER</p></figcaption></figure>
