Train Dot on your data model, semantic layer, documentation, ...

Every good analysis is not just based on writing SQL, but on understanding how your business relates to the data you capture. The Model/Training space is for the data team to configure:

  • Which data should Dot have access to?

  • What does each table, column and row represent?

  • What are existing analyses that can be build upon?

Select Data

Datasource Click on all the tables or explores that Dot will search through.


Select all fields in a datasource that Dot should know about.

Describe Data

You can click suggest to automatically generate documentation and fetch sample values.

Make sure to save the changes you made. ⬆️

Provide Example Questions + Answers

Giving example questions to Dot helps to get consistent and validated answers from Dot.

Depending on your data model, there are multiple ways to answer a question.

E.g. How was our shop performance in the last 10 weeks? Without more context there are many ways to answer this question.

The Questions section in Dot gives data teams a chance to build a collection of questions and answers that Dot will reuse.

Define Relationships / Joins

Joining data across different tables is really powerful because it allows us to answer much more broad questions about our business. However, joining data correctly is requires a good understanding of the relationships between your tables.

To ensure Dot avoid join fan-outs or the chasm trap, you can predefine relationships.

For each table, you would specify the foreign key references.


  • a foreign key can be composed key, consisting of multiple columns

  • foreign keys should usually refer to primary or natural keys


Given the data model above, you want to define 2 Relationships:

  • For Orders

    • Foreign Key: user_id

    • Referenced Table: Users

    • Referenced Keys: id

  • For OrderItems

    • Foreign Key: order_id

    • Referenced Table: Orders

    • Referenced Keys: id

Last updated