From 955f35db1ee3244ca4ccc5e81e86d94ed44b0d3d Mon Sep 17 00:00:00 2001 From: Paul Yang Date: Fri, 24 Jan 2025 18:18:09 -0800 Subject: [PATCH] Update change log for 0.207.1. --- .changes/0.207.1.md | 64 ++++++++++++++++++ .../Breaking Changes-20241007-142032.yaml | 6 -- .../Breaking Changes-20241021-115548.yaml | 6 -- .../Dependencies-20240624-182325.yaml | 6 -- .../unreleased/Features-20240521-202252.yaml | 6 -- .../unreleased/Features-20240607-161232.yaml | 7 -- .../unreleased/Features-20240613-160758.yaml | 7 -- .../unreleased/Features-20240613-172315.yaml | 6 -- .../unreleased/Features-20240614-071108.yaml | 6 -- .../unreleased/Features-20240625-152952.yaml | 6 -- .../unreleased/Features-20240628-074617.yaml | 6 -- .../unreleased/Features-20240725-160038.yaml | 6 -- .../unreleased/Features-20240727-081106.yaml | 6 -- .../unreleased/Features-20240813-164801.yaml | 6 -- .../unreleased/Features-20240821-112601.yaml | 7 -- .../unreleased/Features-20240827-112415.yaml | 6 -- .../unreleased/Features-20240920-120114.yaml | 6 -- .../unreleased/Features-20241023-161720.yaml | 6 -- .../unreleased/Features-20241104-193531.yaml | 6 -- .../unreleased/Features-20241112-215817.yaml | 6 -- .../unreleased/Fixes-20240612-161605.yaml | 7 -- .../unreleased/Fixes-20240625-114914.yaml | 6 -- .../unreleased/Fixes-20240716-090114.yaml | 6 -- .../unreleased/Fixes-20240821-111857.yaml | 7 -- .../unreleased/Fixes-20240823-123108.yaml | 6 -- .../unreleased/Fixes-20240827-130128.yaml | 6 -- .../unreleased/Fixes-20241009-171939.yaml | 7 -- .../unreleased/Fixes-20241009-174346.yaml | 6 -- .../unreleased/Fixes-20241011-161926.yaml | 6 -- .../unreleased/Fixes-20241021-120748.yaml | 6 -- .../unreleased/Fixes-20241030-201214.yaml | 6 -- .../unreleased/Fixes-20250124-140300.yaml | 6 -- .../unreleased/Fixes-20250124-181618.yaml | 6 -- .../unreleased/Fixes-20250124-181706.yaml | 6 -- .../Under the Hood-20240603-170530.yaml | 6 -- .../Under the Hood-20240611-162735.yaml | 6 -- .../Under the Hood-20240612-233459.yaml | 6 -- .../Under the Hood-20240613-171930.yaml | 6 -- .../Under the Hood-20240617-110749.yaml | 6 -- .../Under the Hood-20240618-161241.yaml | 7 -- CHANGELOG.md | 67 ++++++++++++++++++- 41 files changed, 130 insertions(+), 242 deletions(-) create mode 100644 .changes/0.207.1.md delete mode 100644 .changes/unreleased/Breaking Changes-20241007-142032.yaml delete mode 100644 .changes/unreleased/Breaking Changes-20241021-115548.yaml delete mode 100644 .changes/unreleased/Dependencies-20240624-182325.yaml delete mode 100644 .changes/unreleased/Features-20240521-202252.yaml delete mode 100644 .changes/unreleased/Features-20240607-161232.yaml delete mode 100644 .changes/unreleased/Features-20240613-160758.yaml delete mode 100644 .changes/unreleased/Features-20240613-172315.yaml delete mode 100644 .changes/unreleased/Features-20240614-071108.yaml delete mode 100644 .changes/unreleased/Features-20240625-152952.yaml delete mode 100644 .changes/unreleased/Features-20240628-074617.yaml delete mode 100644 .changes/unreleased/Features-20240725-160038.yaml delete mode 100644 .changes/unreleased/Features-20240727-081106.yaml delete mode 100644 .changes/unreleased/Features-20240813-164801.yaml delete mode 100644 .changes/unreleased/Features-20240821-112601.yaml delete mode 100644 .changes/unreleased/Features-20240827-112415.yaml delete mode 100644 .changes/unreleased/Features-20240920-120114.yaml delete mode 100644 .changes/unreleased/Features-20241023-161720.yaml delete mode 100644 .changes/unreleased/Features-20241104-193531.yaml delete mode 100644 .changes/unreleased/Features-20241112-215817.yaml delete mode 100644 .changes/unreleased/Fixes-20240612-161605.yaml delete mode 100644 .changes/unreleased/Fixes-20240625-114914.yaml delete mode 100644 .changes/unreleased/Fixes-20240716-090114.yaml delete mode 100644 .changes/unreleased/Fixes-20240821-111857.yaml delete mode 100644 .changes/unreleased/Fixes-20240823-123108.yaml delete mode 100644 .changes/unreleased/Fixes-20240827-130128.yaml delete mode 100644 .changes/unreleased/Fixes-20241009-171939.yaml delete mode 100644 .changes/unreleased/Fixes-20241009-174346.yaml delete mode 100644 .changes/unreleased/Fixes-20241011-161926.yaml delete mode 100644 .changes/unreleased/Fixes-20241021-120748.yaml delete mode 100644 .changes/unreleased/Fixes-20241030-201214.yaml delete mode 100644 .changes/unreleased/Fixes-20250124-140300.yaml delete mode 100644 .changes/unreleased/Fixes-20250124-181618.yaml delete mode 100644 .changes/unreleased/Fixes-20250124-181706.yaml delete mode 100644 .changes/unreleased/Under the Hood-20240603-170530.yaml delete mode 100644 .changes/unreleased/Under the Hood-20240611-162735.yaml delete mode 100644 .changes/unreleased/Under the Hood-20240612-233459.yaml delete mode 100644 .changes/unreleased/Under the Hood-20240613-171930.yaml delete mode 100644 .changes/unreleased/Under the Hood-20240617-110749.yaml delete mode 100644 .changes/unreleased/Under the Hood-20240618-161241.yaml diff --git a/.changes/0.207.1.md b/.changes/0.207.1.md new file mode 100644 index 0000000000..8287e2fc0a --- /dev/null +++ b/.changes/0.207.1.md @@ -0,0 +1,64 @@ +## MetricFlow 0.207.1 - January 24, 2025 + +### Breaking Changes + +- Changes MetricFlowQueryRequest.where_constraint to where_constraints and now accepts a list ([#1431](https://github.com/dbt-labs/metricflow/issues/1431)) +- Require Python `>=3.9` ([#1470](https://github.com/dbt-labs/metricflow/issues/1470)) + +### Features + +- Enable predicate pushdown for categorical dimensions ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Support sub-daily granularity options in SQL rendering for all supported SQL engines. ([#1258](https://github.com/dbt-labs/metricflow/issues/1258)) +- 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)) +- Build dataflow plan for cumulative metrics queried with non-default granularity. ([#1281](https://github.com/dbt-labs/metricflow/issues/1281)) +- Remove restriction on querying non-default granularities with cumulative metrics. ([#1282](https://github.com/dbt-labs/metricflow/issues/1282)) +- Enable predicate pushdown optimization by default for all callers ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Use Metric.time_granularity to resolve metric_time. ([#1310](https://github.com/dbt-labs/metricflow/issues/1310)) +- Support multiple time spines with different granularities. ([#1348](https://github.com/dbt-labs/metricflow/issues/1348)) +- Enable sub-daily queries without metrics. ([#1359](https://github.com/dbt-labs/metricflow/issues/1359)) +- Enable sub-daily time constraints. ([#1367](https://github.com/dbt-labs/metricflow/issues/1367)) +- 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)) +- Handle custom granularities in DataflowPlan. ([#1382](https://github.com/dbt-labs/metricflow/issues/1382)) +- Support custom granularities in query parsing. ([#1413](https://github.com/dbt-labs/metricflow/issues/1413)) +- Support conversion metrics queried with custom granularities. ([#1475](https://github.com/dbt-labs/metricflow/issues/1475)) +- Basic support for join_to_timespine metrics with custom grain in the group by. ([#1505](https://github.com/dbt-labs/metricflow/issues/1505)) +- Use CTEs instead of sub-queries in generated SQL. ([#1040](https://github.com/dbt-labs/metricflow/issues/1040)) + +### Fixes + +- 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)) +- Remove extraneous where filter subqueries added by predicate pushdown ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Add Column header to the exported CSV from query command +- Allow metrics with matching input measures where one is cumulative and one is not. ([#1374](https://github.com/dbt-labs/metricflow/issues/1374)) +- 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)) +- Bug fix: ensure that granularity requested for non-additive dimension is respected. ([#1383](https://github.com/dbt-labs/metricflow/issues/1383)) +- 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)) +- Remove unnecessary group bys that make queries less efficient. ([#1453](https://github.com/dbt-labs/metricflow/issues/1453)) +- 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)) +- Make ID generation thread-safe ([#1473](https://github.com/dbt-labs/metricflow/issues/1473)) +- 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)) +- Fix `mf tutorial` experience. ([#1631](https://github.com/dbt-labs/metricflow/issues/1631)) +- Compatibility Issue with dbt-core 1.9.0 and dbt-metricflow 0.7.1. ([#1589](https://github.com/dbt-labs/metricflow/issues/1589)) +- dbt-core dependency issue with metricflow==0.207.0. ([#1632](https://github.com/dbt-labs/metricflow/issues/1632)) + +### Under the Hood + +- Add test coverage for more filter + join interactions ([#1240](https://github.com/dbt-labs/metricflow/issues/1240)) +- Add dataflow plan optimizer to replace build-time predicate pushdown ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Added filtering for DWH validation tasks and saved query support ([#1271](https://github.com/dbt-labs/metricflow/issues/1271)) +- Refine subquery ID generation. This may result in changing subquery ids for rendered SQL. ([#1280](https://github.com/dbt-labs/metricflow/issues/1280)) +- Move categorical dimension predicate pushdown to DataflowPlanOptimizer ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Consume cumulative-specific metric type params from new cumulative_type_params field. ([#1293](https://github.com/dbt-labs/metricflow/issues/1293)) + +### Dependencies + +- Allow pydantic 2.x installations ([#1299](https://github.com/dbt-labs/metricflow/issues/1299)) + +### Contributors +- [@WilliamDee](https://github.com/WilliamDee) ([#1210](https://github.com/dbt-labs/metricflow/issues/1210), [#1271](https://github.com/dbt-labs/metricflow/issues/1271)) +- [@WilliamDee,courtneyholcomb](https://github.com/WilliamDee,courtneyholcomb) ([#1431](https://github.com/dbt-labs/metricflow/issues/1431)) +- [@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)) +- [@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)) +- [@saurabh0402](https://github.com/saurabh0402) +- [@serramatutu](https://github.com/serramatutu) ([#1451](https://github.com/dbt-labs/metricflow/issues/1451), [#1494](https://github.com/dbt-labs/metricflow/issues/1494)) +- [@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)) diff --git a/.changes/unreleased/Breaking Changes-20241007-142032.yaml b/.changes/unreleased/Breaking Changes-20241007-142032.yaml deleted file mode 100644 index 0d286578e4..0000000000 --- a/.changes/unreleased/Breaking Changes-20241007-142032.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Breaking Changes -body: Changes MetricFlowQueryRequest.where_constraint to where_constraints and now accepts a list -time: 2024-10-07T14:20:32.823935-04:00 -custom: - Author: WilliamDee,courtneyholcomb - Issue: "1431" diff --git a/.changes/unreleased/Breaking Changes-20241021-115548.yaml b/.changes/unreleased/Breaking Changes-20241021-115548.yaml deleted file mode 100644 index 590cb55ad1..0000000000 --- a/.changes/unreleased/Breaking Changes-20241021-115548.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Breaking Changes -body: Require Python `>=3.9` -time: 2024-10-21T11:55:48.188883-07:00 -custom: - Author: plypaul - Issue: "1470" diff --git a/.changes/unreleased/Dependencies-20240624-182325.yaml b/.changes/unreleased/Dependencies-20240624-182325.yaml deleted file mode 100644 index f56ea0bc67..0000000000 --- a/.changes/unreleased/Dependencies-20240624-182325.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Dependencies -body: Allow pydantic 2.x installations -time: 2024-06-24T18:23:25.370934-07:00 -custom: - Author: tlento - Issue: "1299" diff --git a/.changes/unreleased/Features-20240521-202252.yaml b/.changes/unreleased/Features-20240521-202252.yaml deleted file mode 100644 index 49bfda8e39..0000000000 --- a/.changes/unreleased/Features-20240521-202252.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Enable predicate pushdown for categorical dimensions -time: 2024-05-21T20:22:52.841802-07:00 -custom: - Author: tlento - Issue: "1011" diff --git a/.changes/unreleased/Features-20240607-161232.yaml b/.changes/unreleased/Features-20240607-161232.yaml deleted file mode 100644 index 21351376d8..0000000000 --- a/.changes/unreleased/Features-20240607-161232.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Features -body: Support sub-daily granularity options in SQL rendering for all supported SQL - engines. -time: 2024-06-07T16:12:32.270538-07:00 -custom: - Author: courtneyholcomb - Issue: "1258" diff --git a/.changes/unreleased/Features-20240613-160758.yaml b/.changes/unreleased/Features-20240613-160758.yaml deleted file mode 100644 index ac7fe2dfbf..0000000000 --- a/.changes/unreleased/Features-20240613-160758.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Features -body: Adds a new dataflow plan node to re-aggregate metrics using window functions. - Needed to calculate cumulative metrics at non-default granularities. -time: 2024-06-13T16:07:58.767447-07:00 -custom: - Author: courtneyholcomb - Issue: "1274" diff --git a/.changes/unreleased/Features-20240613-172315.yaml b/.changes/unreleased/Features-20240613-172315.yaml deleted file mode 100644 index 401eb1359a..0000000000 --- a/.changes/unreleased/Features-20240613-172315.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Build dataflow plan for cumulative metrics queried with non-default granularity. -time: 2024-06-13T17:23:15.095339-07:00 -custom: - Author: courtneyholcomb - Issue: "1281" diff --git a/.changes/unreleased/Features-20240614-071108.yaml b/.changes/unreleased/Features-20240614-071108.yaml deleted file mode 100644 index 7b6e1a8eac..0000000000 --- a/.changes/unreleased/Features-20240614-071108.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Remove restriction on querying non-default granularities with cumulative metrics. -time: 2024-06-14T07:11:08.765605-07:00 -custom: - Author: courtneyholcomb - Issue: "1282" diff --git a/.changes/unreleased/Features-20240625-152952.yaml b/.changes/unreleased/Features-20240625-152952.yaml deleted file mode 100644 index d9fbf297af..0000000000 --- a/.changes/unreleased/Features-20240625-152952.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Enable predicate pushdown optimization by default for all callers -time: 2024-06-25T15:29:52.514224-07:00 -custom: - Author: tlento - Issue: "1011" diff --git a/.changes/unreleased/Features-20240628-074617.yaml b/.changes/unreleased/Features-20240628-074617.yaml deleted file mode 100644 index 7661d43434..0000000000 --- a/.changes/unreleased/Features-20240628-074617.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Use Metric.time_granularity to resolve metric_time. -time: 2024-06-28T07:46:17.768805-07:00 -custom: - Author: courtneyholcomb - Issue: "1310" diff --git a/.changes/unreleased/Features-20240725-160038.yaml b/.changes/unreleased/Features-20240725-160038.yaml deleted file mode 100644 index 72072d0c7b..0000000000 --- a/.changes/unreleased/Features-20240725-160038.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Support multiple time spines with different granularities. -time: 2024-07-25T16:00:38.07984-07:00 -custom: - Author: courtneyholcomb - Issue: "1348" diff --git a/.changes/unreleased/Features-20240727-081106.yaml b/.changes/unreleased/Features-20240727-081106.yaml deleted file mode 100644 index d83fed7648..0000000000 --- a/.changes/unreleased/Features-20240727-081106.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Enable sub-daily queries without metrics. -time: 2024-07-27T08:11:06.357653-07:00 -custom: - Author: courtneyholcomb - Issue: "1359" diff --git a/.changes/unreleased/Features-20240813-164801.yaml b/.changes/unreleased/Features-20240813-164801.yaml deleted file mode 100644 index f833238684..0000000000 --- a/.changes/unreleased/Features-20240813-164801.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Enable sub-daily time constraints. -time: 2024-08-13T16:48:01.624855-07:00 -custom: - Author: courtneyholcomb - Issue: "1367" diff --git a/.changes/unreleased/Features-20240821-112601.yaml b/.changes/unreleased/Features-20240821-112601.yaml deleted file mode 100644 index cb7d7bb509..0000000000 --- a/.changes/unreleased/Features-20240821-112601.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Features -body: Support combining AggregateMeasuresNodes where metric input measures have aliases, - so long as there are no duplicates. -time: 2024-08-21T11:26:01.714888-07:00 -custom: - Author: courtneyholcomb - Issue: "1375" diff --git a/.changes/unreleased/Features-20240827-112415.yaml b/.changes/unreleased/Features-20240827-112415.yaml deleted file mode 100644 index 3073a5c99a..0000000000 --- a/.changes/unreleased/Features-20240827-112415.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Handle custom granularities in DataflowPlan. -time: 2024-08-27T11:24:15.909853-07:00 -custom: - Author: courtneyholcomb - Issue: "1382" diff --git a/.changes/unreleased/Features-20240920-120114.yaml b/.changes/unreleased/Features-20240920-120114.yaml deleted file mode 100644 index 7b1036bd69..0000000000 --- a/.changes/unreleased/Features-20240920-120114.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Support custom granularities in query parsing. -time: 2024-09-20T12:01:14.783921-07:00 -custom: - Author: courtneyholcomb - Issue: "1413" diff --git a/.changes/unreleased/Features-20241023-161720.yaml b/.changes/unreleased/Features-20241023-161720.yaml deleted file mode 100644 index ae0a490ef4..0000000000 --- a/.changes/unreleased/Features-20241023-161720.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Support conversion metrics queried with custom granularities. -time: 2024-10-23T16:17:20.92419-07:00 -custom: - Author: courtneyholcomb - Issue: "1475" diff --git a/.changes/unreleased/Features-20241104-193531.yaml b/.changes/unreleased/Features-20241104-193531.yaml deleted file mode 100644 index ccc83fc1b6..0000000000 --- a/.changes/unreleased/Features-20241104-193531.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Basic support for join_to_timespine metrics with custom grain in the group by. -time: 2024-11-04T19:35:31.185372-08:00 -custom: - Author: courtneyholcomb - Issue: "1505" diff --git a/.changes/unreleased/Features-20241112-215817.yaml b/.changes/unreleased/Features-20241112-215817.yaml deleted file mode 100644 index aa354ab6fd..0000000000 --- a/.changes/unreleased/Features-20241112-215817.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Features -body: Use CTEs instead of sub-queries in generated SQL. -time: 2024-11-12T21:58:17.127471-08:00 -custom: - Author: plypaul - Issue: "1040" diff --git a/.changes/unreleased/Fixes-20240612-161605.yaml b/.changes/unreleased/Fixes-20240612-161605.yaml deleted file mode 100644 index 7800c5f9a9..0000000000 --- a/.changes/unreleased/Fixes-20240612-161605.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Fixes -body: When querying multiple agg time or metric time dimensions with a cumulative - metric, select all of them from the time spine table. -time: 2024-06-12T16:16:05.678697-07:00 -custom: - Author: courtneyholcomb - Issue: "1271" diff --git a/.changes/unreleased/Fixes-20240625-114914.yaml b/.changes/unreleased/Fixes-20240625-114914.yaml deleted file mode 100644 index 16154061e9..0000000000 --- a/.changes/unreleased/Fixes-20240625-114914.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Remove extraneous where filter subqueries added by predicate pushdown -time: 2024-06-25T11:49:14.837794-07:00 -custom: - Author: tlento - Issue: "1011" diff --git a/.changes/unreleased/Fixes-20240716-090114.yaml b/.changes/unreleased/Fixes-20240716-090114.yaml deleted file mode 100644 index acbacc51f7..0000000000 --- a/.changes/unreleased/Fixes-20240716-090114.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Add Column header to the exported CSV from query command -time: 2024-07-16T09:01:14.102978+05:30 -custom: - Author: saurabh0402 - Issue: 1285,1313 diff --git a/.changes/unreleased/Fixes-20240821-111857.yaml b/.changes/unreleased/Fixes-20240821-111857.yaml deleted file mode 100644 index 268a0f5476..0000000000 --- a/.changes/unreleased/Fixes-20240821-111857.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Fixes -body: Allow metrics with matching input measures where one is cumulative and one is - not. -time: 2024-08-21T11:18:57.795215-07:00 -custom: - Author: courtneyholcomb - Issue: "1374" diff --git a/.changes/unreleased/Fixes-20240823-123108.yaml b/.changes/unreleased/Fixes-20240823-123108.yaml deleted file mode 100644 index ceac1e2bdc..0000000000 --- a/.changes/unreleased/Fixes-20240823-123108.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Fixes bug where conversion metric query fails when filter with base semantic model's dimension is provided -time: 2024-08-23T12:31:08.257686-04:00 -custom: - Author: WilliamDee - Issue: "1210" diff --git a/.changes/unreleased/Fixes-20240827-130128.yaml b/.changes/unreleased/Fixes-20240827-130128.yaml deleted file mode 100644 index 36efbf6188..0000000000 --- a/.changes/unreleased/Fixes-20240827-130128.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: 'Bug fix: ensure that granularity requested for non-additive dimension is respected.' -time: 2024-08-27T13:01:28.743199-07:00 -custom: - Author: courtneyholcomb - Issue: "1383" diff --git a/.changes/unreleased/Fixes-20241009-171939.yaml b/.changes/unreleased/Fixes-20241009-171939.yaml deleted file mode 100644 index 68c45724ee..0000000000 --- a/.changes/unreleased/Fixes-20241009-171939.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Fixes -body: '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.' -time: 2024-10-09T17:19:39.244779-07:00 -custom: - Author: courtneyholcomb - Issue: "1450" diff --git a/.changes/unreleased/Fixes-20241009-174346.yaml b/.changes/unreleased/Fixes-20241009-174346.yaml deleted file mode 100644 index aab55d27a5..0000000000 --- a/.changes/unreleased/Fixes-20241009-174346.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Remove unnecessary group bys that make queries less efficient. -time: 2024-10-09T17:43:46.011252-07:00 -custom: - Author: courtneyholcomb - Issue: "1453" diff --git a/.changes/unreleased/Fixes-20241011-161926.yaml b/.changes/unreleased/Fixes-20241011-161926.yaml deleted file mode 100644 index 568b39b9ef..0000000000 --- a/.changes/unreleased/Fixes-20241011-161926.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Add new validation that checks for SCDs in the join path to make grouping by `metric_time` required in this case. -time: 2024-10-11T16:19:26.928496+02:00 -custom: - Author: serramatutu - Issue: "1451" diff --git a/.changes/unreleased/Fixes-20241021-120748.yaml b/.changes/unreleased/Fixes-20241021-120748.yaml deleted file mode 100644 index 955f7b9769..0000000000 --- a/.changes/unreleased/Fixes-20241021-120748.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Make ID generation thread-safe -time: 2024-10-21T12:07:48.313324-07:00 -custom: - Author: plypaul - Issue: "1473" diff --git a/.changes/unreleased/Fixes-20241030-201214.yaml b/.changes/unreleased/Fixes-20241030-201214.yaml deleted file mode 100644 index f89f8b7f02..0000000000 --- a/.changes/unreleased/Fixes-20241030-201214.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Prevent SourceScanOptimizer from combining nodes that use the same input metric alias in different derived metrics -time: 2024-10-30T20:12:14.516814+01:00 -custom: - Author: serramatutu - Issue: "1494" diff --git a/.changes/unreleased/Fixes-20250124-140300.yaml b/.changes/unreleased/Fixes-20250124-140300.yaml deleted file mode 100644 index aa2ec73478..0000000000 --- a/.changes/unreleased/Fixes-20250124-140300.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Fix `mf tutorial` experience. -time: 2025-01-24T14:03:00.410289-08:00 -custom: - Author: plypaul - Issue: "1631" diff --git a/.changes/unreleased/Fixes-20250124-181618.yaml b/.changes/unreleased/Fixes-20250124-181618.yaml deleted file mode 100644 index eaad03b5f3..0000000000 --- a/.changes/unreleased/Fixes-20250124-181618.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: Compatibility Issue with dbt-core 1.9.0 and dbt-metricflow 0.7.1. -time: 2025-01-24T18:16:18.536201-08:00 -custom: - Author: plypaul - Issue: "1589" diff --git a/.changes/unreleased/Fixes-20250124-181706.yaml b/.changes/unreleased/Fixes-20250124-181706.yaml deleted file mode 100644 index 272f10135f..0000000000 --- a/.changes/unreleased/Fixes-20250124-181706.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixes -body: dbt-core dependency issue with metricflow==0.207.0. -time: 2025-01-24T18:17:06.936807-08:00 -custom: - Author: plypaul - Issue: "1632" diff --git a/.changes/unreleased/Under the Hood-20240603-170530.yaml b/.changes/unreleased/Under the Hood-20240603-170530.yaml deleted file mode 100644 index cdd789cc26..0000000000 --- a/.changes/unreleased/Under the Hood-20240603-170530.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Under the Hood -body: Add test coverage for more filter + join interactions -time: 2024-06-03T17:05:30.297854-07:00 -custom: - Author: tlento - Issue: "1240" diff --git a/.changes/unreleased/Under the Hood-20240611-162735.yaml b/.changes/unreleased/Under the Hood-20240611-162735.yaml deleted file mode 100644 index 618624ef2b..0000000000 --- a/.changes/unreleased/Under the Hood-20240611-162735.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Under the Hood -body: Add dataflow plan optimizer to replace build-time predicate pushdown -time: 2024-06-11T16:27:35.410726-07:00 -custom: - Author: tlento - Issue: "1011" diff --git a/.changes/unreleased/Under the Hood-20240612-233459.yaml b/.changes/unreleased/Under the Hood-20240612-233459.yaml deleted file mode 100644 index 51158ff7fe..0000000000 --- a/.changes/unreleased/Under the Hood-20240612-233459.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Under the Hood -body: Added filtering for DWH validation tasks and saved query support -time: 2024-06-12T23:34:59.094903-04:00 -custom: - Author: WilliamDee - Issue: "1271" diff --git a/.changes/unreleased/Under the Hood-20240613-171930.yaml b/.changes/unreleased/Under the Hood-20240613-171930.yaml deleted file mode 100644 index f23abebd55..0000000000 --- a/.changes/unreleased/Under the Hood-20240613-171930.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Under the Hood -body: Refine subquery ID generation. This may result in changing subquery ids for rendered SQL. -time: 2024-06-13T17:19:30.939376-07:00 -custom: - Author: tlento - Issue: "1280" diff --git a/.changes/unreleased/Under the Hood-20240617-110749.yaml b/.changes/unreleased/Under the Hood-20240617-110749.yaml deleted file mode 100644 index ef0524b232..0000000000 --- a/.changes/unreleased/Under the Hood-20240617-110749.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Under the Hood -body: Move categorical dimension predicate pushdown to DataflowPlanOptimizer -time: 2024-06-17T11:07:49.619225-07:00 -custom: - Author: tlento - Issue: "1011" diff --git a/.changes/unreleased/Under the Hood-20240618-161241.yaml b/.changes/unreleased/Under the Hood-20240618-161241.yaml deleted file mode 100644 index d5078f005b..0000000000 --- a/.changes/unreleased/Under the Hood-20240618-161241.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Under the Hood -body: Consume cumulative-specific metric type params from new cumulative_type_params - field. -time: 2024-06-18T16:12:41.132445-07:00 -custom: - Author: courtneyholcomb - Issue: "1293" diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d73c25749..dab827dcdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,72 @@ - "Breaking changes" listed under a version may require action from end users or external maintainers when upgrading to that version. - Do not edit this file directly. This file is auto-generated using [changie](https://github.com/miniscruff/changie). For details on how to document a change, see [the contributing guide](https://github.com/dbt-labs/metricflow/blob/main/CONTRIBUTING.md) +## MetricFlow 0.207.1 - January 24, 2025 + +### Breaking Changes + +- Changes MetricFlowQueryRequest.where_constraint to where_constraints and now accepts a list ([#1431](https://github.com/dbt-labs/metricflow/issues/1431)) +- Require Python `>=3.9` ([#1470](https://github.com/dbt-labs/metricflow/issues/1470)) + +### Features + +- Enable predicate pushdown for categorical dimensions ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Support sub-daily granularity options in SQL rendering for all supported SQL engines. ([#1258](https://github.com/dbt-labs/metricflow/issues/1258)) +- 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)) +- Build dataflow plan for cumulative metrics queried with non-default granularity. ([#1281](https://github.com/dbt-labs/metricflow/issues/1281)) +- Remove restriction on querying non-default granularities with cumulative metrics. ([#1282](https://github.com/dbt-labs/metricflow/issues/1282)) +- Enable predicate pushdown optimization by default for all callers ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Use Metric.time_granularity to resolve metric_time. ([#1310](https://github.com/dbt-labs/metricflow/issues/1310)) +- Support multiple time spines with different granularities. ([#1348](https://github.com/dbt-labs/metricflow/issues/1348)) +- Enable sub-daily queries without metrics. ([#1359](https://github.com/dbt-labs/metricflow/issues/1359)) +- Enable sub-daily time constraints. ([#1367](https://github.com/dbt-labs/metricflow/issues/1367)) +- 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)) +- Handle custom granularities in DataflowPlan. ([#1382](https://github.com/dbt-labs/metricflow/issues/1382)) +- Support custom granularities in query parsing. ([#1413](https://github.com/dbt-labs/metricflow/issues/1413)) +- Support conversion metrics queried with custom granularities. ([#1475](https://github.com/dbt-labs/metricflow/issues/1475)) +- Basic support for join_to_timespine metrics with custom grain in the group by. ([#1505](https://github.com/dbt-labs/metricflow/issues/1505)) +- Use CTEs instead of sub-queries in generated SQL. ([#1040](https://github.com/dbt-labs/metricflow/issues/1040)) + +### Fixes + +- 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)) +- Remove extraneous where filter subqueries added by predicate pushdown ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Add Column header to the exported CSV from query command +- Allow metrics with matching input measures where one is cumulative and one is not. ([#1374](https://github.com/dbt-labs/metricflow/issues/1374)) +- 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)) +- Bug fix: ensure that granularity requested for non-additive dimension is respected. ([#1383](https://github.com/dbt-labs/metricflow/issues/1383)) +- 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)) +- Remove unnecessary group bys that make queries less efficient. ([#1453](https://github.com/dbt-labs/metricflow/issues/1453)) +- 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)) +- Make ID generation thread-safe ([#1473](https://github.com/dbt-labs/metricflow/issues/1473)) +- 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)) +- Fix `mf tutorial` experience. ([#1631](https://github.com/dbt-labs/metricflow/issues/1631)) +- Compatibility Issue with dbt-core 1.9.0 and dbt-metricflow 0.7.1. ([#1589](https://github.com/dbt-labs/metricflow/issues/1589)) +- dbt-core dependency issue with metricflow==0.207.0. ([#1632](https://github.com/dbt-labs/metricflow/issues/1632)) + +### Under the Hood + +- Add test coverage for more filter + join interactions ([#1240](https://github.com/dbt-labs/metricflow/issues/1240)) +- Add dataflow plan optimizer to replace build-time predicate pushdown ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Added filtering for DWH validation tasks and saved query support ([#1271](https://github.com/dbt-labs/metricflow/issues/1271)) +- Refine subquery ID generation. This may result in changing subquery ids for rendered SQL. ([#1280](https://github.com/dbt-labs/metricflow/issues/1280)) +- Move categorical dimension predicate pushdown to DataflowPlanOptimizer ([#1011](https://github.com/dbt-labs/metricflow/issues/1011)) +- Consume cumulative-specific metric type params from new cumulative_type_params field. ([#1293](https://github.com/dbt-labs/metricflow/issues/1293)) + +### Dependencies + +- Allow pydantic 2.x installations ([#1299](https://github.com/dbt-labs/metricflow/issues/1299)) + +### Contributors +- [@WilliamDee](https://github.com/WilliamDee) ([#1210](https://github.com/dbt-labs/metricflow/issues/1210), [#1271](https://github.com/dbt-labs/metricflow/issues/1271)) +- [@WilliamDee,courtneyholcomb](https://github.com/WilliamDee,courtneyholcomb) ([#1431](https://github.com/dbt-labs/metricflow/issues/1431)) +- [@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)) +- [@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)) +- [@saurabh0402](https://github.com/saurabh0402) +- [@serramatutu](https://github.com/serramatutu) ([#1451](https://github.com/dbt-labs/metricflow/issues/1451), [#1494](https://github.com/dbt-labs/metricflow/issues/1494)) +- [@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)) + + ## MetricFlow 0.206.0 - June 11, 2024 ### Breaking Changes @@ -46,7 +112,6 @@ - [@plypaul](https://github.com/plypaul) ([#1155](https://github.com/dbt-labs/metricflow/issues/1155), [#1065](https://github.com/dbt-labs/metricflow/issues/1065), [#1243](https://github.com/dbt-labs/metricflow/issues/1243), [#1150](https://github.com/dbt-labs/metricflow/issues/1150)) - [@tlento](https://github.com/tlento) ([#1094](https://github.com/dbt-labs/metricflow/issues/1094), [#1090](https://github.com/dbt-labs/metricflow/issues/1090), [#1092](https://github.com/dbt-labs/metricflow/issues/1092), [#1088](https://github.com/dbt-labs/metricflow/issues/1088), [#1218](https://github.com/dbt-labs/metricflow/issues/1218), [#769](https://github.com/dbt-labs/metricflow/issues/769), [#1104](https://github.com/dbt-labs/metricflow/issues/1104)) - ## MetricFlow 0.205.0 - February 29, 2024 ### Breaking Changes