|
| 1 | +## MetricFlow 0.207.1 - January 24, 2025 |
| 2 | + |
| 3 | +### Breaking Changes |
| 4 | + |
| 5 | +- Changes MetricFlowQueryRequest.where_constraint to where_constraints and now accepts a list ([#1431](https://github.com/dbt-labs/metricflow/issues/1431)) |
| 6 | +- Require Python `>=3.9` ([#1470](https://github.com/dbt-labs/metricflow/issues/1470)) |
| 7 | + |
| 8 | +### Features |
| 9 | + |
| 10 | +- Enable predicate pushdown for categorical dimensions ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) |
| 11 | +- Support sub-daily granularity options in SQL rendering for all supported SQL engines. ([#1258](https://github.com/dbt-labs/metricflow/issues/1258)) |
| 12 | +- Adds a new dataflow plan node to re-aggregate metrics using window functions. Needed to calculate cumulative metrics at non-default granularities. ([#1274](https://github.com/dbt-labs/metricflow/issues/1274)) |
| 13 | +- Build dataflow plan for cumulative metrics queried with non-default granularity. ([#1281](https://github.com/dbt-labs/metricflow/issues/1281)) |
| 14 | +- Remove restriction on querying non-default granularities with cumulative metrics. ([#1282](https://github.com/dbt-labs/metricflow/issues/1282)) |
| 15 | +- Enable predicate pushdown optimization by default for all callers ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) |
| 16 | +- Use Metric.time_granularity to resolve metric_time. ([#1310](https://github.com/dbt-labs/metricflow/issues/1310)) |
| 17 | +- Support multiple time spines with different granularities. ([#1348](https://github.com/dbt-labs/metricflow/issues/1348)) |
| 18 | +- Enable sub-daily queries without metrics. ([#1359](https://github.com/dbt-labs/metricflow/issues/1359)) |
| 19 | +- Enable sub-daily time constraints. ([#1367](https://github.com/dbt-labs/metricflow/issues/1367)) |
| 20 | +- Support combining AggregateMeasuresNodes where metric input measures have aliases, so long as there are no duplicates. ([#1375](https://github.com/dbt-labs/metricflow/issues/1375)) |
| 21 | +- Handle custom granularities in DataflowPlan. ([#1382](https://github.com/dbt-labs/metricflow/issues/1382)) |
| 22 | +- Support custom granularities in query parsing. ([#1413](https://github.com/dbt-labs/metricflow/issues/1413)) |
| 23 | +- Support conversion metrics queried with custom granularities. ([#1475](https://github.com/dbt-labs/metricflow/issues/1475)) |
| 24 | +- Basic support for join_to_timespine metrics with custom grain in the group by. ([#1505](https://github.com/dbt-labs/metricflow/issues/1505)) |
| 25 | +- Use CTEs instead of sub-queries in generated SQL. ([#1040](https://github.com/dbt-labs/metricflow/issues/1040)) |
| 26 | + |
| 27 | +### Fixes |
| 28 | + |
| 29 | +- When querying multiple agg time or metric time dimensions with a cumulative metric, select all of them from the time spine table. ([#1271](https://github.com/dbt-labs/metricflow/issues/1271)) |
| 30 | +- Remove extraneous where filter subqueries added by predicate pushdown ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) |
| 31 | +- Add Column header to the exported CSV from query command |
| 32 | +- Allow metrics with matching input measures where one is cumulative and one is not. ([#1374](https://github.com/dbt-labs/metricflow/issues/1374)) |
| 33 | +- Fixes bug where conversion metric query fails when filter with base semantic model's dimension is provided ([#1210](https://github.com/dbt-labs/metricflow/issues/1210)) |
| 34 | +- Bug fix: ensure that granularity requested for non-additive dimension is respected. ([#1383](https://github.com/dbt-labs/metricflow/issues/1383)) |
| 35 | +- Bug fix: when querying a join_to_timespine metric with a metric_time filter that is not included in the group by, unexpected output rows were included. ([#1450](https://github.com/dbt-labs/metricflow/issues/1450)) |
| 36 | +- Remove unnecessary group bys that make queries less efficient. ([#1453](https://github.com/dbt-labs/metricflow/issues/1453)) |
| 37 | +- Add new validation that checks for SCDs in the join path to make grouping by `metric_time` required in this case. ([#1451](https://github.com/dbt-labs/metricflow/issues/1451)) |
| 38 | +- Make ID generation thread-safe ([#1473](https://github.com/dbt-labs/metricflow/issues/1473)) |
| 39 | +- Prevent SourceScanOptimizer from combining nodes that use the same input metric alias in different derived metrics ([#1494](https://github.com/dbt-labs/metricflow/issues/1494)) |
| 40 | +- Fix `mf tutorial` experience. ([#1631](https://github.com/dbt-labs/metricflow/issues/1631)) |
| 41 | +- Compatibility Issue with dbt-core 1.9.0 and dbt-metricflow 0.7.1. ([#1589](https://github.com/dbt-labs/metricflow/issues/1589)) |
| 42 | +- dbt-core dependency issue with metricflow==0.207.0. ([#1632](https://github.com/dbt-labs/metricflow/issues/1632)) |
| 43 | + |
| 44 | +### Under the Hood |
| 45 | + |
| 46 | +- Add test coverage for more filter + join interactions ([#1240](https://github.com/dbt-labs/metricflow/issues/1240)) |
| 47 | +- Add dataflow plan optimizer to replace build-time predicate pushdown ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) |
| 48 | +- Added filtering for DWH validation tasks and saved query support ([#1271](https://github.com/dbt-labs/metricflow/issues/1271)) |
| 49 | +- Refine subquery ID generation. This may result in changing subquery ids for rendered SQL. ([#1280](https://github.com/dbt-labs/metricflow/issues/1280)) |
| 50 | +- Move categorical dimension predicate pushdown to DataflowPlanOptimizer ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) |
| 51 | +- Consume cumulative-specific metric type params from new cumulative_type_params field. ([#1293](https://github.com/dbt-labs/metricflow/issues/1293)) |
| 52 | + |
| 53 | +### Dependencies |
| 54 | + |
| 55 | +- Allow pydantic 2.x installations ([#1299](https://github.com/dbt-labs/metricflow/issues/1299)) |
| 56 | + |
| 57 | +### Contributors |
| 58 | +- [@WilliamDee](https://github.com/WilliamDee) ([#1210](https://github.com/dbt-labs/metricflow/issues/1210), [#1271](https://github.com/dbt-labs/metricflow/issues/1271)) |
| 59 | +- [@WilliamDee,courtneyholcomb](https://github.com/WilliamDee,courtneyholcomb) ([#1431](https://github.com/dbt-labs/metricflow/issues/1431)) |
| 60 | +- [@courtneyholcomb](https://github.com/courtneyholcomb) ([#1258](https://github.com/dbt-labs/metricflow/issues/1258), [#1274](https://github.com/dbt-labs/metricflow/issues/1274), [#1281](https://github.com/dbt-labs/metricflow/issues/1281), [#1282](https://github.com/dbt-labs/metricflow/issues/1282), [#1310](https://github.com/dbt-labs/metricflow/issues/1310), [#1348](https://github.com/dbt-labs/metricflow/issues/1348), [#1359](https://github.com/dbt-labs/metricflow/issues/1359), [#1367](https://github.com/dbt-labs/metricflow/issues/1367), [#1375](https://github.com/dbt-labs/metricflow/issues/1375), [#1382](https://github.com/dbt-labs/metricflow/issues/1382), [#1413](https://github.com/dbt-labs/metricflow/issues/1413), [#1475](https://github.com/dbt-labs/metricflow/issues/1475), [#1505](https://github.com/dbt-labs/metricflow/issues/1505), [#1271](https://github.com/dbt-labs/metricflow/issues/1271), [#1374](https://github.com/dbt-labs/metricflow/issues/1374), [#1383](https://github.com/dbt-labs/metricflow/issues/1383), [#1450](https://github.com/dbt-labs/metricflow/issues/1450), [#1453](https://github.com/dbt-labs/metricflow/issues/1453), [#1293](https://github.com/dbt-labs/metricflow/issues/1293)) |
| 61 | +- [@plypaul](https://github.com/plypaul) ([#1470](https://github.com/dbt-labs/metricflow/issues/1470), [#1040](https://github.com/dbt-labs/metricflow/issues/1040), [#1473](https://github.com/dbt-labs/metricflow/issues/1473), [#1631](https://github.com/dbt-labs/metricflow/issues/1631), [#1589](https://github.com/dbt-labs/metricflow/issues/1589), [#1632](https://github.com/dbt-labs/metricflow/issues/1632)) |
| 62 | +- [@saurabh0402](https://github.com/saurabh0402) |
| 63 | +- [@serramatutu](https://github.com/serramatutu) ([#1451](https://github.com/dbt-labs/metricflow/issues/1451), [#1494](https://github.com/dbt-labs/metricflow/issues/1494)) |
| 64 | +- [@tlento](https://github.com/tlento) ([#1011](https://github.com/dbt-labs/metricflow/issues/1011), [#1011](https://github.com/dbt-labs/metricflow/issues/1011), [#1011](https://github.com/dbt-labs/metricflow/issues/1011), [#1240](https://github.com/dbt-labs/metricflow/issues/1240), [#1011](https://github.com/dbt-labs/metricflow/issues/1011), [#1280](https://github.com/dbt-labs/metricflow/issues/1280), [#1011](https://github.com/dbt-labs/metricflow/issues/1011), [#1299](https://github.com/dbt-labs/metricflow/issues/1299)) |
0 commit comments