Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visual Editor quickstart guide #6770

Open
wants to merge 15 commits into
base: current
Choose a base branch
from
Open

Visual Editor quickstart guide #6770

wants to merge 15 commits into from

Conversation

matthewshaver
Copy link
Contributor

@matthewshaver matthewshaver commented Jan 14, 2025

What are you changing in this pull request and why?

First edition of the quickstart guide for Visual Editor (beta). This guide makes a couple of assumptions about the reader:

  • They're not a regular dbt developer - somebody else in the org may even have to set up projects for them
  • They may or may not have an analytics background - this guide purposefully takes elementary steps to guide the user through using the features
  • It's for the beta version of the product as it exists on Jan 15th, 2025. Will iterate as changes are made.

Checklist

  • I have reviewed the Content style guide so my content adheres to these guidelines.
  • The topic I'm writing about is for specific dbt version(s) and I have versioned it according to the version a whole page and/or version a block of content guidelines.
  • I have added checklist item(s) to this list for anything anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."
  • The content in this PR requires a dbt release note, so I added one to the release notes page.

🚀 Deployment available! Here are the direct links to the updated files:

@matthewshaver matthewshaver requested a review from a team as a code owner January 14, 2025 14:07
Copy link

vercel bot commented Jan 14, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
docs-getdbt-com ✅ Ready (Inspect) Visit Preview Jan 16, 2025 8:41pm

@matthewshaver matthewshaver changed the title VE QS Guide [DRAFT] VE QS Guide Jan 14, 2025
@github-actions github-actions bot added content Improvements or additions to content guides Knowledge best suited for Guides Docs team Authored by the Docs team @dbt Labs size: medium This change will take up to a week to address labels Jan 14, 2025
@matthewshaver matthewshaver marked this pull request as draft January 14, 2025 14:07
@matthewshaver matthewshaver changed the title [DRAFT] VE QS Guide Visual Editor quickstart guide Jan 14, 2025
@matthewshaver matthewshaver marked this pull request as ready for review January 14, 2025 21:50

:::tip

Want to practice on your own? Try adding a **Filter** operator that removes items with less than 10 sales for any customer ID. Be sure to run the preview and verify the data is correct.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i love this!! 🔥

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed, excellent practice item here!

Click on an icon to expand its section or execute an action depending on its purpose. The options are as follows:

