A tour of Metabase
Metabase is a deep product with a lot of tools to simplify business intelligence, from embeddable charts and interactive dashboards, to GUI and SQL editors, to auditing and data sandboxing, and more.
This is the “what comes in the box when you install Metabase” article. Metabase has a lot of tools in its toolkit (and we can’t cover everything here), but even seasoned Metabasers will benefit from a tour of its feature set - especially since we add major new features at a regular clip.
But first, what is Metabase?
What is Metabase?
Metabase is an open-source business intelligence tool that you can connect to many popular databases. Metabase lets you ask questions about your data, and displays answers in formats that make sense, whether that’s a bar chart or a detailed table.
You can save your questions, and group questions into handsome dashboards. Metabase also makes it easy to share questions and dashboards with the rest of your team.
At a high level, we’ll walk through the features that let you:
- Query and visualize your data
- Build interactive dashboards
- Share your results
- Embed charts
- Find things and stay organized
- Manage users
Query and visualize your data
Connect a database
Metabase supports a lot of different databases, and ships with a Sample Database for you to play around with. And once you’ve connected your data sources, Metabase gives you a lot of tools to explore them.
Upload spreadsheets
You can upload CSVs to query and visualize in Metabase. This feature is handy for quick ad hoc analysis of spreadsheet data.
Query builder
You can use Metabase’s query builder to filter and summarize data.
With custom expressions, you can accomplish pretty much anything you’d be able to do with SQL: join tables, create custom columns, filter and group results, compare time series, and more. Plus, people who don’t know SQL can duplicate your question and use it as a starting point for another question.
Query builder questions automatically get a drill-through menu applied to their visualizations, allowing people to click on a table or chart to drill through the data.
Questions asked with the query builder can start with a model, a raw table, or with the results of a saved question, and you can convert them to native SQL at any time.
Native queries
Use the native query editor to compose questions in the database’s native query languages (typically SQL for relational databases, but also other query languages for data sources like MongoDB). For questions written in SQL, you can use variables in your code to create SQL templates, including field filter variables that can create smart dropdown filters.
Like query builder questions, you can use the results of models or saved questions as starting points for new questions, just as you would a table or view. For example, to reference question 123 like so:
WITH gizmo_orders AS {{#123}}
Visualize results
When you ask a question, Metabase will guess at the most appropriate visualization type for the results, but you can select from sixteen different visualization options.
Additionally, each visualization type has their own set of options to customize. You can even add custom maps to your Metabase instance.
Create interactive dashboards
You can organize questions and models into a dashboard with tabs, and contextualize them with Markdown text cards, link cards, and iframe cards.
You can add filters to dashboards and connect them to fields on questions to narrow the results.
You can link filters, create custom destinations (to send people to another dashboard or external URL), or even have a chart update a filter on click.
Create, update, and delete records
Write back to your databases with actions. You can combine dashboards, models, and actions and other Metabase items to build basic CRUD apps.
Model your data
Table metadata
Metabase will try to guess how to display the various fields in your tables, but if you want more control, you can customize how Metabase handles each field, setting field visibility, type, formatting, and more.
Create models to use as starting data for new questions
Models are built with questions from either the query builder or the SQL editor. You can use them to pull together data from multiple tables, with custom, calculated columns, and column descriptions and other metadata, to create great starting data for people to ask new questions. For example, you could build a model for “Active users”, or “Priority orders”, or however you want to model your business.
If you find that you’re using the same saved question over and over as your starting data for new questions, you may want to convert that saved question to a model, which will let you add metadata like column descriptions and column types. You can also refer to models in SQL queries, just like we did above with saved questions.
Use metrics to create reusable calculations
Create metrics to define the official way to calculate important numbers for your team. Metrics are like pre-defined calculations: create your aggregations once, save them as metrics, and use them whenever you need to analyze your data.
For example, you may want to create a metric that calculates revenue, so people can refer to revenue in their own questions. That way you standardize how revenue is calculated (so you don’t end up with five different calculations for revenue).
You can do the same kind of standardization for SQL questions by codifying SQL code in snippets, which on Pro and Enterprise plans you can organize with folders and permissions.
Share your results
Once you’ve asked questions and built dashboards, it’s time to share your analysis.
Alerts
Set up an alert to notify people when the results meet a goal. You can send out alerts via email or Slack, or to a webhook.
Dashboard subscriptions
To keep people posted on key metrics, you can set up dashboard subscriptions via email or Slack - even to people who lack an account in your Metabase.
Embed questions and dashboards
You can embed charts and dashboards using iframes. On Pro and Enterprise plans, you can even embed the full Metabase app, which allows you to do things like deliver multi-tenant, self-service analytics.
Find things and stay organized
Things in this case being databases and their analysis: the questions, dashboards, and collections you and your teams create.
Search
You know, to find things: data, metrics, segments, dashboards, models, and questions. You’ll probably use the search bar the most often, but the catch here is that you need to know what to search for.
Organize with collections
Collections organize questions, models, dashboards, and other collections. They work like folders on a file system, and you can set permissions on collections, giving some groups edit, view, or no access. Groups with edit access to a collection can pin the most important items to the collection - your “official” dashboards.
Events and timelines
Events and timelines let you capture important dates and make that knowledge available when you need it (that is, when you’re viewing a time series). You can organize events into timelines, and associate those timelines with collections.
Browse data, models, and metrics
You can browse all the databases, models, and metrics available in your Metabase.
You can browse tables and their fields, see sample data, as well as a list of questions that query that data.
X-rays
To give you a head start on asking questions, Metabase can X-ray a table for you.
These X-rays will generate a bunch of questions that slice the table’s records in different ways. You can save the X-ray as a dashboard, take out any questions that don’t interest you, add new questions, or just use the X-ray to get a feel for the table.
Manage users
Permissions, authentication, usage analytics: with great power comes great responsibility.
Settings
You can set up email and Slack integrations, customize locale settings like language and currencies, and configure authentication with Google Sign-In or LDAP, or on Pro and Enterprise plans: JWT or SAML.
Group permissions for data and collections
Create groups in Metabase, add people to those groups, and give the groups different levels of access to databases and collections.
Some plans also include the ability to set application-level permissions: who can edit Metabase settings, view logs and debugging tools, and other application-level features.
Data sandboxing
Data sandboxing is only available on Pro and Enterprise plans (both self-hosted and on Metabase Cloud).
If you need granular control over who can see what, check out the data sandboxing feature to learn how you can restrict table access by row and by column.
You can also set up row-level permissions for SQL queries with connection impersonation.
Usage analytics
Usage analytics is only available on Pro and Enterprise plans (both self-hosted and on Metabase Cloud).
If you need to see what everyone’s looking at, check out How to keep tabs on your data.
Submit a PR, or fork the source code
Metabase is open source, so if Metabase lacks a feature you need, you can always build it yourself. Check out our releases to see the features we’ve added recently, and the roadmap for what we’re working on next.
Further reading
- Stay up to date on our blog.
- Questions? See if they’ve been answered on our forum, or post a question yourself.
- Beyond BI: other problems you can solve with Metabase.
Next: Advanced Metabase features for data analysts
Set up alerts, annotate charts with events, model data, templatize SQL queries, customize click behavior, and more.