> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-bradley-turek-pfilter-operators-reference.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create and Use Data Models

<Note>
  **Note:** This feature is in beta. Beta Program participants can enable
  features [here](https://embed.domo.com/embed/pages/DQ8Ek). To join the Beta
  Program, fill out [this form](https://embed.domo.com/embed/pages/K8GMx). For beta questions or feedback, email
  [beta.admin@domo.com](mailto:beta.admin@domo.com).
</Note>

## Intro

This article explains how to create a Data Model, add DataSets to the canvas, define relationships between DataSets, configure schema metadata, and use a Data Model as a data source in Analyzer.

***

## Required Grants

To create and manage Data Models, you must have an **Editor** or **Admin** role, or a custom role with access to data tools. The DataSets you want to relate must already be available in your Domo instance.

## Create a Data Model

1. From the navigation menu, go to **Features** and select **Data Models** under **Semantic Layer**.

   <Frame>
     <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/zjcJUc2WU06RpJ5G/images/kb/data-models-1.png?fit=max&auto=format&n=zjcJUc2WU06RpJ5G&q=85&s=ba67aa70821d906329941e6976886e72" alt="Data Models in navigation" width="968" height="557" data-path="images/kb/data-models-1.png" />
   </Frame>

2. Select **Create Model** in the top menu. A new model is created, and you are taken to the Data Model Editor canvas.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-2.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=91fa41df3041edbb2803787bd2a6daa2" alt="Create Model Action" width="1913" height="391" data-path="images/kb/data-models-2.png" />
</Frame>

3. Enter a **Name** and an optional **Description** for your model.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-3.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=754debb32923842e790ab614b63aa86a" alt="Data Models Name and Description" width="344" height="252" data-path="images/kb/data-models-3.png" />
</Frame>

<Tip>**Tip:** You can also duplicate an existing model instead of starting from scratch. Open any model and select the duplicate option from the model menu to create a new version you can modify independently.</Tip>

## Add DataSets to the Canvas

The Data Model Editor is a visual canvas where you add DataSets and define the relationships between them.

1. In the Editor, select **Add DataSet**.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-4.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=30e78dac4f178524224408ceacd899b7" alt="Add DataSets" width="344" height="228" data-path="images/kb/data-models-4.png" />
</Frame>

2. Search for and select the DataSet you want to include. You can add tables from the following sources:

   * **Domo DataSets —** any DataSet already in your Domo instance.
   * **Data Model outputs —** tables that are outputs of other Data Models.
   * **Snowflake tables —** tables connected directly from Snowflake.

<Note>**Note:** All tables in a Data Model must come from the same warehouse. You cannot mix Domo DataSets and Snowflake tables within a single model.</Note>

Select the **+** next to the DataSet name to add it to the canvas.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-5.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=d8f25749074262823800ac506a828ce0" alt="Add dataset icon" width="344" height="320" data-path="images/kb/data-models-5.png" />
</Frame>

You can also select a DataSet by selecting its name. A panel with the DataSet attributes appears. Select **+ Add DataSet** to add it to the canvas.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-6.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=45f88972262b19ccaeebe62b3e11c0b2" alt="Add dataset Action" width="344" height="961" data-path="images/kb/data-models-6.png" />
</Frame>

3. The DataSet appears as a card on the canvas, showing all of its available columns.

   <Frame>
     <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-7.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=5b2fc7099b9db8cbebb10ae578494749" alt="DataSets in Canvas" width="1853" height="959" data-path="images/kb/data-models-7.png" />
   </Frame>

4. Repeat to add any additional DataSets that should be part of the model.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-8.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=82a6c006ea636bf11337b18a6a1d1d5c" alt="Data Model Editor canvas showing multiple DataSet cards" width="1857" height="957" data-path="images/kb/data-models-8.png" />
</Frame>

<Tip>**Tip:** For large Data Models with many tables, you can navigate the canvas in several ways: use the zoom out, zoom in, center canvas, and mini-map controls; scroll with two fingers on a trackpad; or hold the middle mouse button and drag to pan. Drag DataSet cards to rearrange them and keep the layout easy to read.</Tip>

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-9.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=a21e199721e3e0a8e2fbf8fd04b2a1da" alt="Canvas Zoom and Mini-map features" width="1857" height="957" data-path="images/kb/data-models-9.png" />
</Frame>

## Define Relationships Between DataSets

After your DataSets are on the canvas, connect them by dragging from a key column in one DataSet to the matching key column in another.

1. Hover over the join key column in one DataSet.

2. Drag from that column to the corresponding key column in the related DataSet.

   A relationship line appears connecting the two tables.

<Frame>
  <video autoPlay muted loop playsInline className="w-full aspect-video rounded-xl" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/zjcJUc2WU06RpJ5G/images/kb/data-models-10.mp4?fit=max&auto=format&n=zjcJUc2WU06RpJ5G&q=85&s=3d7390ae89f193039424c660c7c701f1" data-path="images/kb/data-models-10.mp4" />
</Frame>

3. Select the relationship line to review or edit its settings:

   * **Relationship Keys —** the columns on each side of the join (for example, `Account UID` on the Accounts table joined to `Account UID` on the Orders table).
   * **Cardinality —** the nature of the relationship between the two tables:
     * **One-to-Many —** one record in the first table relates to many records in the second (for example, one Account can have many Orders).
     * **Many-to-One —** many records in the first table relate to one record in the second.
     * **One-to-One —** each record in the first table relates to exactly one record in the second.

<Frame>
  <video autoPlay muted loop playsInline className="w-full aspect-video rounded-xl" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/zjcJUc2WU06RpJ5G/images/kb/data-models-11.mp4?fit=max&auto=format&n=zjcJUc2WU06RpJ5G&q=85&s=5897c1f29f1e3ae4185b0292c79c579b" data-path="images/kb/data-models-11.mp4" />
</Frame>

<Note>**Note:** You can relate DataSets from disparate source systems through shared keys in a single model. There is no need for a separate DataFlow per combination.</Note>

4. Preview table data and search for columns by selecting a table in the canvas.

<Frame>
  <video autoPlay muted loop playsInline className="w-full aspect-video rounded-xl" src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/zjcJUc2WU06RpJ5G/images/kb/data-models-12.mp4?fit=max&auto=format&n=zjcJUc2WU06RpJ5G&q=85&s=e47fbcd369acb0028b12a6c2fefe138f" data-path="images/kb/data-models-12.mp4" />
</Frame>

5. Select **Save Model** to preserve your relationship configuration. The following actions are available:

   * **Save Model —** saves your configuration without exiting the Editor canvas.
   * **Save and Close —** saves your configuration and exits the Editor canvas.
   * **Save As —** makes a copy of your model.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/zjcJUc2WU06RpJ5G/images/kb/data-models-13.png?fit=max&auto=format&n=zjcJUc2WU06RpJ5G&q=85&s=2cf7e9cd70d8773e8714fc35352e140d" alt="Save Settings" width="351" height="168" data-path="images/kb/data-models-13.png" />
</Frame>

## Delete Relationships and Objects

To delete all relationships for a table:

1. Select the three-dot menu in the top-right corner of a table, then select **Break All Relationships**.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/zjcJUc2WU06RpJ5G/images/kb/data-models-14.png?fit=max&auto=format&n=zjcJUc2WU06RpJ5G&q=85&s=cf5aa9ac024508b3d593a2e7ca476541" alt="Delete Object and Break All Relationships" width="251" height="227" data-path="images/kb/data-models-14.png" />
</Frame>

2. Select **Delete** to confirm, or **Cancel** to cancel.

To delete a specific relationship:

1. Select the table.
2. Navigate to the **Relationships** tab in the preview modal.
3. Select the relationship you want to delete.
4. Select **Delete Relationship**.
5. Select **Delete** to confirm, or **Cancel** to cancel.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/zjcJUc2WU06RpJ5G/images/kb/data-models-15.png?fit=max&auto=format&n=zjcJUc2WU06RpJ5G&q=85&s=9b3bbc0cc0008f2f9630b0a359751c65" alt="Delete Relationship Action" width="418" height="495" data-path="images/kb/data-models-15.png" />
</Frame>

## View the Data Model Landing Page

Each Data Model has a landing page. The landing page displays the model's name, description, and model's attributes such as author,last updated timestamp.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-17.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=4a003cbbac0d636fb7871baa7ba27e2e" alt="Data Model Landing Page" width="1571" height="599" data-path="images/kb/data-models-17.png" />
</Frame>

The following actions are available from the top menu:

* **Edit Data Model —** opens the Data Model Editor canvas.
* **Explore —** opens the model in a Worksheet for ad-hoc data exploration.
* **Open With** > **Analyzer —** opens the model in Analyzer.
* **Create Visualization —** creates a visualization card based on the model.
* **Create App —** creates an App Studio app using the model.
* **Share This Dataset —** shares the model with other users.
* **Add to Workspace —** adds the model to a Workspace.

These actions are also available from the three-dot menu in the top-right corner of the landing page.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/zjcJUc2WU06RpJ5G/images/kb/data-models-16.png?fit=max&auto=format&n=zjcJUc2WU06RpJ5G&q=85&s=56d8a395a85a8ff757b0227689202227" alt="Data Model Menu" width="343" height="569" data-path="images/kb/data-models-16.png" />
</Frame>

## Configure the Domo Schema

The Domo Schema lets you enrich each field in your Data Model with metadata. This helps downstream users understand the data and improves the accuracy of AI-assisted features.

1. Open your Data Model and select the **Schema** tab.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-18.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=864e88889850bb17e76547d97f77ab31" alt="Schema Tab" width="1554" height="616" data-path="images/kb/data-models-18.png" />
</Frame>

2. For each dataset and column, you can set the following:

   * **Reorder —** control how columns appear in the dataset schema.
   * **Description —** document what the field represents.
   * **More Options —** additional configuration options for each field.
   * **Tags —** help users search and discover fields.
   * **AI Enabled —** enable columns to be discovered by Domo AI.
   * Add **AI Synonyms** and **AI Context** to improve how Domo AI interprets natural language queries against this model.

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-19.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=fbc2acb691f54d1fb2710b05598dc265" alt="Schema Tab field options" width="1772" height="332" data-path="images/kb/data-models-19.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/domoinc-bradley-turek-pfilter-operators-reference/7BAHAyjj0w9h_4B_/images/kb/data-models-20.png?fit=max&auto=format&n=7BAHAyjj0w9h_4B_&q=85&s=6bcdbe46d5657fce95ac56b8e6fe2035" alt="Schema Tab AI fields" width="505" height="897" data-path="images/kb/data-models-20.png" />
</Frame>

3. Select **Save** after making your changes.

<Tip>**Tip:** Well-documented fields in the Schema tab significantly improve the accuracy of answers from Domo AI Chat when users ask questions about data connected through this model.</Tip>

## Use a Data Model in Analyzer

After a Data Model is created, it is available as a data source in Analyzer—just like any standard DataSet. Columns from all related tables appear together with no additional joining required.

1. Navigate to the dashboard where you want to build a new card.

2. Select **New Card** and select **Visualization**.

3. In the DataSet picker, search for your Data Model by name and select it.

4. Build your card normally. All columns from the model's related DataSets are available in a single view.

<Note>**Note:** Because joins happen at query time, card performance may vary depending on the size of the underlying DataSets and the complexity of the relationships in the model.</Note>

## Troubleshoot

<AccordionGroup>
  <Accordion title="My card in Analyzer is returning unexpected or duplicate rows.">
    Review the cardinality settings on your relationship lines in the Editor. A one-to-many or many-to-many relationship can produce multiple rows if the join key is not unique. Verify that the correct key columns are selected on both sides of the relationship.
  </Accordion>

  <Accordion title="Schema tab changes are not showing in existing cards.">
    Schema metadata updates—descriptions, tags, and AI fields—may require a card refresh or re-open to reflect. The underlying data is not affected by Schema tab changes.
  </Accordion>

  <Accordion title="I can't find my Snowflake table when adding DataSets.">
    Confirm that your Snowflake Cloud Integration is connected and authenticated in your Domo instance. Snowflake tables are available in the DataSet picker only after a successful connection is established.
  </Accordion>
</AccordionGroup>

## Related Articles

* [Creating and Running DataFlows in Magic ETL](/s/article/Creating-and-Running-DataFlows-in-Magic-ETL)
* [Using Beast Mode Calculations](/s/article/Using-Beast-Mode-Calculations)
* [Building Cards in Analyzer](/s/article/Building-Cards-in-Analyzer)
* [Configuring Cloud Integrations (Snowflake)](/s/article/Configuring-Cloud-Integrations-Snowflake)
* [Configuring Domo AI Chat for Your Instance](/s/article/Configuring-Domo-AI-Chat-for-Your-Instance)
* [Domopalooza Release Notes](/s/article/000004968)
