Your First Dashboard¶
Build your first Metabase dashboard after running the Quick Start.
Prerequisites
Before starting, make sure you have:
- Completed the Quick Start (at least through Step 4)
- The platform running (
dango start) - At least one data source synced (
dango sync)
Step 1: Open Metabase¶
The easiest way to access Metabase is through the Dango Web UI, which handles authentication automatically.
- Open
http://localhost:8800in your browser - Log in with your admin password (set during
dango init) - Click "Open Metabase" in the sidebar
The Web UI uses an SSO bridge to log you into Metabase automatically — no separate Metabase credentials needed.
Direct Metabase access (alternative)
You can also access Metabase directly at http://localhost:3000. Dango creates a Metabase admin account during setup with a randomly generated password stored in .dango/metabase.yml. Check that file for the email and password fields.
The SSO bridge approach (via the Web UI) is recommended because it handles authentication automatically.
First-time startup
Metabase takes 2–3 minutes to initialize on its first launch. If you see a loading screen, wait for it to complete. Check progress with docker ps — the container health will show as "healthy" when ready.
Step 2: Explore Your Data¶
Once Metabase loads, you'll see the home screen. Your DuckDB database is already connected.
Browse Your Schemas¶
Click the Browse icon (grid icon) in the left sidebar or navigate to Browse → Tables to see your data organized by schema:
| Schema | Contents | Description |
|---|---|---|
raw_* | Source data as-is | Immutable copy from dlt, one schema per source |
staging | Clean data | Deduplicated, renamed columns, type-cast |
intermediate | Business logic | Joins and calculations across sources |
marts | Final metrics | Ready for dashboards and reporting |
Start by exploring the staging schema — it contains clean, well-named tables ready for querying.
Learn more about data layers in Data Layers.
Step 3: Create a Question¶
In Metabase, a "question" is a saved query. You can create one using the visual builder or SQL.
Visual Query Builder (No SQL Required)¶
- Click + New in the top-right corner
- Select Question
- Pick your database (DuckDB) and a table (e.g.,
staging > stg_sales_data) - Add filters, groupings, or summaries using the visual builder
- Click Visualize to see results
- Click Save to keep the question
Custom SQL Query¶
For more control, write SQL directly:
- Click + New → SQL query
- Make sure DuckDB is selected as the database
- Write your query:
SELECT
DATE_TRUNC('month', order_date) AS month,
COUNT(*) AS total_orders,
SUM(amount) AS total_revenue
FROM staging.stg_sales_data
WHERE order_date >= CURRENT_DATE - INTERVAL '12 months'
GROUP BY 1
ORDER BY 1 DESC
- Click Run (or press Ctrl+Enter) to execute
- Switch visualization types using the Visualization button (bar chart, line chart, table, etc.)
- Click Save to keep the question
Autocomplete
Metabase's SQL editor provides autocomplete for table names, column names, and SQL keywords. Press Tab to accept suggestions.
Step 4: Build a Dashboard¶
Now combine multiple questions into a dashboard.
- Click + New → Dashboard
- Give it a name (e.g., "Sales Overview")
- Click Save
Add Questions to the Dashboard¶
- Click the pencil icon (edit mode) in the top-right
- Click + Add → Saved question
- Select the questions you created in Step 3
- Drag and resize cards to arrange your layout
- Click Save
Add a Date Filter¶
Filters let viewers change the time range without editing queries:
- In edit mode, click Filter in the top bar
- Select Date picker
- Connect it to the date column in each card (Metabase will suggest matches)
- Click Save
Now anyone viewing the dashboard can filter by date range.
Step 5: Save Your Configuration¶
Export your Metabase dashboards and questions so you can restore them later or share with teammates:
# Save all dashboards, questions, and collections
dango metabase save
# Save specific collections only
dango metabase save --collections "Sales,Marketing"
# Save all shared collections
dango metabase save
This exports to the metabase/ directory in your project. To restore on another machine or after a reset:
Learn more in Save & Load.
Refreshing Data¶
After a Sync¶
When you run dango sync, your data in DuckDB is updated. Metabase picks up data changes automatically the next time you run a question or refresh a dashboard.
After Schema Changes¶
If you add new sources or dbt models, Metabase needs to discover the new tables:
This tells Metabase to re-scan the DuckDB schema and make new tables available for querying.
Instant Pipeline Dashboard¶
Want a pre-built dashboard without creating questions manually? Use the provisioning command:
This creates a Data Pipeline Health dashboard in Metabase with:
- Sync status and history for all sources
- Row counts and freshness metrics
- Error tracking and alerts
Learn more in Dashboard Provisioning.
Troubleshooting¶
Metabase shows a loading screen¶
Metabase takes 2–3 minutes to start on first launch. Check container status:
Look for the Metabase container — when health shows "healthy", it's ready.
No tables visible in Metabase¶
Make sure you've synced at least one source:
SQL query returns an error¶
- Check that you're querying the correct schema (
staging.*,marts.*, notraw_*directly) - Verify column names by browsing the table in Metabase first
- Use
SHOW TABLESin Metabase's SQL editor to list all available tables
Dashboard shows "No results"¶
- Verify the date filter range includes your data
- Check that the underlying questions return data when run individually
- Re-sync your source if the data is stale:
dango sync <name>
Can't access Metabase through Web UI¶
Make sure the platform is running:
If Metabase isn't responding, restart:
Next Steps¶
-
Advanced dashboard techniques, filters, and layouts
-
Write powerful SQL queries in Metabase
-
Export and restore your Metabase configuration
-
Understand raw, staging, intermediate, and marts schemas