# Add a Computed Table

Source: https://userguide.qualytics.io/container/computed-tables/how-tos/add/

Add a Computed Table to a JDBC or native source datastore. The Computed Table becomes a container inside that datastore, alongside the base tables and views, and can be profiled and monitored like any other container.

> **Info: Related**
>
> - Concept: [Introduction](https://userguide.qualytics.io/container/computed-tables/deep-dive/introduction/) for what a Computed Table is.
> - Mechanics: [How It Works](https://userguide.qualytics.io/container/computed-tables/deep-dive/how-it-works/) for validation, referencing rules, and execution.
> - Comparison: [Computed Table vs Computed File](https://userguide.qualytics.io/container/computed-tables/deep-dive/computed-table-vs-computed-file/) if you are not sure which one you need.

> **Tip: Show me how**
>
> The app can walk you through this. Click **Show me how**  in the form's header, or press `H` while it is open, and the **Add a Computed Table or File** walkthrough highlights each step while you fill in the real form. See [The How-tos Scope](https://userguide.qualytics.io/using-the-platform/web-app/global-search/command-palette/#the-how-tos-scope) for every way to start one.

## Field reference

The **Add Computed Table** modal has three sections. Only **Name** and **Query** are required; the rest can be filled in later with [Edit](https://userguide.qualytics.io/container/computed-tables/how-tos/edit/).

### Name and Query

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Name** | Yes | Text | A descriptive, meaningful name for the Computed Table (for example, `patient_lifetime_value`). Spaces are replaced with underscores automatically. Must be unique inside the datastore. |
| **Query** | Yes | Text | A valid SQL statement in the parent datastore's dialect (Spark SQL on native datastores, as [SQL Dialects](https://userguide.qualytics.io/container/computed-tables/deep-dive/sql-dialects/) explains). The query can reference any physical table or view in this datastore. Fully-qualified names (`SCHEMA.TABLE`) are required for SQL Server, Oracle, and Redshift. Press `Ctrl`+`Space` inside the editor for hints. See [How It Works](https://userguide.qualytics.io/container/computed-tables/deep-dive/how-it-works/) for the full referencing rules. |

> **Warning: Fully-qualified names**
>
> On **SQL Server, Oracle, or Redshift** datastores, the query must reference every table with its fully-qualified name (`SCHEMA.TABLE`). Unqualified names on these connectors will fail at Validate or Save.

### Description

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Description** | No | Text | A short business summary of what the Computed Table represents. The field opens a Markdown editor (up to 8,000 characters) that can be pinned to the side of the page, so the query and the description stay visible together. |

> **Tip: Let AgentQ write the description**
>
> When [AgentQ](https://userguide.qualytics.io/agentq/getting-started/) is configured for your deployment, a **Suggest**  button appears next to **Description**. Click it and AgentQ drafts a description from the Computed Table's current form values; review the text, adjust it if needed, and save as usual. See [Description Suggestions](https://userguide.qualytics.io/agentq/deep-dive/how-it-works/#description-suggestions) for the full workflow.

### Owner and Additional Metadata

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Owner** | No | Option | The Qualytics user who owns this Computed Table. Defaults to you when left empty. Only users with the **Editor** team permission can assign a different owner; users with the **Author** team permission can create Computed Tables they own but cannot reassign later. |
| **Additional Metadata** | No | Key-value | Custom key-value pairs. Click the plus icon to open the editor and add rows. Keys also act as default values for [runtime variables](https://userguide.qualytics.io/operations/scan/how-tos/use-runtime-variables/) in this container's checks. |

## Steps

**Step 1**: Open the datastore and click the **Add** button in the top-right of the overview. A dropdown lists the containers you can add to the datastore.

**Step 2**: Select **Computed Table**. The **Add Computed Table** modal opens.

**Step 3**: Fill in the fields. See the [Field reference](https://userguide.qualytics.io/container/computed-tables/how-tos/add/#field-reference) above for what each input controls.

**Step 4**: Click **Validate**. A validation success message appears when the query parses and resolves in the warehouse; otherwise the modal shows the warehouse's own error message so you can fix the query in place.

> **Info: What Validate checks**
>
> Qualytics sends the SQL to the warehouse for a parse and semantic check: the syntax must be valid in the connector's dialect, and every referenced table, view, and column must exist and be readable with the datastore's connection credentials. Running Validate is optional: if you skip it, the same validation runs as part of Save and any error is shown inline.

**Step 5**: Once the validation success message appears, click **Save**.

**Step 6**: A success message confirms the creation, the modal closes, and the new Computed Table appears in the datastore's container list. Qualytics automatically runs a slim profile of up to 1000 records per partition so you can see field statistics right away, followed by a full profile in the background.

*Last updated: November 9, 2026.*
