Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/assets/explore/insights/filter-3-light.png
Diff not rendered.
Binary file removed docs/assets/explore/insights/fuzzy-insights.png
Diff not rendered.
19 changes: 19 additions & 0 deletions docs/explore/filtering-controls/filter-and-sort/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# :material-api:{ .middle style="color: var(--q-brick)" } Filter and Sort API

The Explore filter bar applies query parameters to each Explore tab's API endpoint. The `datastore` and `tag` parameters are shared across most Explore tab endpoints; `report_date` and `timeframe` are specific to the Insights endpoint.

!!! tip
For complete API documentation, including request and response schemas, visit the [API docs](https://demo.qualytics.io/api/docs){:target="_blank"}.

## Common Filter Parameters

| Parameter | Type | Description |
| :--- | :--- | :--- |
| `datastore` | array of integers | Source datastore IDs to include. Multiple values in the list are combined with **OR**. Available on most Explore tab endpoints. |
| `tag` | array of strings | Tag names to include. Multiple values in the list are combined with **OR**. Available on most Explore tab endpoints. |
| `report_date` | string (`YYYY-MM-DD`) | Anchor date for the date-range calculation. Defaults to today. Available on the Insights endpoint. |
| `timeframe` | string | One of `week`, `month`, `quarter`, `year`. Defaults to `week`. Available on the Insights endpoint. |

When both `datastore` and `tag` are provided, they are combined with **AND**.

Refer to the [API docs](https://demo.qualytics.io/api/docs){:target="_blank"} for the exact endpoint paths and any tab-specific parameters.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# :material-information-outline:{ .middle style="color: var(--q-brick)" } How Filter and Sort Work

The Explore filter bar applies the same selection to every Explore tab, remembers it for the current browser tab, and limits the list of datastores to what your team can access. This page explains those behaviors in detail.

## How Filters Are Applied

When you change a filter on the Explore filter bar:

1. The new selection is saved for the current browser tab.
2. Every Explore tab (Insights, Activity, Profiles, Observability, Checks, and Anomalies) reads from the same selection.
3. The data shown on each tab updates to match the selection without needing to reload the page.

## When Filters Stay Applied

The filter bar remembers your selection in the current browser tab:

- **Across tab navigation** (Explore → other pages → Explore): the selection is preserved.
- **Across a page refresh**: the selection is restored when the page loads.
- **Across browser tabs or windows**: each browser tab has its own selection. A new tab starts with no filters applied.
- **After closing the browser tab**: the selection is cleared. Reopening Qualytics in a new tab starts with no filters applied.

## How Selections Combine

Within a single field, multiple selections are combined with **OR**. Across fields, the selections are combined with **AND**.

For example, if you select datastores **A** and **B**, and tags **production** and **critical**, only data from datastore A or B that is also tagged `production` or `critical` appears on the Explore tabs.

## Search Within Dropdowns

The **Source Datastores** and **Tags** dropdowns filter their option lists as you type. The search is case-insensitive and matches any part of the option's name. The search field shows the placeholder `Type or choose`.

For example, typing `data` matches both `Healthcare Analytics` and `Production Data Warehouse`.

## Datastore List by Role

The list of datastores in the **Source Datastores** dropdown depends on your role:

- **Admin**: every datastore in the workspace.
- **Member** and **Manager**: only datastores their team has access to.

The list refreshes if your team membership changes. See [Permissions](permissions.md){:target="_blank"} for the full matrix.

## Tags Available to Everyone

The Tags dropdown shows every tag in the workspace, regardless of role. Filtering by a tag whose data is only on datastores outside your team's access returns an empty result on the tabs.

## URL Parameter

Applying a filter preset adds a `?filter=<id>` parameter to the URL (see [Filter Presets](../../filter-presets/getting-started.md){:target="_blank"}). Other filters (datastores, tags, report date, timeframe) do not appear in the URL — they are saved only within the current browser tab.

Copying the URL of a filtered Explore view restores only the filter preset selection on the recipient's side, not other filter combinations.

## Sort

Each Explore tab has its own sort selection. The sort is independent of the filter bar and resets when you switch to a different Explore tab.
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# :material-filter-outline:{ .middle style="color: var(--q-brick)" } Filter and Sort Introduction

The Explore page filter bar refines the data shown across every Explore tab. The same selection is applied to all tabs at once.

## Filter Components

The Explore filter bar groups its primary controls at the top of the page:

![filter-bar](../../../../assets/explore/filtering-controls/shared/filter-bar.png)

| No | Component | Description |
| :---- | :---- | :---- |
| 1. | **Saved Filters** | Apply a named filter preset or save the current selection as a new one. See [Filter Presets](../../filter-presets/getting-started.md){:target="_blank"}. |
| 2. | **Source Datastores** | Filter the view to one or more source datastores. |
| 3. | **Tags** | Filter the view to data with one or more selected tags. |

## Impact on the Explore Page

The filter bar is shared across every Explore tab. When you change a filter, the selection applies to:

- **Insights**: Quality Score, data overview, check distribution, and other metrics update to match the selection.
- **Activity**: The runs and schedules table shows only operations on the selected datastores.
- **Profiles**: The containers and fields listing shows only the selected datastores and tags.
- **Observability**: Volumetric and Metric checks show only the selected datastores and tags.
- **Checks**: The checks list shows only checks belonging to the selected datastores and tags.
- **Anomalies**: The anomalies list shows only anomalies from the selected datastores and tags.

Switching tabs keeps the filter selection. You can drill from a high-level Insights view to a detailed Anomalies list without re-applying filters.

## How Filter Selections Combine

Within a single field, multiple selections are combined with **OR** (union). Across fields, the selections are combined with **AND** (intersection).

For example, if you select datastores **A** and **B**, and tags **production** and **critical**:

- Datastores: data from datastore A or B is included.
- Tags: data tagged `production` or `critical` is included.
- Combined: only data from datastore A or B that is also tagged `production` or `critical` appears in the tabs.

## Filter Persistence

The filter bar remembers your selection in the current browser tab:

- **Across Explore tabs**: filters stay set as you switch between Insights, Activity, Profiles, Observability, Checks, and Anomalies. The same selection applies to every tab.
- **Across a page refresh**: filters stay set after a reload in the same browser tab.
- **Across browser tabs or windows**: filters are not shared. A new browser tab starts with no filters applied.

To save and share a filtered view, see [Filter Presets](../../filter-presets/getting-started.md){:target="_blank"}.

## Search Within Dropdowns

The **Source Datastores** and **Tags** dropdowns include a search box at the top with the placeholder `Type or choose`. Search is case-insensitive and matches any part of the option's name. For example, typing `data` matches both `Healthcare Analytics` and `Production Data Warehouse`.

## Sort

Sorting is per-tab, not part of the filter bar. Each Explore tab has its own sort controls (column headers or a sort dropdown) that determine the order of the listed records on that tab. The sort selection is independent of the filter bar and is not saved as part of the filter selection.

## Real-World Examples

- **Production health monitoring.** Filter by your production datastores and the `production` tag, then switch between Insights (to check the overall Quality Score), Anomalies (to see active issues), and Activity (to confirm scans are running on schedule).
- **Compliance audit.** Filter by datastores subject to compliance and the `HIPAA` tag, then export the Insights data for the audit report.
- **Incident triage.** When responding to a data quality incident, filter by the affected datastore and walk through Insights, then Anomalies, then Checks to identify the root cause.
- **Team handoff.** Save the filter selection for your team's daily review as a [filter preset](../../filter-presets/getting-started.md){:target="_blank"} and share the link so everyone starts from the same view.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# :material-shield-lock-outline:{ .middle style="color: var(--q-brick)" } Filter and Sort Permissions

Filtering on the Explore page depends on your workspace role and team membership. The **Source Datastores** filter is limited to datastores your team can access; the **Tags** filter shows every tag in the workspace.

## Permission Matrix

| Action | Member | Manager | Admin |
| :--- | :---: | :---: | :---: |
| **Source Datastores** | | | |
| Filter by datastores your team has access to | :material-check-circle:{ title="Allowed" } | :material-check-circle:{ title="Allowed" } | :material-check-circle:{ title="Allowed" } |
| Filter by datastores outside your team's access | :material-close-circle-outline:{ title="Not allowed" } | :material-close-circle-outline:{ title="Not allowed" } | :material-check-circle:{ title="Allowed" } |
| **Tags** | | | |
| Filter by any tag in the workspace | :material-check-circle:{ title="Allowed" } | :material-check-circle:{ title="Allowed" } | :material-check-circle:{ title="Allowed" } |

## How Permissions Are Applied

- **Source Datastores dropdown:** Lists only datastores your team can access. Admins see all datastores in the workspace.
- **Tags dropdown:** Lists all tags in the workspace, regardless of role. Filtering by a tag whose data is only on datastores your team cannot access returns an empty result in the Explore tabs.

## Cross-Reference

For the complete workspace permission matrix, see [User Roles](../../../../settings/security/users/roles/overview.md){:target="_blank"}.
49 changes: 49 additions & 0 deletions docs/explore/filtering-controls/filter-and-sort/faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# :material-help-circle-outline:{ .middle style="color: var(--q-brick)" } Filter and Sort FAQ

Answers to common questions about the Explore page filter bar, including visibility, persistence, search, and sharing.

## General

### What does the filter bar control?

The filter bar applies the same selection to every Explore tab (Insights, Activity, Profiles, Observability, Checks, and Anomalies). Changing a filter on one tab applies it to all the other tabs as you navigate between them.

### How are multiple selections combined?

Within a single filter field (Source Datastores or Tags), multiple selections are combined with **OR** (union). Across fields, the selections are combined with **AND** (intersection). See [Introduction](deep-dive/introduction.md){:target="_blank"} for details.

## Visibility

### Why don't I see a datastore in the Source Datastores dropdown?

The Source Datastores dropdown lists only datastores your team has access to. If a datastore you expect is missing, ask a Manager or Admin to grant your team access. Admins see all datastores in the workspace.

### Why does my filter by tag return no results?

Even though every tag in the workspace appears in the dropdown, filter results are limited to data your team can access. If a tag is only on data in datastores your team cannot access, the result is empty. Verify that your team has access to at least one datastore that uses the tag.

## Persistence

### Do my filters stay after a page refresh?

Yes, within the same browser tab. The filter bar remembers your selection across navigations and refreshes in the same browser tab.

### Do my filters carry over to other browser tabs or windows?

No. Each browser tab or window starts with no filters applied.

### Can I share a filtered view with someone else?

Yes. Save the selection as a [Filter Preset](../filter-presets/getting-started.md){:target="_blank"}. When you apply a preset, the page URL updates so you can copy and share the link to restore the same filtered view for someone else.

## Search

### How does the search in the dropdown work?

The Source Datastores and Tags dropdowns include a search box at the top. Search is case-insensitive and matches any part of the option's name. For example, typing `data` matches both `Healthcare Analytics` and `Data Warehouse`.

## Sort

### Where do I sort the results?

Sorting is per-tab, not part of the filter bar. Each Explore tab has its own sort controls in its toolbar or column headers. The sort selection is independent of the filter bar.
105 changes: 105 additions & 0 deletions docs/explore/filtering-controls/filter-and-sort/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Filter and Sort Getting Started

The Explore page filter bar lets you refine the data shown across the Insights, Activity, Profiles, Observability, Checks, and Anomalies tabs. You can filter by **Source Datastores** and **Tags**, with **Report Date** and **Timeframe** available on the Insights tab. Save reusable combinations as [Filter Presets](../filter-presets/getting-started.md).

---

## Deep Dive

Understand the four filter controls, how they work, and who can use them.

<div class="grid cards" markdown>

- :material-book-open-outline:{ .lg .middle } **Introduction**

---

The four filter controls, how selections combine, how filters stay set when you switch tabs, and search behavior in dropdowns.

[:octicons-arrow-right-24: Introduction](deep-dive/introduction.md)

- :material-information-outline:{ .lg .middle } **How It Works**

---

How filter values are passed to each Explore tab, how your selections are remembered between visits, how datastores you see are scoped to your team, and the URL parameter for sharing a filtered view.

[:octicons-arrow-right-24: How It Works](deep-dive/how-it-works.md)

- :material-shield-lock-outline:{ .lg .middle } **Permissions**

---

Datastore visibility based on your team access, and how tag filtering behaves for datastores your team cannot access.

[:octicons-arrow-right-24: Permissions](deep-dive/permissions.md)

</div>

---

## How-tos

Add and remove datastore and tag filters on the Explore page.

<div class="grid cards" markdown>

- :material-plus-circle:{ .lg .middle } **Add a Datastore Filter**

---

Filter the Explore page by one or more source datastores.

[:octicons-arrow-right-24: Add a Datastore Filter](how-tos/add-datastore-filter.md)

- :material-plus-circle:{ .lg .middle } **Add a Tags Filter**

---

Filter the Explore page by one or more tags.

[:octicons-arrow-right-24: Add a Tags Filter](how-tos/add-tags-filter.md)

- :material-minus-circle:{ .lg .middle } **Remove a Datastore Filter**

---

Clear all datastores or remove individual ones from the selection.

[:octicons-arrow-right-24: Remove a Datastore Filter](how-tos/remove-datastore-filter.md)

- :material-minus-circle:{ .lg .middle } **Remove a Tags Filter**

---

Clear all tags or remove individual ones from the selection.

[:octicons-arrow-right-24: Remove a Tags Filter](how-tos/remove-tags-filter.md)

</div>

---

## API & FAQ

Programmatic access and answers to common questions about the filter bar.

<div class="grid cards" markdown>

- :material-api:{ .lg .middle } **API**

---

Apply filters to the Explore page via the API.

[:octicons-arrow-right-24: API](api.md)

- :material-help-circle-outline:{ .lg .middle } **FAQ**

---

Filter visibility, how filters stay set between visits, search, and sharing options.

[:octicons-arrow-right-24: FAQ](faq.md)

</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# :material-plus-circle:{ .middle style="color: var(--q-brick)" } Add a Datastore Filter

Filter Explore data by one or more source datastores using the **Source Datastores** field in the filter bar.

**Step 1:** Locate the **Source Datastores** field in the Explore page filter bar and click it.

![step-1-locate-field](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-datastore-filter/step-1-locate-field.png)

**Step 2:** The dropdown opens, showing the list of datastores your team can access with a search box at the top.

![step-2-open-dropdown](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-datastore-filter/step-2-open-dropdown.png)

**Step 3:** (Optional) Use the search box to find a specific datastore. Type a partial name to filter the list.

![step-3-find-datastore](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-datastore-filter/step-3-find-datastore.png)

**Step 4:** Click each datastore you want to include. A **checkmark :material-check:** appears next to each selected item.

![step-4-select-datastore](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-datastore-filter/step-4-select-datastore.png)

**Step 5:** Click outside the dropdown to close it.

![step-5-close-dropdown](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-datastore-filter/step-5-close-dropdown.png)

The filter bar updates with the selected datastores, and each Explore tab updates to show only data from those datastores.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# :material-plus-circle:{ .middle style="color: var(--q-brick)" } Add a Tags Filter

Filter Explore data by one or more tags using the **Tags** field in the filter bar.

**Step 1:** Locate the **Tags** field in the Explore page filter bar and click it.

![step-1-locate-field](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-tags-filter/step-1-locate-field.png)

**Step 2:** The dropdown opens, showing every tag in the workspace with a search box at the top.

![step-2-open-dropdown](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-tags-filter/step-2-open-dropdown.png)

**Step 3:** (Optional) Use the search box to find a specific tag. Type a partial name to filter the list.

![step-3-find-tag](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-tags-filter/step-3-find-tag.png)

**Step 4:** Click each tag you want to include. A **checkmark :material-check:** appears next to each selected item.

![step-4-select-tag](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-tags-filter/step-4-select-tag.png)

**Step 5:** Click outside the dropdown to close it.

![step-5-close-dropdown](../../../../assets/explore/filtering-controls/filter-and-sort/how-tos/add-tags-filter/step-5-close-dropdown.png)

The filter bar shows the selected tags, and each Explore tab updates to show only data with those tags.

!!! tip "Create a new tag inline"
If you have permission to create tags, an **Add Tag :material-plus-circle:** icon appears next to the search box at the top of the dropdown. Click it to create a new tag without leaving the Explore page.
Loading
Loading