> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arya.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Filters and formulas

> Combine complex conditions and add computed columns to any list.

## Advanced filters

Every list supports combined filters with AND/OR and logical brackets.

### Available operators

| Field type        | Operators                                                      |
| ----------------- | -------------------------------------------------------------- |
| Text              | contains, doesn't contain, equals, different, empty, not empty |
| Number / Currency | `=`, `≠`, `<`, `≤`, `>`, `≥`, between, empty                   |
| Date              | is, before, after, between, last N days, next N days           |
| Select            | is, is not, in list, empty                                     |
| Reference         | is, is not, any, empty                                         |
| Checkbox          | yes, no                                                        |
| Formula           | depends on output type                                         |

### AND/OR groups

<Frame>
  <img src="https://mintcdn.com/agevole/cM9eEPJE8FVhTNOb/images/liste/en/filter-groups.svg?fit=max&auto=format&n=cM9eEPJE8FVhTNOb&q=85&s=680caa73904445225b1465d050a22cf7" alt="Filter editor with nested AND/OR groups" width="1200" height="720" data-path="images/liste/en/filter-groups.svg" />
</Frame>

Example: `(stage = Proposal OR stage = Negotiation) AND value > 20000 AND owner = me`.

### Filters on linked fields

Filter deals by a linked company attribute:

* *"Deals at Retail industry companies"*: `deal.company.industry = Retail`

Navigate references with `.` in the field picker.

## Computed columns (formulas)

Add columns without creating a permanent attribute on the object.

<Steps>
  <Step title="Add column">
    From list → **+ Column → Formula**.
  </Step>

  <Step title="Write the expression">
    Use the editor with suggestions and live validation.

    <Frame>
      <img src="https://mintcdn.com/agevole/cM9eEPJE8FVhTNOb/images/liste/en/formula-column.svg?fit=max&auto=format&n=cM9eEPJE8FVhTNOb&q=85&s=9606c1dc80f22f76562b4f7e1e5a5114" alt="Formula editor with live value preview" width="1200" height="720" data-path="images/liste/en/formula-column.svg" />
    </Frame>
  </Step>

  <Step title="Save">
    The column appears in the list, live-updated as records change.
  </Step>
</Steps>

### Formula examples

```
// Weighted deal value
value * probability / 100

// Days since creation
DAYS_BETWEEN(created_at, TODAY())

// Priority based on value
IF(value > 50000, "High", IF(value > 10000, "Medium", "Low"))

// Contact full name
CONCAT(first_name, " ", last_name)

// Company YTD revenue
SUM(invoices WHERE invoice.date >= START_OF_YEAR() AND invoice.status = "Paid", amount)
```

### Available functions

**Numeric**: `SUM`, `AVG`, `MIN`, `MAX`, `ROUND`, `ABS`, `POWER`
**Text**: `CONCAT`, `UPPER`, `LOWER`, `LEFT`, `RIGHT`, `LEN`, `REPLACE`
**Date**: `TODAY`, `NOW`, `DAYS_BETWEEN`, `START_OF_MONTH`, `END_OF_YEAR`, `DATE`, `YEAR`, `MONTH`
**Logic**: `IF`, `AND`, `OR`, `NOT`, `SWITCH`
**Aggregations**: `SUM`, `COUNT`, `AVG` on linked records with `WHERE` clause

See [Formula glossary](/en/reference/glossary) for the full reference.

## AI-assisted formula builder

Click **Suggest with AI** → describe in natural language ("I want a field that calculates days until deadline"). Arya generates the expression.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Are formulas recomputed in real time?">
    Yes, every time input fields change. For expensive formulas Arya can enable caching (recompute every N minutes).
  </Accordion>

  <Accordion title="Can I use formulas in filters?">
    Yes, every formula column is filterable and sortable like a normal field.
  </Accordion>

  <Accordion title="Are formulas visible outside the list?">
    No, a list formula column exists only in that list. For workspace-wide, create it as a permanent attribute in Object settings.
  </Accordion>
</AccordionGroup>
