Step by step guide to creating dynamic dashboards in Metabase

Metabase dashboards are everywhere, but most people barely scratch the surface. If you’re still stuck with static charts, or you’re sharing screenshots instead of letting people dig into live data, you’re missing out. This guide is for anyone who wants to build dynamic dashboards that actually help people get answers—fast.

You don’t need to be a SQL wizard or a data scientist. You just need a little patience, a decent dataset, and the willingness to click around. I’ll walk you through the process, step by step, and call out what’s worth your time—and what isn’t.

Why Go Dynamic?

Static dashboards are like printed maps: helpful, but frozen in time. Dynamic dashboards let people zoom in, filter, and interact with data. They’re more useful, less cluttered, and a lot more fun to use.

If you’re using Metabase, you already have the tools. You just need to know how to use them well.


Step 1: Get Your Data Into Metabase

Before you can build anything, you need data that Metabase can see.

What works: - Metabase connects to most SQL databases (Postgres, MySQL, SQL Server, etc.), plus some NoSQL options and CSV uploads. - Cloud data warehouses (BigQuery, Snowflake, Redshift) are supported, but sometimes quirky—test your connection early.

How to do it: 1. Log in as an admin. 2. Go to Settings > Admin > Databases. 3. Click Add database. 4. Fill in your connection info (host, port, username, password, etc.). 5. Click Save and wait for the green checkmark.

Pro tip: If your database is huge, Metabase might drag its feet indexing it. Start with a smaller schema if you just want to experiment.

What to skip: Don’t waste time connecting every single database. Focus on the one that matters for your dashboard.


Step 2: Build Your First Questions

Questions are Metabase’s way of saying “charts, tables, or queries.” They’re the building blocks of your dashboard.

How to do it: 1. Click Ask a question. 2. Choose your data source and table. 3. Pick your question type (Simple, Custom, Native SQL). 4. Set up filters, aggregations, and groupings. 5. Visualize your data—bar, line, table, whatever fits.

What works: - The “Custom” question builder is pretty friendly. Use it unless you absolutely need raw SQL. - Save each question with a clear name. You’ll thank yourself later.

What to ignore: Don’t try to cram everything into one monster question. It’s easier to build several focused ones.


Step 3: Create a Dashboard

Now you’ve got a handful of useful questions. Time to pull them together.

How to do it: 1. Click + New > Dashboard. 2. Give it a name and (optionally) a description. 3. Use Add a question to drop in your saved questions. 4. Rearrange and resize tiles by dragging corners.

What works: - Less is more. Start small—4 to 6 charts max. - Leave some white space. Crowded dashboards are hard to read.

What to skip: Don’t obsess over layout perfection on your first try. You’ll probably move things around as you see what works.


Step 4: Add Dashboard Filters

This is where dashboards become dynamic. Filters let viewers tweak what they see without editing the underlying questions.

How to do it: 1. On your dashboard, click Add a filter (top right). 2. Pick a filter type (dropdown, date, number, etc.). 3. Name your filter (e.g., “Region” or “Date Range”). 4. Connect the filter to relevant questions and columns.

What works: - Use dropdowns for categorical fields (like country, product, or status). - Use date pickers for time-based filters. - Test each filter—make sure it actually changes the data!

Pro tip: You can connect one filter to multiple charts, as long as they have the same field (e.g., “Country” in different tables).

What to ignore: Don’t add every possible filter. Too many choices overwhelm users and slow things down.


Step 5: Use Variables for Advanced Filtering

If you want real flexibility, variables are your friend. They let you pass filter values straight into SQL queries or more complex questions.

How to do it: 1. When writing a Native SQL question, use the syntax:

SELECT * FROM orders WHERE status = {{status}}

  1. Save the question. Metabase will prompt you to set up the variable (“status”) as a filter.
  2. Add this question to your dashboard.
  3. Link your dashboard filter to the variable.

What works: - Use variables for things like “minimum order value” or “custom date ranges.” - You can set default values, so charts don’t start empty.

Pro tip: Always validate user input in SQL variables to avoid surprises—Metabase tries to protect you, but don’t be reckless.

What to skip: Don’t overcomplicate. Use variables only when the standard filters aren’t enough.


Step 6: Tweak Interactivity

Dynamic dashboards aren’t just about filters. You can make charts clickable, let users drill down, and even jump to other dashboards.

Options that work: - Click behavior: In chart settings, set up “click actions” to show detailed breakdowns or link to other dashboards. - Drill-through: Let users click a bar or data point to see the underlying records. - Cross-filtering: As of recent releases, clicking a chart segment can often filter other charts on the dashboard.

What to ignore: Overly nested drill-downs. One or two clicks deep is plenty. Beyond that, people get lost.


Step 7: Share and Secure Your Dashboard

You built it—now get it in front of people. But don’t forget about privacy.

How to do it: - Use Share > Get link for quick sharing inside your company. - Use Embed for putting dashboards inside apps or internal portals (this requires admin setup). - Lock down sensitive dashboards with group permissions (Admin > Permissions).

What works: - Schedule dashboard emails for regular updates—people love this. - Use public links sparingly. Anyone with the link can see the data if you’re not careful.

What to skip: Don’t bother with embedding unless you actually have an app or site that needs it. It’s extra work.


Step 8: Keep It Simple and Iterate

Dynamic dashboards get messy fast. The best ones are clear, focused, and easy to use.

Pro tips: - Review your dashboard with someone who didn’t build it. Fresh eyes catch clutter and confusion. - Watch how people use it. If nobody touches a filter, maybe you don’t need it. - Revisit in a month. Trim what’s not useful.

What to ignore: Feature creep. Just because Metabase lets you add a dozen filters and widgets doesn’t mean you should.


Honest Takes: What Works, What Doesn’t

  • Filters and variables: Genuinely useful. Make dashboards way more interactive.
  • Custom SQL: Powerful, but easy to mess up. Use sparingly unless you’re confident.
  • Fancy visualizations: Looks nice, but don’t chase novelty. Line, bar, and table charts cover 90% of real needs.
  • Performance: Metabase is decent, but big dashboards or huge queries can slow to a crawl. Test with real-world data.
  • Mobile view: Usable, but not great. Don’t expect miracles here.

The Bottom Line

Building dynamic dashboards in Metabase isn’t rocket science, but it does take some tinkering. Start simple, add one filter at a time, and see what actually helps people answer their questions. Don’t fall for shiny features or overcomplicate things. The best dashboards get used—so focus on making yours clear, interactive, and genuinely helpful. If it’s not working, tweak it. That’s the real secret.