MetricFlow 0.203.0
This release requires an upgrade to dbt core 1.7
, which is now the minimum requirement for future minor version updates to MetricFlow.
Notable improvements include:
- Support for saved queries
- Fixes for issues where time granularity was not being applied to columns with finer-grained input than what was listed in the config. This may cause performance regressions for users of partitioned datasets in certain engines, which we are committed to resolving.
- Support for configuring a way to fill null value measure outputs to prevent implicit null filtering.
Complete changelog follows. Please take note of the breaking changes.
MetricFlow 0.203.0 - November 13, 2023
Breaking Changes
- Use FULL OUTER JOIN to combine input metrics for derived metrics. This is a change from using INNER JOIN and may result in changes in output. (#842)
- Update Dependencies to Use
dbt-semantic-interfaces~=0.4.0
(#846)
Features
- Enable DATE PART aggregation for time dimensions (#770)
- Support Saved Queries in MetricFlow (#765)
- Support for sort order in query interface (#None)
- Support for the Dimension(...).grain(...) syntax for the where parameter (#None)
- Support querying dimensions without metrics. (#804)
- Join to time spine and fill nulls when requested on metric input measures. (#759)
- Fill nulls for multi-metric queries (#850)
Fixes
- Removing methods and reordering parameters for Query Interface. (#None)
- Coerce time granularity to configured value to prevent finer-grained timestamps from causing unexpected query behavior (#714)
- Prioritize source nodes based on correct cost (#801)
- Enables case insensitivity for various query params. (#802)
- Ensure extract calls return consistent results across engines (#792)
- The --order param was being dropped from CLI saved queries. (#835)
- Fix query validation for metric_time requirements (#825)
- Use FULL OUTER JOIN for dimension-only queries. (#863)
Under the Hood
- A simple update to make the where filter query parameter objects more accurate (#None)
- Expose underlying where clause error message (#None)
- Remove query interface and depend on DSI protocol instead (#None)
- re-categorize
TypeErrors
that arise fromcreate_from_where_filter
intoInvalidQueryException
(#None) - Add the ability to use distinct select in sql nodes (#None)
- Removed DatePart Enum and change imports to depend on DSI version instead. (#None)
Dependencies
- Update to dbt-semantic-interfaces~=0.3.0. (#809)
- Update typing-extensions minimum version to 4.4 (#823)
- Update dbt dependencies to ~=1.7.0 (#860)