In this release
Metabase 56
Dashboard filters in more relevant places, time grouping for native queries, a new way to embed, and more
- If you’re hosted on Metabase Cloud, we’ll be rolling out these new features automatically in the next few weeks. If you’d like to get it sooner, just let us know. Email help@metabase.com and we’ll upgrade you.
- If you’re self-hosting Metabase, you (or your admin) can follow the docs on how to upgrade.
Feel like you just finished an upgrade? Try Metabase Cloud for free to get automatic upgrades and excellent technical support.
Add dashboard filters where they matter
Now you can add filters directly to cards on dashboards, or in headers to apply to a group of cards directly beneath. This helps you ensure filters only show up where they’re relevant, so it’s more obvious which filters apply where, and less clutter at the top of your dashboard.
Watch Robert add filters on cards and headings
Click and drag to select multiple cells in table visualizations
Sometimes you just need to grab a bunch of cells to drop into a spreadsheet. Now you can click and drag to select values you want, copy+paste into spreadsheet or wherever you have data.
Time grouping parameters can be applied to native queries
Change time granularity on dashboard cards built with SQL without having to edit or rewrite the query.
Watch Matthew’s walkthrough of time grouping parameters
Field filters play nice with aliased tables
For example, when you use FROM product AS p
in your SQL query and when using CTEs, Metabase correctly references p
when applying filters. Just make sure you define the alias in the filter setting.
Join with a specific part of your data with custom expressions
Use a custom expression to build a join key where there’s not a natural fit / obvious match between tables, for things like constant values, relative dates, or other custom conditions. Define your own logic for what should match and get more flexibility without having to write SQL. For example, match first_name + last_name
from a customers
table to a single full_name
field in another table.
Watch Matthew use joins with custom expressions
More dates and time casting functions in custom expressions
Get more flexibility when building time-based logic in custom expressions without needing to write SQL. You can now use today()
to get the current date, and convert strings, numbers, and byte values into datetime formats using the enhanced datetime()
function. This update makes it easier to work with a wider range of date and time formats, including ISO strings, Unix timestamps, and yyyyMMddHHmmss
.
Reference existing aggregations in custom expressions
Use existing aggregations in custom expressions when summarizing data. This eliminates repetition and helps you create cleaner queries faster.
Specify multiple values for basic variables in native queries
We’ve added a setting where you can enable multiple values for a given basic variable, for example: WHERE category IN ({{category_var}})
.
Watch Matthew show you how to select multiple values in SQL variables
Search and expand functions easier in the expression editor
Now you can type the function you want in the ‘Find’ bar at the top, e.g. countIf
and Metabase will open the expression editor, pre-filled with a smart template. Use arrow keys to move around and expand fields, like join, filters, and custom expression.
Embed Metabase with the new Embedded analytics JS library
Embedded Analytics JS is a JavaScript library built on top of Metabase’s Embedded Analytics React SDK, but it does not require using React or setting up full SDK embedding. Unlike with interactive embedding, where you embed the entire Metabase app in an iframe, Embedded Analytics JS lets you choose from a set of predefined components like a single chart, a dashboard with optional drill-through, or query builder, and customize those components.
Embedded Analytics JS uses JWT or SAML SSO to authenticate people and automatically apply permissions to show people the right data upon sign-in.
Try it out - you can find the Embedded Analytics JS under Modular Embedding in Embedding settings. We’ve included a chill setup flow for an easy way to get a snippet for the Embedded Analytics JS to help you get something cool in your product faster.
Translate content for Static embedding
Not just UI elements but also how your data is shown in tables and charts. Upload a dictionary in your target language and watch as the data showing in your tables and charts updates. Muy bien. For now, only available for Static embedding.
Choose the ‘from’ email address when white-labeling Metabase on Cloud
Push Metabase a little further behind the scenes when you white-label. Now you can configure a custom SMTP server for more consistent white-labeling. Available with Metabase Pro and Enterprise.
Revamped metadata editing experience
The metadata editor got a big upgrade. With this update you can now preview how changes will be reflected in your Metabase; trigger a sync of individual tables without needing to re-sync your whole database; and you can search across databases, schemas, and tables.
Connection impersonation is now available for MySQL and SQL Server
MySQL and SQL Server join PostgreSQL, ClickHouse, Redshift and Snowflake on the list of databases Metabase supports for connection impersonation for things like row-level security configured at the DB-level. MySQL uses SET ROLE
, SQL Server uses EXECUTE AS USER
.
Data sandboxing renamed to Row-Level Security
Same great taste, easier to parse name. This is just a name change in the UI; the functionality and API endpoints haven’t changed. Data segregation covers our growing span of data isolation features, including row- and column-level security (formerly data sandboxing), connection impersonation, database routing, and locked parameters.
Admin panel refresh
A facelift in your settings section, starting with the Settings page, with fine-tuning to more admin pages to follow soon.
Skeleton cards in slow-loading dashboards
Get clearer visual cues on what you’re waiting for in slow loading dashboards with skeleton cards specific to each viz type. We can’t make all your dashboards load instantly (although we do have a few tips), but we’ve made decor in the waiting room nicer.
Coming soon: Metabot AI
Metabot is neeeearly out of closed beta. If you’re itching to type queries in natural language a.k.a. plain English a.k.a. “How many new trial sign ups did we get last month?”, start stretching. Metabot includes:
- A chat-with-your-data style interface for asking questions and changing chart types
- SQL generation, editing, and debugging
- ‘Explain this chart’ for automated write ups
- Instant, in-product access to docs in plain text answers
And that’s just the start. We’re working on a bunch of LLM-powered features in Metabase with deeper functionality. We’re excited for you to try Metabot and we’ll share more soon.
Big thanks to everyone who contributed!
Thanks to all those who submitted bug reports, feature suggestions, translations, and pull requests. Metabase gets better and better thanks to your efforts.
Hope you enjoy the release. If you want to get into the nitty-gritty, check out our release notes in GitHub. To see what other features we have in the works, see our product roadmap.
Cheers, The Metabase team
Share this release
See previous releases
All releasesGet started with Metabase
- Free, no-commitment trial
- Easy for everyone—no SQL required
- Up and running in 5 minutes