> For the complete documentation index, see [llms.txt](https://docs.dbnl.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dbnl.com/v0.24.x/using-distributional/tests/creating-tests/using-filters-in-tests.md).

# Using Filters in Tests

Filters can be used to specify a sub-selection of rows in Runs you would like to be tested.

For example, you might want to create a test that asserts that the absolute difference of means of the correct churn predictions is <= 0.2 between Baseline and Experiment Runs, **only for rows where the `loc` column is `NY`**.

## Apply a Filter to a Test

{% tabs %}
{% tab title="UI" %}
Navigate to the[ Create Test page](/v0.24.x/using-distributional/tests/creating-tests.md#creating-tests-manually) and create the test with the filter specified on the baseline and experiment run.

<figure><img src="/files/CUz4khy3eQAjuZnPmMYg" alt=""><figcaption><p>Create Test Page - Filters</p></figcaption></figure>

Filter for the baseline Run:

```
equal_to({BASELINE}.loc,'NY')
```

Filter for the experiment Run:

```
equal_to({EXPERIMENT}.loc,'NY')
```

{% endtab %}

{% tab title="SDK" %}
You can create a test with filters in the SDK via the [`create_test`](/v0.24.x/reference/python-sdk/dbnl.experimental.md#create_test) function:

```python
import dbnl
dbnl.login()

proj = dbnl.get_or_create_project(name="My Project")

dbnl.experimental.create_test(
    test_spec_dict={
        "project_id": proj.id,
        "name": "abs diff of mean of correct churn preds of NY users is within 0.2",
        "statistic_name": "abs_diff_mean",
        "statistic_params": {},
        "assertion": {
            "name": "less_than_or_equal_to",
            "params": {
                "other": 0.2
            },
        },
        "statistic_inputs": [
            {
                "select_query_template": {
                    "select": "{BASELINE}.pred_correct",
                    "filter": "equal_to({BASELINE}.loc, 'NY')"
                }
            },
            {
                "select_query_template": {
                    "select": "{EXPERIMENT}.pred_correct",
                    "filter": "equal_to({EXPERIMENT}.loc, 'NY')"
                }
            },
        ],
    }
)
```

{% endtab %}
{% endtabs %}

Once you've used one of the methods above, you can now see the new test in the Test Configuration tab of your Project.

<figure><img src="/files/1s2WsX8VKEzvWq8lpsMO" alt=""><figcaption></figcaption></figure>

When a Test Session is created, this test will use the defined filters to sub-select for the rows that have the `loc` column equal to `NY`.

<figure><img src="/files/ApxCb8TFAE9tkp04fvYJ" alt=""><figcaption></figcaption></figure>
