> For the complete documentation index, see [llms.txt](https://docs.darcyiq.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.darcyiq.com/organize/lists/filtering-and-pivots.md).

# Filtering, Sorting & Pivots

Search, filter, sort, and summarize your list data

Because list columns are properly typed, finding and summarizing data works the way you'd expect from a database rather than a spreadsheet. Filtering, sorting, and searching all run on the server, so a list with thousands of rows stays responsive.

{% hint style="success" %}
Rows load in pages of **200**. You're not waiting for the whole list to download before you can do anything with it.
{% endhint %}

## Search & Filter

Click **Filter** in the toolbar. A blue dot on the button tells you a filter is currently active.

| Control               | What it does                                                                                  |
| --------------------- | --------------------------------------------------------------------------------------------- |
| **Search rows...**    | Matches text across your columns                                                              |
| **Status**            | Narrow to **All**, **Pending**, **Processing**, **Complete**, **Failed**, or **Disqualified** |
| **Clear all filters** | Resets everything back to the full list                                                       |

{% hint style="info" %}
Search scans the first 20 columns. On a very wide list you'll see a **Search narrowed** notice telling you the rest weren't checked — filter by status or use chat for a precise query if you need to reach a later column.
{% endhint %}

## Sorting

Click **Sort** in the toolbar, or click a column header to cycle through ascending, descending, and unsorted. The sort popover shows the direction as **A→Z** or **Z→A**, and **Clear sort** returns to the default order.

Sorting is where typed columns earn their keep. A Number column sorts numerically, so 9 comes before 10 instead of after it, and a Date and Time column sorts chronologically rather than alphabetically.

## Pivot Tables

The **Pivot** view summarizes your list instead of listing it — how many accounts per region, total contract value per owner, average score per segment.

{% stepper %}
{% step %}
**Open the pivot builder** Click **Pivot** in the toolbar to open the **Pivot Table** panel.
{% endstep %}

{% step %}
**Assign your fields** Drag columns from **Fields** into the drop zones: **Rows** (up to two), **Columns** (one), and **Values** (one).
{% endstep %}

{% step %}
**Choose how to summarize** Set **Summarize by** to **Count**, **Sum**, **Average**, **Min**, or **Max**.
{% endstep %}

{% step %}
**Apply** Click **Apply Pivot**. A stats bar shows how many groups, pivot columns, and source rows went into the result, with a **Total** row at the bottom.
{% endstep %}
{% endstepper %}

Use **Copy Pivot** or **Export Pivot CSV** to take the summary elsewhere, and **Clear** to return to the table.

{% hint style="info" %}
Pivots are calculated across your entire list, so applying one to a large list loads all the rows first and may take a moment.
{% endhint %}

## Asking Darcy Instead

For anything more specific than the filter panel offers, ask Darcy in chat from inside the list. She queries it directly with the full range of comparisons — equals, greater than, contains, starts with, is empty, and so on — combined across multiple columns.

She can also aggregate server-side, so questions like *"average deal size by region for accounts created this quarter"* are answered without loading a single row into your browser.

{% hint style="info" %}
Darcy reads and inserts rows directly. Updating or deleting rows asks for your approval first, so a bulk change is never a surprise.
{% endhint %}

## Bulk Updates

Darcy can update many rows in one pass by matching on a value you specify — for example, "set the Owner to Jamie everywhere Region is EMEA." Matching is case-insensitive and ignores surrounding spaces.

If a match is ambiguous, meaning more than one row matches, she updates the first and tells you it was ambiguous rather than guessing across all of them.

## Bulk Deletion

Clearing out thousands of rows by ticking checkboxes isn't realistic, so Darcy can delete by **filter** — "delete every row where Status is Disqualified and Created is before January."

That deletion is deliberately two steps. The first pass is a **preview**: nothing is deleted, and Darcy reports how many rows match. You confirm that count, and only then are the rows removed. If the list changed in between and the count no longer matches, the delete is refused and the new count comes back — so a filter that went stale can't quietly take rows you never saw.

{% hint style="danger" %}
**Deleting rows is permanent.** Unlike archiving a list, deleted rows are not recoverable. Read the previewed count before you confirm it.
{% endhint %}

She can also delete a specific set of rows by id, and for very large sets she can work from a file of ids rather than reading them all into the conversation. Either way, deleting requires editor access — a viewer is refused.

## Related

* [Lists](/organize/lists.md) — creating lists and adding data
* [Columns & Configuration](/organize/lists/columns.md) — column types and why they matter here
* [Processing Rows with AI](/organize/lists/processing-rows.md) — enriching rows with an agent


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.darcyiq.com/organize/lists/filtering-and-pivots.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
