MBQL Library Changelog
Changes made to the library API for manipulating MBQL queries, found in metabase.lib.js
. The latest API documentation
can be found here.
This library is mainly used by Metabase’s own frontend, but it is treated as a proper API surface which is versioned and documented in this changelog.
Metabase 0.50.0
- Created this file and began versioning this API.
-
New function
as-returned
has been added. It handles a tricky case when adding filters or expressions to a query with aggregations.Suppose we have a query with aggregations in its last stage. When adding a filter or expression to that stage, it’s applied before the aggregations. That may be the desired behavior, but if we want a filter or custom expression based on the aggregations and breakouts in the last stage, there was no good support in this API.
as-returned
looks at the query and stage, and shifts to a later stage if necessary. If a later stage is needed but we were already on the last stage, a new empty stage is appended. - New functions
column-extractions
,extract
, andextraction-expression
have been added.column-extractions
returns a list of extractions, which are possible custom expressions we can derive from a given column. For example, getting the host or base domain name from a URL or email address, or the day of the week from a date or datetime.extract
applies an extraction to the query.extraction-expression
returns the expression for the extraction, allowing further editing.
Read docs for other versions of Metabase.