From 2c25d8aae256870dc9d89804471caf64bd2b6a11 Mon Sep 17 00:00:00 2001 From: Courtney Holcomb Date: Tue, 27 Aug 2024 18:59:24 -0700 Subject: [PATCH] Add new test metric, measure, and dimension And update snapshots accordingly --- .../semantic_models/accounts_source.yaml | 14 + ...linkable_element_set_as_spec_set__set0.txt | 2 + .../dict/test_get_names__result0.txt | 2 + ...linkable_elements_for_measure__result0.txt | 2 + ...elements_for_no_metrics_query__result0.txt | 7 + ...nversion_count_with_no_group_by__plan0.xml | 176 +++---- ...timespine_and_fill_nulls_with_0__plan0.xml | 176 +++---- .../test_conversion_rate__plan0.xml | 176 +++---- ...n_rate_with_constant_properties__plan0.xml | 176 +++---- ...onversion_rate_with_no_group_by__plan0.xml | 176 +++---- ...est_conversion_rate_with_window__plan0.xml | 176 +++---- .../test_common_semantic_model__dfp_0.xml | 8 +- ...indow_or_grain_with_metric_time__dfp_0.xml | 2 +- ...ow_or_grain_without_metric_time__dfp_0.xml | 2 +- ...e_metric_with_non_default_grain__dfp_0.xml | 2 +- ...t_cumulative_metric_with_window__dfp_0.xml | 2 +- ...e_metric_with_non_default_grain__dfp_0.xml | 2 +- ..._derived_metric_offset_to_grain__dfp_0.xml | 4 +- ...st_derived_metric_offset_window__dfp_0.xml | 2 +- ..._metric_offset_with_granularity__dfp_0.xml | 2 +- ...erived_offset_cumulative_metric__dfp_0.xml | 2 +- ..._if_no_time_dimension_requested__dfp_0.xml | 2 +- ...in_to_time_spine_derived_metric__dfp_0.xml | 4 +- ...join_to_time_spine_with_filters__dfp_0.xml | 2 +- ..._to_time_spine_with_metric_time__dfp_0.xml | 2 +- ...time_spine_with_non_metric_time__dfp_0.xml | 2 +- .../DataflowPlan/test_joined_plan__dfp_0.xml | 4 +- .../test_limit_rows_plan__dfp_0.xml | 2 +- .../test_measure_constraint_plan__dfp_0.xml | 10 +- ...traint_with_reused_measure_plan__dfp_0.xml | 4 +- ...t_metric_in_metric_where_filter__dfp_0.xml | 4 +- ...st_metric_in_query_where_filter__dfp_0.xml | 4 +- ...mantic_model_ratio_metrics_plan__dfp_0.xml | 8 +- .../test_multiple_metrics_plan__dfp_0.xml | 4 +- ...erived_metric_with_outer_offset__dfp_0.xml | 2 +- ...ry_have_different_granularities__dfp_0.xml | 2 +- ...ry_have_different_granularities__dfp_0.xml | 4 +- .../test_order_by_plan__dfp_0.xml | 2 +- .../test_primary_entity_dimension__dfp_0.xml | 2 +- .../DataflowPlan/test_simple_plan__dfp_0.xml | 2 +- ...mantic_model_ratio_metrics_plan__dfp_0.xml | 8 +- .../test_where_constrained_plan__dfp_0.xml | 4 +- ...constrained_plan_time_dimension__dfp_0.xml | 2 +- ...ained_with_common_linkable_plan__dfp_0.xml | 4 +- .../test_semi_additive_join_node__plan0.sql | 39 ++ ...mi_additive_join_node__plan0_optimized.sql | 26 + ...dditive_join_node_with_grouping__plan0.sql | 39 ++ ...in_node_with_grouping__plan0_optimized.sql | 26 + ...join_node_with_queried_group_by__plan0.sql | 39 ++ ...with_queried_group_by__plan0_optimized.sql | 26 + .../test_combine_output_node__plan0.xml | 352 ++++++------- .../test_compute_metrics_node__plan0.xml | 288 +++++----- ...o_from_multiple_semantic_models__plan0.xml | 498 +++++++++--------- ...atio_from_single_semantic_model__plan0.xml | 288 +++++----- ...ompute_metrics_node_simple_expr__plan0.xml | 288 +++++----- .../test_constrain_time_range_node__plan0.xml | 176 +++---- ...on_with_joined_where_constraint__plan0.xml | 162 +++--- .../test_dimensions_requiring_join__plan0.xml | 162 +++--- .../SqlQueryPlan/test_filter_node__plan0.xml | 176 +++---- ...lter_with_where_constraint_node__plan0.xml | 176 +++---- ...spine_node_with_offset_to_grain__plan0.xml | 176 +++---- ...e_spine_node_with_offset_window__plan0.xml | 176 +++---- ..._time_spine_node_without_offset__plan0.xml | 176 +++---- .../test_measure_aggregation_node__plan0.xml | 176 +++---- .../test_multi_join_node__plan0.xml | 400 +++++++------- .../test_order_by_node__plan0.xml | 176 +++---- .../test_semi_additive_join_node__plan0.xml | 355 +++++++++---- ...dditive_join_node_with_grouping__plan0.xml | 355 +++++++++---- ...join_node_with_queried_group_by__plan0.xml | 355 +++++++++---- .../test_single_join_node__plan0.xml | 288 +++++----- .../SqlQueryPlan/test_source_node__plan0.xml | 176 +++---- ...values_with_a_join_and_a_filter__plan0.xml | 162 +++--- .../test_dimensions_requiring_join__plan0.xml | 162 +++--- ...orm_node_using_non_primary_time__plan0.xml | 176 +++---- ...ansform_node_using_primary_time__plan0.xml | 176 +++---- ...uery_with_metric_time_dimension__plan0.xml | 352 ++++++------- ...dimensions_with_time_constraint__plan0.xml | 184 +++---- .../test_metric_time_only__plan0.xml | 22 +- .../test_metric_time_quarter_alone__plan0.xml | 22 +- ...tric_time_with_other_dimensions__plan0.xml | 184 +++---- .../list/test_list_dimensions__result0.txt | 1 + ...rsion_metric_predicate_pushdown__dfp_0.xml | 6 +- ...ative_metric_predicate_pushdown__dfp_0.xml | 4 +- ...spine_metric_predicate_pushdown__dfp_0.xml | 8 +- ...ost_agg_join_predicate_pushdown__dfp_0.xml | 8 +- ...ffset_metric_predicate_pushdown__dfp_0.xml | 8 +- ...imple_join_categorical_pushdown__dfp_0.xml | 4 +- ..._time_pushdown_with_two_targets__dfp_0.xml | 4 +- ...2_metrics_from_1_semantic_model__dfp_0.xml | 8 +- ..._metrics_from_2_semantic_models__dfp_0.xml | 4 +- ...o_metrics_from_1_semantic_model__dfp_0.xml | 8 +- ..._metrics_from_2_semantic_models__dfp_0.xml | 6 +- ...constrained_metric_not_combined__dfp_0.xml | 4 +- .../test_derived_metric__dfp_0.xml | 4 +- ..._metric_with_non_derived_metric__dfp_0.xml | 6 +- .../test_duplicate_measures__dfp_0.xml | 4 +- .../test_nested_derived_metric__dfp_0.xml | 8 +- 97 files changed, 4458 insertions(+), 3842 deletions(-) diff --git a/metricflow-semantics/metricflow_semantics/test_helpers/semantic_manifest_yamls/simple_manifest/semantic_models/accounts_source.yaml b/metricflow-semantics/metricflow_semantics/test_helpers/semantic_manifest_yamls/simple_manifest/semantic_models/accounts_source.yaml index 64167b1aee..3b8be17677 100644 --- a/metricflow-semantics/metricflow_semantics/test_helpers/semantic_manifest_yamls/simple_manifest/semantic_models/accounts_source.yaml +++ b/metricflow-semantics/metricflow_semantics/test_helpers/semantic_manifest_yamls/simple_manifest/semantic_models/accounts_source.yaml @@ -30,11 +30,25 @@ semantic_model: window_groupings: - user + - name: total_account_balance_first_day_of_month + agg: sum + expr: account_balance + agg_time_dimension: ds_month + non_additive_dimension: + name: ds_month + window_choice: min + create_metric: true + dimensions: - name: ds type: time type_params: time_granularity: day + - name: ds_month + type: time + expr: DATE_TRUNC(ds, 'month') + type_params: + time_granularity: month - name: account_type type: categorical diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/list/test_linkable_element_set_as_spec_set__set0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/list/test_linkable_element_set_as_spec_set__set0.txt index b82594b691..e8bb14b34b 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/list/test_linkable_element_set_as_spec_set__set0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/list/test_linkable_element_set_as_spec_set__set0.txt @@ -158,6 +158,7 @@ 'user__account__user__current_account_balance_by_user', 'user__account__user__regional_starting_balance_ratios', 'user__account__user__total_account_balance_first_day', + 'user__account__user__total_account_balance_first_day_of_month', 'user__active_listings', 'user__archived_at__day', 'user__archived_at__extract_day', @@ -461,6 +462,7 @@ 'user__smallest_listing', 'user__subdaily_join_to_time_spine_metric', 'user__total_account_balance_first_day', + 'user__total_account_balance_first_day_of_month', 'user__verification__user__identity_verifications', 'user__view__user__views', 'user__views', diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/dict/test_get_names__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/dict/test_get_names__result0.txt index 6204c4d106..d99416910c 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/dict/test_get_names__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/dict/test_get_names__result0.txt @@ -9,6 +9,7 @@ 'created_at', 'ds', 'ds_latest', + 'ds_month', 'ds_partitioned', 'home_state', 'home_state_latest', @@ -46,6 +47,7 @@ 'referred_bookings', 'smallest_listing', 'total_account_balance_first_day', + 'total_account_balance_first_day_of_month', 'txn_revenue', 'views', 'visitors', diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure__result0.txt index f5230b4b01..8e7a823ed4 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure__result0.txt @@ -119,6 +119,7 @@ Model Join-Path Entity Links ('listings_latest',) ("('user',)", "('account', 'user')") current_account_balance_by_user ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('account', 'user')") regional_starting_balance_ratios ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('account', 'user')") total_account_balance_first_day ['JOINED', 'METRIC'] +('listings_latest',) ("('user',)", "('account', 'user')") total_account_balance_first_day_of_month ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('listing', 'user')") active_listings ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('listing', 'user')") approximate_continuous_booking_value_p99 ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('listing', 'user')") approximate_discrete_booking_value_p99 ['JOINED', 'METRIC'] @@ -193,6 +194,7 @@ Model Join-Path Entity Links ('listings_latest',) ("('user',)", "('user',)") smallest_listing ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('user',)") subdaily_join_to_time_spine_metric ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('user',)") total_account_balance_first_day ['JOINED', 'METRIC'] +('listings_latest',) ("('user',)", "('user',)") total_account_balance_first_day_of_month ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('user',)") views ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('user',)") visit_buy_conversion_rate ['JOINED', 'METRIC'] ('listings_latest',) ("('user',)", "('user',)") visit_buy_conversion_rate_7days ['JOINED', 'METRIC'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/tuple/test_linkable_elements_for_no_metrics_query__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/tuple/test_linkable_elements_for_no_metrics_query__result0.txt index d14fbc6b49..1604d2383e 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/tuple/test_linkable_elements_for_no_metrics_query__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/tuple/test_linkable_elements_for_no_metrics_query__result0.txt @@ -7,6 +7,10 @@ 'account__ds__extract_month', 'account__ds__extract_quarter', 'account__ds__extract_year', + 'account__ds_month__extract_month', + 'account__ds_month__extract_quarter', + 'account__ds_month__extract_year', + 'account__ds_month__month', 'account__user', 'booking__ds__day', 'booking__ds__extract_day', @@ -104,6 +108,7 @@ 'company__user__company__smallest_listing', 'company__user__company__subdaily_join_to_time_spine_metric', 'company__user__company__total_account_balance_first_day', + 'company__user__company__total_account_balance_first_day_of_month', 'company__user__company__views', 'company__user__company__visit_buy_conversion_rate', 'company__user__company__visit_buy_conversion_rate_7days', @@ -448,6 +453,7 @@ 'user__account__user__current_account_balance_by_user', 'user__account__user__regional_starting_balance_ratios', 'user__account__user__total_account_balance_first_day', + 'user__account__user__total_account_balance_first_day_of_month', 'user__active_listings', 'user__archived_at__extract_day', 'user__archived_at__extract_dow', @@ -577,6 +583,7 @@ 'user__smallest_listing', 'user__subdaily_join_to_time_spine_metric', 'user__total_account_balance_first_day', + 'user__total_account_balance_first_day_of_month', 'user__verification__user__identity_verifications', 'user__view__user__views', 'user__views', diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_count_with_no_group_by__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_count_with_no_group_by__plan0.xml index 8793465e07..5808f0ae4f 100644 --- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_count_with_no_group_by__plan0.xml +++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_count_with_no_group_by__plan0.xml @@ -239,143 +239,143 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -694,152 +694,152 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1265,142 +1265,142 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.xml index 05827c801d..c0f640119f 100644 --- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.xml +++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.xml @@ -321,152 +321,152 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -860,152 +860,152 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1431,142 +1431,142 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate__plan0.xml index 4f1a1debb6..534604f7ae 100644 --- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate__plan0.xml +++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate__plan0.xml @@ -267,143 +267,143 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -753,152 +753,152 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1324,142 +1324,142 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_constant_properties__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_constant_properties__plan0.xml index 0e47d15bbd..9808b1c62c 100644 --- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_constant_properties__plan0.xml +++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_constant_properties__plan0.xml @@ -290,143 +290,143 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -813,152 +813,152 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1384,142 +1384,142 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_no_group_by__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_no_group_by__plan0.xml index f18c79eea4..bdca6f599c 100644 --- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_no_group_by__plan0.xml +++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_no_group_by__plan0.xml @@ -242,143 +242,143 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -697,152 +697,152 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1268,142 +1268,142 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_window__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_window__plan0.xml index f63906f119..d85dd877c4 100644 --- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_window__plan0.xml +++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlQueryPlan/test_conversion_rate_with_window__plan0.xml @@ -290,143 +290,143 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -801,152 +801,152 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1372,142 +1372,142 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_common_semantic_model__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_common_semantic_model__dfp_0.xml index fef8f21032..3e238cc281 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_common_semantic_model__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_common_semantic_model__dfp_0.xml @@ -42,7 +42,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -127,7 +127,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_no_window_or_grain_with_metric_time__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_no_window_or_grain_with_metric_time__dfp_0.xml index bf54d2fce4..b525e0d0fe 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_no_window_or_grain_with_metric_time__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_no_window_or_grain_with_metric_time__dfp_0.xml @@ -22,7 +22,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_no_window_or_grain_without_metric_time__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_no_window_or_grain_without_metric_time__dfp_0.xml index 0db2f56fd7..1fae1308e4 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_no_window_or_grain_without_metric_time__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_no_window_or_grain_without_metric_time__dfp_0.xml @@ -16,7 +16,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_with_non_default_grain__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_with_non_default_grain__dfp_0.xml index 67442fc6af..dbe0527c9a 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_with_non_default_grain__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_with_non_default_grain__dfp_0.xml @@ -34,7 +34,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_with_window__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_with_window__dfp_0.xml index 244821dae7..1f0d6c8ddd 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_with_window__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_cumulative_metric_with_window__dfp_0.xml @@ -23,7 +23,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_cumulative_metric_with_non_default_grain__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_cumulative_metric_with_non_default_grain__dfp_0.xml index bdae25ff6b..2efe5aa275 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_cumulative_metric_with_non_default_grain__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_cumulative_metric_with_non_default_grain__dfp_0.xml @@ -38,7 +38,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_to_grain__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_to_grain__dfp_0.xml index 1e6217f25c..e60cd4ce07 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_to_grain__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_to_grain__dfp_0.xml @@ -24,7 +24,7 @@ - + @@ -61,7 +61,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_window__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_window__dfp_0.xml index f1a363e216..5146d02f68 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_window__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_window__dfp_0.xml @@ -36,7 +36,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_with_granularity__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_with_granularity__dfp_0.xml index 91f4aac2d3..bc9790a704 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_with_granularity__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_metric_offset_with_granularity__dfp_0.xml @@ -36,7 +36,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_offset_cumulative_metric__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_offset_cumulative_metric__dfp_0.xml index 67373508a6..5055b1e115 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_offset_cumulative_metric__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_derived_offset_cumulative_metric__dfp_0.xml @@ -42,7 +42,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_dont_join_to_time_spine_if_no_time_dimension_requested__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_dont_join_to_time_spine_if_no_time_dimension_requested__dfp_0.xml index 7760e7b9c3..ce964af845 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_dont_join_to_time_spine_if_no_time_dimension_requested__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_dont_join_to_time_spine_if_no_time_dimension_requested__dfp_0.xml @@ -16,7 +16,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_derived_metric__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_derived_metric__dfp_0.xml index 3ecf955c35..c869b82bf5 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_derived_metric__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_derived_metric__dfp_0.xml @@ -34,7 +34,7 @@ - + @@ -86,7 +86,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_filters__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_filters__dfp_0.xml index 668ed3edad..553d97b92d 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_filters__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_filters__dfp_0.xml @@ -147,7 +147,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_metric_time__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_metric_time__dfp_0.xml index 8894c05413..f1f04adbbe 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_metric_time__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_metric_time__dfp_0.xml @@ -27,7 +27,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_non_metric_time__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_non_metric_time__dfp_0.xml index e176f164e6..727ccd4696 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_non_metric_time__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_non_metric_time__dfp_0.xml @@ -22,7 +22,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_joined_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_joined_plan__dfp_0.xml index dd95dca8e0..041f258d06 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_joined_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_joined_plan__dfp_0.xml @@ -47,7 +47,7 @@ - + @@ -64,7 +64,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_limit_rows_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_limit_rows_plan__dfp_0.xml index 58fe24e376..c265115098 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_limit_rows_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_limit_rows_plan__dfp_0.xml @@ -21,7 +21,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_measure_constraint_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_measure_constraint_plan__dfp_0.xml index 01ef085957..513d59195e 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_measure_constraint_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_measure_constraint_plan__dfp_0.xml @@ -162,7 +162,7 @@ - + @@ -180,7 +180,7 @@ - + @@ -348,7 +348,7 @@ - + @@ -366,7 +366,7 @@ - + @@ -397,7 +397,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_measure_constraint_with_reused_measure_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_measure_constraint_with_reused_measure_plan__dfp_0.xml index e186ee1481..b9d5262d37 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_measure_constraint_with_reused_measure_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_measure_constraint_with_reused_measure_plan__dfp_0.xml @@ -124,7 +124,7 @@ - + @@ -152,7 +152,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_metric_in_metric_where_filter__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_metric_in_metric_where_filter__dfp_0.xml index 355d69e546..8586871725 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_metric_in_metric_where_filter__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_metric_in_metric_where_filter__dfp_0.xml @@ -67,7 +67,7 @@ - + @@ -102,7 +102,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_metric_in_query_where_filter__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_metric_in_query_where_filter__dfp_0.xml index 26a64602d6..2a6db6ce4a 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_metric_in_query_where_filter__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_metric_in_query_where_filter__dfp_0.xml @@ -93,7 +93,7 @@ - + @@ -128,7 +128,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_multi_semantic_model_ratio_metrics_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_multi_semantic_model_ratio_metrics_plan__dfp_0.xml index dae988091d..337915e429 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_multi_semantic_model_ratio_metrics_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_multi_semantic_model_ratio_metrics_plan__dfp_0.xml @@ -47,7 +47,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -115,7 +115,7 @@ - + @@ -132,7 +132,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_multiple_metrics_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_multiple_metrics_plan__dfp_0.xml index 439a216e2e..fca709df16 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_multiple_metrics_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_multiple_metrics_plan__dfp_0.xml @@ -25,7 +25,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_nested_derived_metric_with_outer_offset__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_nested_derived_metric_with_outer_offset__dfp_0.xml index 278978a74c..323e1990f6 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_nested_derived_metric_with_outer_offset__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_nested_derived_metric_with_outer_offset__dfp_0.xml @@ -53,7 +53,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_to_grain_metric_filter_and_query_have_different_granularities__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_to_grain_metric_filter_and_query_have_different_granularities__dfp_0.xml index 22af651f78..17b6a97992 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_to_grain_metric_filter_and_query_have_different_granularities__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_to_grain_metric_filter_and_query_have_different_granularities__dfp_0.xml @@ -146,7 +146,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_window_metric_filter_and_query_have_different_granularities__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_window_metric_filter_and_query_have_different_granularities__dfp_0.xml index 0d99a4a2e3..3316ce438a 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_window_metric_filter_and_query_have_different_granularities__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_window_metric_filter_and_query_have_different_granularities__dfp_0.xml @@ -150,7 +150,7 @@ - + @@ -258,7 +258,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_order_by_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_order_by_plan__dfp_0.xml index 3354f7bf20..8b94cd3388 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_order_by_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_order_by_plan__dfp_0.xml @@ -27,7 +27,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_primary_entity_dimension__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_primary_entity_dimension__dfp_0.xml index 39c81616f4..7830d4624c 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_primary_entity_dimension__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_primary_entity_dimension__dfp_0.xml @@ -21,7 +21,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_simple_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_simple_plan__dfp_0.xml index 39c81616f4..7830d4624c 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_simple_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_simple_plan__dfp_0.xml @@ -21,7 +21,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_single_semantic_model_ratio_metrics_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_single_semantic_model_ratio_metrics_plan__dfp_0.xml index 61675b49ee..79a3605555 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_single_semantic_model_ratio_metrics_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_single_semantic_model_ratio_metrics_plan__dfp_0.xml @@ -47,7 +47,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -115,7 +115,7 @@ - + @@ -132,7 +132,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan__dfp_0.xml index 55109326af..84b8ef2d20 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan__dfp_0.xml @@ -163,7 +163,7 @@ - + @@ -180,7 +180,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan_time_dimension__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan_time_dimension__dfp_0.xml index 4226540ce0..3c79e8f8dc 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan_time_dimension__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan_time_dimension__dfp_0.xml @@ -102,7 +102,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_with_common_linkable_plan__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_with_common_linkable_plan__dfp_0.xml index 4c900a8ec5..a38f86e1df 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_with_common_linkable_plan__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_with_common_linkable_plan__dfp_0.xml @@ -141,7 +141,7 @@ - + @@ -158,7 +158,7 @@ - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node__plan0.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node__plan0.sql index 7e857e24d3..805106de66 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node__plan0.sql +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node__plan0.sql @@ -11,6 +11,12 @@ SELECT , subq_0.ds__extract_day AS ds__extract_day , subq_0.ds__extract_dow AS ds__extract_dow , subq_0.ds__extract_doy AS ds__extract_doy + , subq_0.ds_month__month AS ds_month__month + , subq_0.ds_month__quarter AS ds_month__quarter + , subq_0.ds_month__year AS ds_month__year + , subq_0.ds_month__extract_year AS ds_month__extract_year + , subq_0.ds_month__extract_quarter AS ds_month__extract_quarter + , subq_0.ds_month__extract_month AS ds_month__extract_month , subq_0.account__ds__day AS account__ds__day , subq_0.account__ds__week AS account__ds__week , subq_0.account__ds__month AS account__ds__month @@ -22,6 +28,12 @@ SELECT , subq_0.account__ds__extract_day AS account__ds__extract_day , subq_0.account__ds__extract_dow AS account__ds__extract_dow , subq_0.account__ds__extract_doy AS account__ds__extract_doy + , subq_0.account__ds_month__month AS account__ds_month__month + , subq_0.account__ds_month__quarter AS account__ds_month__quarter + , subq_0.account__ds_month__year AS account__ds_month__year + , subq_0.account__ds_month__extract_year AS account__ds_month__extract_year + , subq_0.account__ds_month__extract_quarter AS account__ds_month__extract_quarter + , subq_0.account__ds_month__extract_month AS account__ds_month__extract_month , subq_0.user AS user , subq_0.account__user AS account__user , subq_0.account_type AS account_type @@ -29,12 +41,14 @@ SELECT , subq_0.account_balance AS account_balance , subq_0.total_account_balance_first_day AS total_account_balance_first_day , subq_0.current_account_balance_by_user AS current_account_balance_by_user + , subq_0.total_account_balance_first_day_of_month AS total_account_balance_first_day_of_month FROM ( -- Read Elements From Semantic Model 'accounts_source' SELECT accounts_source_src_28000.account_balance , accounts_source_src_28000.account_balance AS total_account_balance_first_day , accounts_source_src_28000.account_balance AS current_account_balance_by_user + , accounts_source_src_28000.account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', accounts_source_src_28000.ds) AS ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS ds__week , DATE_TRUNC('month', accounts_source_src_28000.ds) AS ds__month @@ -46,6 +60,12 @@ FROM ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , accounts_source_src_28000.account_type , DATE_TRUNC('day', accounts_source_src_28000.ds) AS account__ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS account__ds__week @@ -58,6 +78,12 @@ FROM ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS account__ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS account__ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , accounts_source_src_28000.account_type AS account__account_type , accounts_source_src_28000.user_id AS user , accounts_source_src_28000.user_id AS account__user @@ -73,6 +99,7 @@ INNER JOIN ( accounts_source_src_28000.account_balance , accounts_source_src_28000.account_balance AS total_account_balance_first_day , accounts_source_src_28000.account_balance AS current_account_balance_by_user + , accounts_source_src_28000.account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', accounts_source_src_28000.ds) AS ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS ds__week , DATE_TRUNC('month', accounts_source_src_28000.ds) AS ds__month @@ -84,6 +111,12 @@ INNER JOIN ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , accounts_source_src_28000.account_type , DATE_TRUNC('day', accounts_source_src_28000.ds) AS account__ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS account__ds__week @@ -96,6 +129,12 @@ INNER JOIN ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS account__ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS account__ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , accounts_source_src_28000.account_type AS account__account_type , accounts_source_src_28000.user_id AS user , accounts_source_src_28000.user_id AS account__user diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node__plan0_optimized.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node__plan0_optimized.sql index d159a6215c..094aa95c1a 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node__plan0_optimized.sql +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node__plan0_optimized.sql @@ -11,6 +11,12 @@ SELECT , subq_3.ds__extract_day AS ds__extract_day , subq_3.ds__extract_dow AS ds__extract_dow , subq_3.ds__extract_doy AS ds__extract_doy + , subq_3.ds_month__month AS ds_month__month + , subq_3.ds_month__quarter AS ds_month__quarter + , subq_3.ds_month__year AS ds_month__year + , subq_3.ds_month__extract_year AS ds_month__extract_year + , subq_3.ds_month__extract_quarter AS ds_month__extract_quarter + , subq_3.ds_month__extract_month AS ds_month__extract_month , subq_3.account__ds__day AS account__ds__day , subq_3.account__ds__week AS account__ds__week , subq_3.account__ds__month AS account__ds__month @@ -22,6 +28,12 @@ SELECT , subq_3.account__ds__extract_day AS account__ds__extract_day , subq_3.account__ds__extract_dow AS account__ds__extract_dow , subq_3.account__ds__extract_doy AS account__ds__extract_doy + , subq_3.account__ds_month__month AS account__ds_month__month + , subq_3.account__ds_month__quarter AS account__ds_month__quarter + , subq_3.account__ds_month__year AS account__ds_month__year + , subq_3.account__ds_month__extract_year AS account__ds_month__extract_year + , subq_3.account__ds_month__extract_quarter AS account__ds_month__extract_quarter + , subq_3.account__ds_month__extract_month AS account__ds_month__extract_month , subq_3.user AS user , subq_3.account__user AS account__user , subq_3.account_type AS account_type @@ -29,12 +41,14 @@ SELECT , subq_3.account_balance AS account_balance , subq_3.total_account_balance_first_day AS total_account_balance_first_day , subq_3.current_account_balance_by_user AS current_account_balance_by_user + , subq_3.total_account_balance_first_day_of_month AS total_account_balance_first_day_of_month FROM ( -- Read Elements From Semantic Model 'accounts_source' SELECT account_balance , account_balance AS total_account_balance_first_day , account_balance AS current_account_balance_by_user + , account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', ds) AS ds__day , DATE_TRUNC('week', ds) AS ds__week , DATE_TRUNC('month', ds) AS ds__month @@ -46,6 +60,12 @@ FROM ( , EXTRACT(day FROM ds) AS ds__extract_day , EXTRACT(isodow FROM ds) AS ds__extract_dow , EXTRACT(doy FROM ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , account_type , DATE_TRUNC('day', ds) AS account__ds__day , DATE_TRUNC('week', ds) AS account__ds__week @@ -58,6 +78,12 @@ FROM ( , EXTRACT(day FROM ds) AS account__ds__extract_day , EXTRACT(isodow FROM ds) AS account__ds__extract_dow , EXTRACT(doy FROM ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , account_type AS account__account_type , user_id AS user , user_id AS account__user diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_grouping__plan0.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_grouping__plan0.sql index f6d73bba58..c094a704f6 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_grouping__plan0.sql +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_grouping__plan0.sql @@ -11,6 +11,12 @@ SELECT , subq_0.ds__extract_day AS ds__extract_day , subq_0.ds__extract_dow AS ds__extract_dow , subq_0.ds__extract_doy AS ds__extract_doy + , subq_0.ds_month__month AS ds_month__month + , subq_0.ds_month__quarter AS ds_month__quarter + , subq_0.ds_month__year AS ds_month__year + , subq_0.ds_month__extract_year AS ds_month__extract_year + , subq_0.ds_month__extract_quarter AS ds_month__extract_quarter + , subq_0.ds_month__extract_month AS ds_month__extract_month , subq_0.account__ds__day AS account__ds__day , subq_0.account__ds__week AS account__ds__week , subq_0.account__ds__month AS account__ds__month @@ -22,6 +28,12 @@ SELECT , subq_0.account__ds__extract_day AS account__ds__extract_day , subq_0.account__ds__extract_dow AS account__ds__extract_dow , subq_0.account__ds__extract_doy AS account__ds__extract_doy + , subq_0.account__ds_month__month AS account__ds_month__month + , subq_0.account__ds_month__quarter AS account__ds_month__quarter + , subq_0.account__ds_month__year AS account__ds_month__year + , subq_0.account__ds_month__extract_year AS account__ds_month__extract_year + , subq_0.account__ds_month__extract_quarter AS account__ds_month__extract_quarter + , subq_0.account__ds_month__extract_month AS account__ds_month__extract_month , subq_0.user AS user , subq_0.account__user AS account__user , subq_0.account_type AS account_type @@ -29,12 +41,14 @@ SELECT , subq_0.account_balance AS account_balance , subq_0.total_account_balance_first_day AS total_account_balance_first_day , subq_0.current_account_balance_by_user AS current_account_balance_by_user + , subq_0.total_account_balance_first_day_of_month AS total_account_balance_first_day_of_month FROM ( -- Read Elements From Semantic Model 'accounts_source' SELECT accounts_source_src_28000.account_balance , accounts_source_src_28000.account_balance AS total_account_balance_first_day , accounts_source_src_28000.account_balance AS current_account_balance_by_user + , accounts_source_src_28000.account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', accounts_source_src_28000.ds) AS ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS ds__week , DATE_TRUNC('month', accounts_source_src_28000.ds) AS ds__month @@ -46,6 +60,12 @@ FROM ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , accounts_source_src_28000.account_type , DATE_TRUNC('day', accounts_source_src_28000.ds) AS account__ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS account__ds__week @@ -58,6 +78,12 @@ FROM ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS account__ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS account__ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , accounts_source_src_28000.account_type AS account__account_type , accounts_source_src_28000.user_id AS user , accounts_source_src_28000.user_id AS account__user @@ -74,6 +100,7 @@ INNER JOIN ( accounts_source_src_28000.account_balance , accounts_source_src_28000.account_balance AS total_account_balance_first_day , accounts_source_src_28000.account_balance AS current_account_balance_by_user + , accounts_source_src_28000.account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', accounts_source_src_28000.ds) AS ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS ds__week , DATE_TRUNC('month', accounts_source_src_28000.ds) AS ds__month @@ -85,6 +112,12 @@ INNER JOIN ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , accounts_source_src_28000.account_type , DATE_TRUNC('day', accounts_source_src_28000.ds) AS account__ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS account__ds__week @@ -97,6 +130,12 @@ INNER JOIN ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS account__ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS account__ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , accounts_source_src_28000.account_type AS account__account_type , accounts_source_src_28000.user_id AS user , accounts_source_src_28000.user_id AS account__user diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_grouping__plan0_optimized.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_grouping__plan0_optimized.sql index 23e7270ba7..56e46a7184 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_grouping__plan0_optimized.sql +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_grouping__plan0_optimized.sql @@ -11,6 +11,12 @@ SELECT , subq_3.ds__extract_day AS ds__extract_day , subq_3.ds__extract_dow AS ds__extract_dow , subq_3.ds__extract_doy AS ds__extract_doy + , subq_3.ds_month__month AS ds_month__month + , subq_3.ds_month__quarter AS ds_month__quarter + , subq_3.ds_month__year AS ds_month__year + , subq_3.ds_month__extract_year AS ds_month__extract_year + , subq_3.ds_month__extract_quarter AS ds_month__extract_quarter + , subq_3.ds_month__extract_month AS ds_month__extract_month , subq_3.account__ds__day AS account__ds__day , subq_3.account__ds__week AS account__ds__week , subq_3.account__ds__month AS account__ds__month @@ -22,6 +28,12 @@ SELECT , subq_3.account__ds__extract_day AS account__ds__extract_day , subq_3.account__ds__extract_dow AS account__ds__extract_dow , subq_3.account__ds__extract_doy AS account__ds__extract_doy + , subq_3.account__ds_month__month AS account__ds_month__month + , subq_3.account__ds_month__quarter AS account__ds_month__quarter + , subq_3.account__ds_month__year AS account__ds_month__year + , subq_3.account__ds_month__extract_year AS account__ds_month__extract_year + , subq_3.account__ds_month__extract_quarter AS account__ds_month__extract_quarter + , subq_3.account__ds_month__extract_month AS account__ds_month__extract_month , subq_3.user AS user , subq_3.account__user AS account__user , subq_3.account_type AS account_type @@ -29,12 +41,14 @@ SELECT , subq_3.account_balance AS account_balance , subq_3.total_account_balance_first_day AS total_account_balance_first_day , subq_3.current_account_balance_by_user AS current_account_balance_by_user + , subq_3.total_account_balance_first_day_of_month AS total_account_balance_first_day_of_month FROM ( -- Read Elements From Semantic Model 'accounts_source' SELECT account_balance , account_balance AS total_account_balance_first_day , account_balance AS current_account_balance_by_user + , account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', ds) AS ds__day , DATE_TRUNC('week', ds) AS ds__week , DATE_TRUNC('month', ds) AS ds__month @@ -46,6 +60,12 @@ FROM ( , EXTRACT(day FROM ds) AS ds__extract_day , EXTRACT(isodow FROM ds) AS ds__extract_dow , EXTRACT(doy FROM ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , account_type , DATE_TRUNC('day', ds) AS account__ds__day , DATE_TRUNC('week', ds) AS account__ds__week @@ -58,6 +78,12 @@ FROM ( , EXTRACT(day FROM ds) AS account__ds__extract_day , EXTRACT(isodow FROM ds) AS account__ds__extract_dow , EXTRACT(doy FROM ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , account_type AS account__account_type , user_id AS user , user_id AS account__user diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_queried_group_by__plan0.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_queried_group_by__plan0.sql index d15252a07e..ee582853ce 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_queried_group_by__plan0.sql +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_queried_group_by__plan0.sql @@ -11,6 +11,12 @@ SELECT , subq_0.ds__extract_day AS ds__extract_day , subq_0.ds__extract_dow AS ds__extract_dow , subq_0.ds__extract_doy AS ds__extract_doy + , subq_0.ds_month__month AS ds_month__month + , subq_0.ds_month__quarter AS ds_month__quarter + , subq_0.ds_month__year AS ds_month__year + , subq_0.ds_month__extract_year AS ds_month__extract_year + , subq_0.ds_month__extract_quarter AS ds_month__extract_quarter + , subq_0.ds_month__extract_month AS ds_month__extract_month , subq_0.account__ds__day AS account__ds__day , subq_0.account__ds__week AS account__ds__week , subq_0.account__ds__month AS account__ds__month @@ -22,6 +28,12 @@ SELECT , subq_0.account__ds__extract_day AS account__ds__extract_day , subq_0.account__ds__extract_dow AS account__ds__extract_dow , subq_0.account__ds__extract_doy AS account__ds__extract_doy + , subq_0.account__ds_month__month AS account__ds_month__month + , subq_0.account__ds_month__quarter AS account__ds_month__quarter + , subq_0.account__ds_month__year AS account__ds_month__year + , subq_0.account__ds_month__extract_year AS account__ds_month__extract_year + , subq_0.account__ds_month__extract_quarter AS account__ds_month__extract_quarter + , subq_0.account__ds_month__extract_month AS account__ds_month__extract_month , subq_0.user AS user , subq_0.account__user AS account__user , subq_0.account_type AS account_type @@ -29,12 +41,14 @@ SELECT , subq_0.account_balance AS account_balance , subq_0.total_account_balance_first_day AS total_account_balance_first_day , subq_0.current_account_balance_by_user AS current_account_balance_by_user + , subq_0.total_account_balance_first_day_of_month AS total_account_balance_first_day_of_month FROM ( -- Read Elements From Semantic Model 'accounts_source' SELECT accounts_source_src_28000.account_balance , accounts_source_src_28000.account_balance AS total_account_balance_first_day , accounts_source_src_28000.account_balance AS current_account_balance_by_user + , accounts_source_src_28000.account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', accounts_source_src_28000.ds) AS ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS ds__week , DATE_TRUNC('month', accounts_source_src_28000.ds) AS ds__month @@ -46,6 +60,12 @@ FROM ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , accounts_source_src_28000.account_type , DATE_TRUNC('day', accounts_source_src_28000.ds) AS account__ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS account__ds__week @@ -58,6 +78,12 @@ FROM ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS account__ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS account__ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , accounts_source_src_28000.account_type AS account__account_type , accounts_source_src_28000.user_id AS user , accounts_source_src_28000.user_id AS account__user @@ -74,6 +100,7 @@ INNER JOIN ( accounts_source_src_28000.account_balance , accounts_source_src_28000.account_balance AS total_account_balance_first_day , accounts_source_src_28000.account_balance AS current_account_balance_by_user + , accounts_source_src_28000.account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', accounts_source_src_28000.ds) AS ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS ds__week , DATE_TRUNC('month', accounts_source_src_28000.ds) AS ds__month @@ -85,6 +112,12 @@ INNER JOIN ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , accounts_source_src_28000.account_type , DATE_TRUNC('day', accounts_source_src_28000.ds) AS account__ds__day , DATE_TRUNC('week', accounts_source_src_28000.ds) AS account__ds__week @@ -97,6 +130,12 @@ INNER JOIN ( , EXTRACT(day FROM accounts_source_src_28000.ds) AS account__ds__extract_day , EXTRACT(isodow FROM accounts_source_src_28000.ds) AS account__ds__extract_dow , EXTRACT(doy FROM accounts_source_src_28000.ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , accounts_source_src_28000.account_type AS account__account_type , accounts_source_src_28000.user_id AS user , accounts_source_src_28000.user_id AS account__user diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_queried_group_by__plan0_optimized.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_queried_group_by__plan0_optimized.sql index 2059c7c53a..51c1b822b2 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_queried_group_by__plan0_optimized.sql +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/DuckDB/test_semi_additive_join_node_with_queried_group_by__plan0_optimized.sql @@ -11,6 +11,12 @@ SELECT , subq_3.ds__extract_day AS ds__extract_day , subq_3.ds__extract_dow AS ds__extract_dow , subq_3.ds__extract_doy AS ds__extract_doy + , subq_3.ds_month__month AS ds_month__month + , subq_3.ds_month__quarter AS ds_month__quarter + , subq_3.ds_month__year AS ds_month__year + , subq_3.ds_month__extract_year AS ds_month__extract_year + , subq_3.ds_month__extract_quarter AS ds_month__extract_quarter + , subq_3.ds_month__extract_month AS ds_month__extract_month , subq_3.account__ds__day AS account__ds__day , subq_3.account__ds__week AS account__ds__week , subq_3.account__ds__month AS account__ds__month @@ -22,6 +28,12 @@ SELECT , subq_3.account__ds__extract_day AS account__ds__extract_day , subq_3.account__ds__extract_dow AS account__ds__extract_dow , subq_3.account__ds__extract_doy AS account__ds__extract_doy + , subq_3.account__ds_month__month AS account__ds_month__month + , subq_3.account__ds_month__quarter AS account__ds_month__quarter + , subq_3.account__ds_month__year AS account__ds_month__year + , subq_3.account__ds_month__extract_year AS account__ds_month__extract_year + , subq_3.account__ds_month__extract_quarter AS account__ds_month__extract_quarter + , subq_3.account__ds_month__extract_month AS account__ds_month__extract_month , subq_3.user AS user , subq_3.account__user AS account__user , subq_3.account_type AS account_type @@ -29,12 +41,14 @@ SELECT , subq_3.account_balance AS account_balance , subq_3.total_account_balance_first_day AS total_account_balance_first_day , subq_3.current_account_balance_by_user AS current_account_balance_by_user + , subq_3.total_account_balance_first_day_of_month AS total_account_balance_first_day_of_month FROM ( -- Read Elements From Semantic Model 'accounts_source' SELECT account_balance , account_balance AS total_account_balance_first_day , account_balance AS current_account_balance_by_user + , account_balance AS total_account_balance_first_day_of_month , DATE_TRUNC('day', ds) AS ds__day , DATE_TRUNC('week', ds) AS ds__week , DATE_TRUNC('month', ds) AS ds__month @@ -46,6 +60,12 @@ FROM ( , EXTRACT(day FROM ds) AS ds__extract_day , EXTRACT(isodow FROM ds) AS ds__extract_dow , EXTRACT(doy FROM ds) AS ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS ds_month__extract_month , account_type , DATE_TRUNC('day', ds) AS account__ds__day , DATE_TRUNC('week', ds) AS account__ds__week @@ -58,6 +78,12 @@ FROM ( , EXTRACT(day FROM ds) AS account__ds__extract_day , EXTRACT(isodow FROM ds) AS account__ds__extract_dow , EXTRACT(doy FROM ds) AS account__ds__extract_doy + , DATE_TRUNC('month', DATE_TRUNC(ds, 'month')) AS account__ds_month__month + , DATE_TRUNC('quarter', DATE_TRUNC(ds, 'month')) AS account__ds_month__quarter + , DATE_TRUNC('year', DATE_TRUNC(ds, 'month')) AS account__ds_month__year + , EXTRACT(year FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_year + , EXTRACT(quarter FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_quarter + , EXTRACT(month FROM DATE_TRUNC(ds, 'month')) AS account__ds_month__extract_month , account_type AS account__account_type , user_id AS user , user_id AS account__user diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_combine_output_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_combine_output_node__plan0.xml index 519599da2b..bd25e69a87 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_combine_output_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_combine_output_node__plan0.xml @@ -63,376 +63,376 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -479,376 +479,376 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node__plan0.xml index b57bd3341e..634f291044 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node__plan0.xml @@ -66,418 +66,418 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -504,264 +504,264 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.xml index 6582795a6b..5b1d5fa366 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.xml @@ -660,442 +660,442 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1471,282 +1471,282 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2183,247 +2183,247 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2799,282 +2799,282 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_ratio_from_single_semantic_model__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_ratio_from_single_semantic_model__plan0.xml index 1a3a7551d4..4163170da7 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_ratio_from_single_semantic_model__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_ratio_from_single_semantic_model__plan0.xml @@ -74,418 +74,418 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -512,264 +512,264 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_simple_expr__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_simple_expr__plan0.xml index 9e67e7a2cc..033e8c9c91 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_simple_expr__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_compute_metrics_node_simple_expr__plan0.xml @@ -71,418 +71,418 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -509,264 +509,264 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_constrain_time_range_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_constrain_time_range_node__plan0.xml index 6decb3d819..a9feda3117 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_constrain_time_range_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_constrain_time_range_node__plan0.xml @@ -31,376 +31,376 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_dimension_with_joined_where_constraint__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_dimension_with_joined_where_constraint__plan0.xml index 0a1d09c6ae..3b75b849a7 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_dimension_with_joined_where_constraint__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_dimension_with_joined_where_constraint__plan0.xml @@ -419,230 +419,230 @@ - + - + - + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -671,126 +671,126 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_dimensions_requiring_join__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_dimensions_requiring_join__plan0.xml index b1a70ffcf0..ca6bd53baa 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_dimensions_requiring_join__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_dimensions_requiring_join__plan0.xml @@ -214,198 +214,198 @@ - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -428,115 +428,115 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_filter_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_filter_node__plan0.xml index bd9ed18639..2f80513803 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_filter_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_filter_node__plan0.xml @@ -9,259 +9,259 @@ - + - + - + - + - - + + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_filter_with_where_constraint_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_filter_with_where_constraint_node__plan0.xml index 0120048169..540e0afdd1 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_filter_with_where_constraint_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_filter_with_where_constraint_node__plan0.xml @@ -19,322 +19,322 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_with_offset_to_grain__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_with_offset_to_grain__plan0.xml index a7bb0593ae..3d5c4c88fe 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_with_offset_to_grain__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_with_offset_to_grain__plan0.xml @@ -550,433 +550,433 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_with_offset_window__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_with_offset_window__plan0.xml index a7bb0593ae..3d5c4c88fe 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_with_offset_window__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_with_offset_window__plan0.xml @@ -550,433 +550,433 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_without_offset__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_without_offset__plan0.xml index a7bb0593ae..3d5c4c88fe 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_without_offset__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_join_to_time_spine_node_without_offset__plan0.xml @@ -550,433 +550,433 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_measure_aggregation_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_measure_aggregation_node__plan0.xml index d8675f5ef6..229865c4c6 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_measure_aggregation_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_measure_aggregation_node__plan0.xml @@ -42,322 +42,322 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_multi_join_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_multi_join_node__plan0.xml index 5f2f3d21d7..40cfe3b054 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_multi_join_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_multi_join_node__plan0.xml @@ -37,322 +37,322 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + @@ -375,198 +375,198 @@ - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -589,198 +589,198 @@ - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_order_by_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_order_by_node__plan0.xml index a4e916df12..a1db6fb021 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_order_by_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_order_by_node__plan0.xml @@ -52,418 +52,418 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node__plan0.xml index e8e9e091c9..d8db5bd9f1 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node__plan0.xml @@ -2,59 +2,97 @@ - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + @@ -80,51 +118,91 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - + + - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + @@ -163,73 +241,126 @@ - - - - - - + + + + + + + + + + + - + - + - - - + + + - - - - + + - - - + + + - - - + + + + + + - + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node_with_grouping__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node_with_grouping__plan0.xml index 4672ad8a85..ae1e8af414 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node_with_grouping__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node_with_grouping__plan0.xml @@ -2,59 +2,97 @@ - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + @@ -80,51 +118,91 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - + + - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + @@ -165,73 +243,126 @@ - - - - - - + + + + + + + + + + + - + - + - - - + + + - - - - + + - - - + + + - - - + + + + + + - + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node_with_queried_group_by__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node_with_queried_group_by__plan0.xml index b084372526..64683c3ad4 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node_with_queried_group_by__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_semi_additive_join_node_with_queried_group_by__plan0.xml @@ -2,59 +2,97 @@ - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + @@ -80,51 +118,91 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - + + - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + @@ -165,73 +243,126 @@ - - - - - - + + + + + + + + + + + - + - + - - - + + + - - - - + + - - - + + + - - - + + + + + + - + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_single_join_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_single_join_node__plan0.xml index 00a302afef..1c6ed9b9c1 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_single_join_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_single_join_node__plan0.xml @@ -26,322 +26,322 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + @@ -368,198 +368,198 @@ - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_source_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_source_node__plan0.xml index 95ba58e76a..e0c93d9cf1 100644 --- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_source_node__plan0.xml +++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlQueryPlan/test_source_node__plan0.xml @@ -2,198 +2,198 @@ - + - + - + - + - - + + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - + + - + - + - + - + - + - - - - - - - + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - - - + + + diff --git a/tests_metricflow/snapshots/test_distinct_values_to_sql.py/SqlQueryPlan/test_dimension_values_with_a_join_and_a_filter__plan0.xml b/tests_metricflow/snapshots/test_distinct_values_to_sql.py/SqlQueryPlan/test_dimension_values_with_a_join_and_a_filter__plan0.xml index b63265b985..44471b7ad5 100644 --- a/tests_metricflow/snapshots/test_distinct_values_to_sql.py/SqlQueryPlan/test_dimension_values_with_a_join_and_a_filter__plan0.xml +++ b/tests_metricflow/snapshots/test_distinct_values_to_sql.py/SqlQueryPlan/test_dimension_values_with_a_join_and_a_filter__plan0.xml @@ -423,230 +423,230 @@ - + - + - + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -675,126 +675,126 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_distinct_values_to_sql.py/SqlQueryPlan/test_dimensions_requiring_join__plan0.xml b/tests_metricflow/snapshots/test_distinct_values_to_sql.py/SqlQueryPlan/test_dimensions_requiring_join__plan0.xml index b1a70ffcf0..ca6bd53baa 100644 --- a/tests_metricflow/snapshots/test_distinct_values_to_sql.py/SqlQueryPlan/test_dimensions_requiring_join__plan0.xml +++ b/tests_metricflow/snapshots/test_distinct_values_to_sql.py/SqlQueryPlan/test_dimensions_requiring_join__plan0.xml @@ -214,198 +214,198 @@ - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -428,115 +428,115 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_metric_time_dimension_transform_node_using_non_primary_time__plan0.xml b/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_metric_time_dimension_transform_node_using_non_primary_time__plan0.xml index 63b2a8198a..42d9cc341c 100644 --- a/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_metric_time_dimension_transform_node_using_non_primary_time__plan0.xml +++ b/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_metric_time_dimension_transform_node_using_non_primary_time__plan0.xml @@ -231,259 +231,259 @@ - + - + - + - + - - + + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + diff --git a/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_metric_time_dimension_transform_node_using_primary_time__plan0.xml b/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_metric_time_dimension_transform_node_using_primary_time__plan0.xml index 5c24614180..a79b3c2dc4 100644 --- a/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_metric_time_dimension_transform_node_using_primary_time__plan0.xml +++ b/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_metric_time_dimension_transform_node_using_primary_time__plan0.xml @@ -258,259 +258,259 @@ - + - + - + - + - - + + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + diff --git a/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_simple_query_with_metric_time_dimension__plan0.xml b/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_simple_query_with_metric_time_dimension__plan0.xml index 93bfcd16a4..0cd1fb16f5 100644 --- a/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_simple_query_with_metric_time_dimension__plan0.xml +++ b/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlQueryPlan/test_simple_query_with_metric_time_dimension__plan0.xml @@ -543,433 +543,433 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1449,433 +1449,433 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_dimensions_with_time_constraint__plan0.xml b/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_dimensions_with_time_constraint__plan0.xml index 8ec7e633d2..3a8f31486b 100644 --- a/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_dimensions_with_time_constraint__plan0.xml +++ b/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_dimensions_with_time_constraint__plan0.xml @@ -437,230 +437,230 @@ - + - + - + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -791,49 +791,49 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -864,126 +864,126 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_only__plan0.xml b/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_only__plan0.xml index 6bf34b30a5..19e8aede9e 100644 --- a/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_only__plan0.xml +++ b/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_only__plan0.xml @@ -72,21 +72,21 @@ - - - - - + + + + + - + - + - - - + + + - + diff --git a/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_quarter_alone__plan0.xml b/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_quarter_alone__plan0.xml index dac8a4ae04..740834612f 100644 --- a/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_quarter_alone__plan0.xml +++ b/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_quarter_alone__plan0.xml @@ -73,21 +73,21 @@ - - - - - + + + + + - + - + - - - + + + - + diff --git a/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_with_other_dimensions__plan0.xml b/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_with_other_dimensions__plan0.xml index 58e50bc745..9aea6ac95c 100644 --- a/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_with_other_dimensions__plan0.xml +++ b/tests_metricflow/snapshots/test_metric_time_without_metrics.py/SqlQueryPlan/test_metric_time_with_other_dimensions__plan0.xml @@ -227,198 +227,198 @@ - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -540,43 +540,43 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -603,115 +603,115 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_dimensions__result0.txt b/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_dimensions__result0.txt index 1c37af0880..1b5302911f 100644 --- a/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_dimensions__result0.txt +++ b/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_dimensions__result0.txt @@ -1,6 +1,7 @@ [ 'account__account_type', 'account__ds', + 'account__ds_month', 'booking__ds', 'booking__ds_partitioned', 'booking__is_instant', diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_conversion_metric_predicate_pushdown__dfp_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_conversion_metric_predicate_pushdown__dfp_0.xml index 36a3aaae53..508028c4e9 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_conversion_metric_predicate_pushdown__dfp_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_conversion_metric_predicate_pushdown__dfp_0.xml @@ -153,7 +153,7 @@ - + @@ -257,7 +257,7 @@ - + @@ -284,7 +284,7 @@ - + diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_cumulative_metric_predicate_pushdown__dfp_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_cumulative_metric_predicate_pushdown__dfp_0.xml index 3fd12a5735..40a2704f90 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_cumulative_metric_predicate_pushdown__dfp_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_cumulative_metric_predicate_pushdown__dfp_0.xml @@ -155,7 +155,7 @@ - + @@ -173,7 +173,7 @@ - + diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_fill_nulls_time_spine_metric_predicate_pushdown__dfp_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_fill_nulls_time_spine_metric_predicate_pushdown__dfp_0.xml index 05e5480fbe..fa96c0fc07 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_fill_nulls_time_spine_metric_predicate_pushdown__dfp_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_fill_nulls_time_spine_metric_predicate_pushdown__dfp_0.xml @@ -211,7 +211,7 @@ - + @@ -229,7 +229,7 @@ - + @@ -423,7 +423,7 @@ - + @@ -442,7 +442,7 @@ - + diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_fill_nulls_time_spine_metric_with_post_agg_join_predicate_pushdown__dfp_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_fill_nulls_time_spine_metric_with_post_agg_join_predicate_pushdown__dfp_0.xml index f6f53d7377..306327193a 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_fill_nulls_time_spine_metric_with_post_agg_join_predicate_pushdown__dfp_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_fill_nulls_time_spine_metric_with_post_agg_join_predicate_pushdown__dfp_0.xml @@ -242,7 +242,7 @@ - + @@ -260,7 +260,7 @@ - + @@ -485,7 +485,7 @@ - + @@ -504,7 +504,7 @@ - + diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_offset_metric_predicate_pushdown__dfp_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_offset_metric_predicate_pushdown__dfp_0.xml index 512cdc0fce..14cfac8d48 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_offset_metric_predicate_pushdown__dfp_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_offset_metric_predicate_pushdown__dfp_0.xml @@ -201,7 +201,7 @@ - + @@ -219,7 +219,7 @@ - + @@ -401,7 +401,7 @@ - + @@ -420,7 +420,7 @@ - + diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_categorical_pushdown__dfp_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_categorical_pushdown__dfp_0.xml index 80357bff35..2070c49cf8 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_categorical_pushdown__dfp_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_categorical_pushdown__dfp_0.xml @@ -143,7 +143,7 @@ - + @@ -160,7 +160,7 @@ - + diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfp_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfp_0.xml index 621a7a9449..f6be93d338 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfp_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfp_0.xml @@ -119,7 +119,7 @@ - + @@ -136,7 +136,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_metrics_from_1_semantic_model__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_metrics_from_1_semantic_model__dfp_0.xml index fef8f21032..3e238cc281 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_metrics_from_1_semantic_model__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_metrics_from_1_semantic_model__dfp_0.xml @@ -42,7 +42,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -127,7 +127,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_metrics_from_2_semantic_models__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_metrics_from_2_semantic_models__dfp_0.xml index b431d0a228..b5ca1e4635 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_metrics_from_2_semantic_models__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_metrics_from_2_semantic_models__dfp_0.xml @@ -20,7 +20,7 @@ - + @@ -46,7 +46,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_ratio_metrics_from_1_semantic_model__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_ratio_metrics_from_1_semantic_model__dfp_0.xml index 2ddfeed739..d77af7fd2e 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_ratio_metrics_from_1_semantic_model__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_2_ratio_metrics_from_1_semantic_model__dfp_0.xml @@ -27,7 +27,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -114,7 +114,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_3_metrics_from_2_semantic_models__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_3_metrics_from_2_semantic_models__dfp_0.xml index 2d63d5e1c5..3ae6ae714d 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_3_metrics_from_2_semantic_models__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_3_metrics_from_2_semantic_models__dfp_0.xml @@ -20,7 +20,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -72,7 +72,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_constrained_metric_not_combined__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_constrained_metric_not_combined__dfp_0.xml index 4964340006..7ed3cde452 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_constrained_metric_not_combined__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_constrained_metric_not_combined__dfp_0.xml @@ -20,7 +20,7 @@ - + @@ -100,7 +100,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_derived_metric__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_derived_metric__dfp_0.xml index b071f05bc6..59767f93a5 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_derived_metric__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_derived_metric__dfp_0.xml @@ -24,7 +24,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_derived_metric_with_non_derived_metric__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_derived_metric_with_non_derived_metric__dfp_0.xml index fb4c3516a7..31b945fa6f 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_derived_metric_with_non_derived_metric__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_derived_metric_with_non_derived_metric__dfp_0.xml @@ -20,7 +20,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -79,7 +79,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_duplicate_measures__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_duplicate_measures__dfp_0.xml index 14fc0c78b9..172b4c617d 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_duplicate_measures__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_duplicate_measures__dfp_0.xml @@ -24,7 +24,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_nested_derived_metric__dfp_0.xml b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_nested_derived_metric__dfp_0.xml index b9181a179d..6f1a895dcf 100644 --- a/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_nested_derived_metric__dfp_0.xml +++ b/tests_metricflow/snapshots/test_source_scan_optimizer.py/DataflowPlan/test_nested_derived_metric__dfp_0.xml @@ -32,7 +32,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -87,7 +87,7 @@ - + @@ -113,7 +113,7 @@ - +