Skip to content

Getting started

Go to https://observablehq.com/ and click the + in the top right to create a New canvas; alternatively, go directly to https://observablehq.com/new/canvas.

A New canvas modal prompts the user to select a data source from the chosen workspace.
When creating a new canvas, you can select a workspace and a data source.

Select Files, then click Create canvas. You’ll now be redirected to your new, blank canvas, connected to a DuckDB data source.

A blank canvas; the menubar, title card, and data panel are visible in the top-left; the toolbar is on the bottom; and the style panel is in the top-right.
A blank canvas — oh, the possibilities!

Click where it says Untitled in the title card to give your canvas a memorable title.

A ‘Set canvas title’ modal appears atop the blank canvas interface; the text ‘My first canvas’ has been entered into the title input; Cancel and Save buttons appear at the bottom of the modal.
Set the title of your new canvas.

After entering a new title, click Save to apply it.

We’ll use a sample ecommerce dataset. Download these three files:

Add them to your canvas by clicking the + in the data panel on the left and selecting the three files to upload as data tables.

Once upload is complete, hover over the purchases table, which has 1.9M rows, and click the + on the right.

A summary table centered in the canvas shows the contents of the PURCHASES table in the ecommerce data source; it contains 1.9M rows, and includes various columns such as ORDER_DATE, PRICE_PER_UNIT, QUANTITY, and so on.
Add a From node to the canvas.

Double-click on the new From node to edit it, making it interactive; you should see a blue border and little boxes in the four corners. You can now scroll the table to inspect the rows and columns.

To create a chart node, pop out a column summary by clicking on the Create chart menu option in the column header dropdown. Below, we create a chart of the ORDER_DATE column, automatically showing the number of purchases per day over the entire dataset.

A chart node showing the number of purchases per day as an area chart appears to the right of the purchases table, with an arrow indicating data flowing from the From node into the Chart node; the area chart shows seasonal variation and periodic spikes, as well as a significant increase during the year 2020, roughly doubling the number of purchases per day.
Add a Chart node to the canvas.

The new chart appears to the right of the upstream (here purchases_1) table. You can reposition the chart by clicking and dragging.

Back in the From node, click on another column summary to filter rows. For example, you can click on the ABIS_BOOK value in the CATEGORY column to show only book purchases.

The CATEGORY column of the purchases table is highlighted in purple, with the ABIS_BOOK value selected; the purchases table now shows only 87.6K rows; the downstream ORDER_DATE chart no longer shows a significant increase in 2020, while the seasonal spikes are even more pronounced.
Filter a table using a column summary.

Notice now that the From node only shows 87.6K rows from the PURCHASES table rather than the full 1.9M. Notice also that the CATEGORY filter applies to the downstream chart by ORDER_DATE; this chart now shows only book purchases, not all purchases. (Book purchases spike every year for holiday gifts; this seasonal pattern was seemingly unaffected by the COVID-19 pandemic.)

Now pan to a blank area of the canvas. Click on on the toolbar to add a new SQL node, which will appear near the center of the viewport.

A SQL node appears in the middle of the canvas, showing the query ‘SELECT * FROM purchases’ and a Run button above; the adjacent summary table shows 1.9M rows from the purchases table.
Add a SQL node to the canvas.

Try writing the following SQL:

sql
SELECT * FROM purchases

Then click Run to run the query and review the results. This query should produce equivalent results to a From node for the purchases table, but now you can edit the SQL query as you like.

For next steps, try opening the AI toolbar and asking for suggestions!