1. The model's title. This defaults to "Untitled" but can be edited anytime by clicking on it.
2. The **Operators** menu contains the building blocks of [creating a model](#create-a-model) with the editor.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hiya @matthewshaver

It could just be me, but when I click this link, it doesn't take me to a page and when I right click to open the link in a new window, I'm directed to the same page.

Kind Regards
Natalie

Copy link
Contributor

@faithebear faithebear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is looking great @matthewshaver ! i have a couple thoughts on a few wording items such as "source" but not married to them . thank you!!


:::note

The examples in this guide use the [Jaffle Shop](https://github.com/dbt-labs/jaffle-shop) GitHub repo sample project. You can use your own data, but the Jaffle Shop offers a full-featured project useful for testing dbt features. Ask your dbt Cloud administrator about importing it to a project in your environment. They must also execute `dbt run` on the Jaffle Shop project before you begin, or you will be unable to reference the source models.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't they need to build the full jaffle shop dataset in prod before it's usable in VE? rather than just a dbt run in dev?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question! WIll get an answer and clarify

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, they'll need a prod run before this is useable.

Click on an icon to expand its section or execute an action depending on its purpose. The options are as follows:

1. The model's title. This defaults to "Untitled" but can be edited anytime by clicking on it.
2. The **Operators** menu contains the building blocks of creating a model with the editor.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in these docs: https://docs.getdbt.com/docs/cloud/visual-editor-interface you call it the "Operator toolbar"--are you married to menu or toolbar? I have called it the operator toolbar in the lesson outline.

not sure how important this is lol just flagging that it's called different stuff

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's stick with toolbar!

- Center the model to fit the screen
- Auto-layout option for the individual operator tiles
8. The **Run** command executes `dbt run` for the model.
9. This button is initially a **Commit** command for your integrated Git provider. Changes will be made to "Open pull request" once changes are committed. This will not appear until a change is made requiring a commit.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the wording feels a little unclear to me in number 9 here....maybe something closer to "The button will change to 'open pull request' once changes are committed"


:::

### Create your source models
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mixed feelings on calling these source models given that they're not dbt sources? is there another thing we could call them? maybe "create your first models"? especially since reading in sources is something that's coming to VE?


<Lightbox src="/img/docs/dbt-cloud/visual-editor/one-model-operator.png" width="90%" title="A single model operator." />

You now have your first data source!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also here. maybe just "you now have your first model in visual editor" or something like that?


<Lightbox src="/img/docs/dbt-cloud/visual-editor/two-model-operators.png" width="90%" title="Two model operators in the canvas."/>

Now, you have two source data models and are ready to transform the data!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here w/source


:::tip

Don't see a source model you're looking for? Ask your dbt admins to ensure it's been run recently and hasn't gone stale.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here w/source. and is it worth saying "been run in production" recently? the reader might not know what that means but their dbt admin would know.


## Enhance your model

You've got the basics going with your Visual Editor model! It has successfully joined two source models, but you need to further transform the data to get what you need. A list of customers who buy repeat items as you consider a loyalty club rewards program.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flagging another source mention here


:::tip

Want to practice on your own? Try adding a **Filter** operator that removes items with less than 10 sales for any customer ID. Be sure to run the preview and verify the data is correct.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed, excellent practice item here!


### Run

To run your model, you only need to click the big **Run** button. With the Visual Editor, there is no command line and no need to memorize a list of commands; there is only **Run**. Click it to see the results populate in the **Runs and previews** pane.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome callout here

@github-actions github-actions bot added size: large This change will more than a week to address and might require more than one person and removed size: medium This change will take up to a week to address labels Jan 16, 2025
Copy link
Collaborator

@runleonarun runleonarun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two smol comments. I LOVE THIS! Your voice & tone are :chefs_kiss:

6. Click **Select and rename columns** and click **Configure columns**
select the following columns:
- From `stg_orders` click `ORDER_ID` and `CUSTOMER_ID`.
- From `stg_order` click `PRODUCT_ID`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be stg_order_items?

6. Complete the **Add a title** and **Add a description** fields. If your description is split between both, copy all the contents to the description field and give it a shorter title.
7. Click **Create pull request**.

You've just submitted your first model from the Visual Editor for review. Once approved and merged, the model will be included in your organization’s project and run whenever `dbt run` is executed in any environment it is in. You're now on your way to becoming an expert in data transformation!
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You've just submitted your first model from the Visual Editor for review. Once approved and merged, the model will be included in your organization’s project and run whenever `dbt run` is executed in any environment it is in. You're now on your way to becoming an expert in data transformation!
You've just submitted your first model from the Visual Editor for review. Once approved and merged, the model will be included in your organization’s project and run whenever `dbt run` is executed in any environment your model is in. You're now on your way to becoming an expert in data transformation!


## Prerequisites

To use the Visual Editor, you must meet the following prerequisites:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enterprise only as well!


## Navigating the interface

The Visual editor comprises a series of menus activated by clicking icons surrounding the border of the larger canvas. With none of the menu items activated, the workspace looks like this:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: capitalize Editor


<Lightbox src="/img/docs/dbt-cloud/visual-editor/operators.png" width="90%" title="The operator’s menu on the side of the Visual Editor canvas." />

Read more about the [individual operators](/docs/cloud/visual-editor-interface#operators) to understand the basic purpose of each. Keep in mind that the model you're creating relies on existing models and that the term will primarily be used to reference the model operator in this section.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd clarify the second half of this sentence. Maybe:

"The dbt model created by the Visual Editor builds off of existing models - in these docs, the term "model" will primarily refer to the model operator found this operator drawer."

<Lightbox src="/img/docs/dbt-cloud/visual-editor/operator-tile.png" width="90%" title="An operator tile with configurations filled out." />

1. **The connectors:** Click-and-drag to the connector on another operator to link them.
2. **The title:** Click to change. The examples in this guide will remain default.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"In images in this guide, the operators names are kept as the defaults."


1. **The connectors:** Click-and-drag to the connector on another operator to link them.
2. **The title:** Click to change. The examples in this guide will remain default.
3. **Play icon and menu:** Preview the data at any point in its transformation by clicking the tiles play icon. The dropdown menu contains the option to **Delete** a tile.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: tile's


1. Expand the **Operators** menu and drag the **Model** operator over to the canvas.
2. Click **Configure model** and then select the source `stg_models` from the dropdown.
3. Click the **Output all columns** option.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this section rocks!


:::

### Create your model with pre-existing data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we clarify that this is building from a pre-existing dbt model?


## Enhance your model

You've got the basics going with your Visual Editor model! It has successfully joined two pre-existing models, but you need to transform the data further to get what you need. A list of customers who buy repeat items as you consider a loyalty club rewards program.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: fragment


## Run and share your model

Now that you've built a model that results in the data you want, it's time to run it and push it to your Git repo.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would break this down and recap how preview/run/prod work at the top, since it's a new concept.

  1. preview does not affect state in your warehouse, so you can test and develop.
  2. when you're ready to use this mode in a downstream tool, you can run it to materialize it in the warehouse.
  3. Once the model is ready to make its way to production and be used by others or orchestrated, you can commit and open a PR.

Copy link
Contributor

@greg-mckeon greg-mckeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is really exciting stuff! left a few small comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content Improvements or additions to content Docs team Authored by the Docs team @dbt Labs guides Knowledge best suited for Guides size: large This change will more than a week to address and might require more than one person
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants