diff --git a/metricflow/dataflow/builder/dataflow_plan_builder.py b/metricflow/dataflow/builder/dataflow_plan_builder.py
index 561495bc54..560865aeb5 100644
--- a/metricflow/dataflow/builder/dataflow_plan_builder.py
+++ b/metricflow/dataflow/builder/dataflow_plan_builder.py
@@ -66,7 +66,6 @@
FindSourceNodeRecipeResult,
)
from metricflow.dataflow.builder.measure_spec_properties import MeasureSpecProperties
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.builder.node_evaluator import (
LinkableInstanceSatisfiabilityEvaluation,
NodeEvaluatorForLinkableInstances,
@@ -109,6 +108,7 @@
PredicatePushdownState,
PreJoinNodeProcessor,
)
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
logger = logging.getLogger(__name__)
@@ -120,7 +120,7 @@ def __init__( # noqa: D107
self,
source_node_set: SourceNodeSet,
semantic_manifest_lookup: SemanticManifestLookup,
- node_output_resolver: DataflowPlanNodeOutputDataSetResolver,
+ node_output_resolver: DataflowNodeToSqlSubqueryVisitor,
column_association_resolver: ColumnAssociationResolver,
source_node_builder: SourceNodeBuilder,
dataflow_plan_builder_cache: Optional[DataflowPlanBuilderCache] = None,
diff --git a/metricflow/dataflow/builder/node_data_set.py b/metricflow/dataflow/builder/node_data_set.py
deleted file mode 100644
index d57d896150..0000000000
--- a/metricflow/dataflow/builder/node_data_set.py
+++ /dev/null
@@ -1,110 +0,0 @@
-from __future__ import annotations
-
-from typing import TYPE_CHECKING, Dict, Optional, Sequence
-
-from metricflow_semantics.dag.id_prefix import StaticIdPrefix
-from metricflow_semantics.dag.sequential_id import SequentialIdGenerator
-from metricflow_semantics.mf_logging.runtime import log_block_runtime
-from metricflow_semantics.specs.column_assoc import ColumnAssociationResolver
-from typing_extensions import override
-
-from metricflow.dataflow.dataflow_plan import (
- DataflowPlanNode,
-)
-from metricflow.dataset.sql_dataset import SqlDataSet
-from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
-
-if TYPE_CHECKING:
- from metricflow_semantics.model.semantic_manifest_lookup import SemanticManifestLookup
-
-
-class DataflowPlanNodeOutputDataSetResolver:
- """Given a node in a dataflow plan, figure out what is the data set output by that node.
-
- Recall that in the dataflow plan, the nodes represent computation, and the inputs and outputs of the nodes are
- data sets containing measures, dimensions, etc.
-
- Note: the term "dimension" is used below, but it actually refers to any LinkableInstance.
-
- This class is useful when computing the joins required to retrieve the dimensions associated with a measure. The
- object that figures out the joins (NodeEvaluatorForLinkableInstances) is given a set of dataflow plan nodes that
- output different dimensions (this information is not necessarily in the node itself).
-
- NodeEvaluatorForLinkableInstances needs the data set associated with a node so that it knows what dimensions and
- entities are in the node. This information is used to figure out whether that node is useful to join to in order
- to retrieve a particular dimension.
-
- In the simple case, if the input nodes are all ReadSqlSourceNodes, then the data set is a member variable of the
- node, and there would be no need to traverse the dataflow node hierarchy with this class. However, if it's not a
- single node, that information is not available as the dataflow plan nodes contain little metadata. In that case,
- this class is needed to traverse the dataflow plan and figure that out.
-
- The reason why the input nodes to NodeEvaluatorForLinkableInstances wouldn't always be all ReadSqlSourceNodes is to
- realize an easy way to handle multi-hop joins without making changes to NodeEvaluatorForLinkableInstances. If we
- generate a set of nodes that already include the multi-hop dimensions available, the join resolution logic becomes
- much simpler. For example, a node like:
-
-
-
-
-
-
-
-
-
- would have the dimension user_id__device_id__platform available, so to NodeEvaluatorForLinkableInstances,
- it's the same problem as doing a single-hop join. This simplifies the join resolution logic, though now the input
- to NodeEvaluatorForLinkableInstances needs to contain nodes that include all possible multi-hop joins.
-
- The logic to figure the dataset output by a node is the same as DataflowToSqlPlanConverter because the same
- information is needed for generating SQL queries, so inheriting from that. We may want to look later at making
- another class to have better separation of concerns.
- """
-
- def __init__( # noqa: D107
- self,
- column_association_resolver: ColumnAssociationResolver,
- semantic_manifest_lookup: SemanticManifestLookup,
- _node_to_output_data_set: Optional[Dict[DataflowPlanNode, SqlDataSet]] = None,
- ) -> None:
- self._node_to_output_data_set: Dict[DataflowPlanNode, SqlDataSet] = _node_to_output_data_set or {}
- self._column_association_resolver = column_association_resolver
- self._semantic_manifest_lookup = semantic_manifest_lookup
- self._to_data_set_visitor = _NodeDataSetVisitor(
- column_association_resolver=self._column_association_resolver,
- semantic_manifest_lookup=self._semantic_manifest_lookup,
- )
-
- def get_output_data_set(self, node: DataflowPlanNode) -> SqlDataSet:
- """Cached since this will be called repeatedly during the computation of multiple metrics.
-
- # TODO: The cache needs to be pruned, but has not yet been an issue.
- """
- if node not in self._node_to_output_data_set:
- self._node_to_output_data_set[node] = node.accept(self._to_data_set_visitor)
-
- return self._node_to_output_data_set[node]
-
- def cache_output_data_sets(self, nodes: Sequence[DataflowPlanNode]) -> None:
- """Cache the output of the given nodes for consistent retrieval with `get_output_data_set`."""
- with log_block_runtime(f"cache_output_data_sets for {len(nodes)} nodes"):
- for node in nodes:
- self.get_output_data_set(node)
-
- def copy(self) -> DataflowPlanNodeOutputDataSetResolver:
- """Return a copy of this with the same nodes cached."""
- return DataflowPlanNodeOutputDataSetResolver(
- column_association_resolver=self._column_association_resolver,
- semantic_manifest_lookup=self._semantic_manifest_lookup,
- _node_to_output_data_set=dict(self._node_to_output_data_set),
- )
-
-
-class _NodeDataSetVisitor(DataflowNodeToSqlSubqueryVisitor):
- @override
- def _next_unique_table_alias(self) -> str:
- """Return the next unique table alias to use in generating queries.
-
- This uses a separate prefix in order to minimize subquery ID thrash.
- """
- return SequentialIdGenerator.create_next_id(StaticIdPrefix.NODE_RESOLVER_SUB_QUERY).str_value
diff --git a/metricflow/dataflow/builder/node_evaluator.py b/metricflow/dataflow/builder/node_evaluator.py
index fb62adc915..739a74ac9f 100644
--- a/metricflow/dataflow/builder/node_evaluator.py
+++ b/metricflow/dataflow/builder/node_evaluator.py
@@ -32,7 +32,6 @@
from metricflow_semantics.specs.spec_set import group_specs_by_type
from metricflow_semantics.sql.sql_join_type import SqlJoinType
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.builder.partitions import (
PartitionDimensionJoinDescription,
PartitionJoinResolver,
@@ -45,6 +44,7 @@
from metricflow.dataset.dataset_classes import DataSet
from metricflow.dataset.sql_dataset import SqlDataSet
from metricflow.plan_conversion.instance_converters import CreateValidityWindowJoinDescription
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
logger = logging.getLogger(__name__)
@@ -168,7 +168,7 @@ def __init__(
self,
semantic_model_lookup: SemanticModelLookup,
nodes_available_for_joins: Sequence[DataflowPlanNode],
- node_data_set_resolver: DataflowPlanNodeOutputDataSetResolver,
+ node_data_set_resolver: DataflowNodeToSqlSubqueryVisitor,
time_spine_metric_time_nodes: Sequence[MetricTimeDimensionTransformNode],
) -> None:
"""Initializer.
diff --git a/metricflow/dataflow/optimizer/dataflow_optimizer_factory.py b/metricflow/dataflow/optimizer/dataflow_optimizer_factory.py
index ac17abc8fe..813f21f3fb 100644
--- a/metricflow/dataflow/optimizer/dataflow_optimizer_factory.py
+++ b/metricflow/dataflow/optimizer/dataflow_optimizer_factory.py
@@ -5,10 +5,10 @@
from dbt_semantic_interfaces.enum_extension import assert_values_exhausted
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.optimizer.dataflow_plan_optimizer import DataflowPlanOptimizer
from metricflow.dataflow.optimizer.predicate_pushdown_optimizer import PredicatePushdownOptimizer
from metricflow.dataflow.optimizer.source_scan.source_scan_optimizer import SourceScanOptimizer
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
class DataflowPlanOptimization(Enum):
@@ -45,7 +45,7 @@ class DataflowPlanOptimizerFactory:
processing between the DataflowPlanBuilder and the optimizer instances requiring that functionality.
"""
- def __init__(self, node_data_set_resolver: DataflowPlanNodeOutputDataSetResolver) -> None:
+ def __init__(self, node_data_set_resolver: DataflowNodeToSqlSubqueryVisitor) -> None:
"""Initializer.
This collects all of the initialization requirements for the optimizers it manages.
diff --git a/metricflow/dataflow/optimizer/predicate_pushdown_optimizer.py b/metricflow/dataflow/optimizer/predicate_pushdown_optimizer.py
index 960ecba967..8cf540c295 100644
--- a/metricflow/dataflow/optimizer/predicate_pushdown_optimizer.py
+++ b/metricflow/dataflow/optimizer/predicate_pushdown_optimizer.py
@@ -11,7 +11,6 @@
from metricflow_semantics.specs.where_filter.where_filter_spec import WhereFilterSpec
from metricflow_semantics.sql.sql_join_type import SqlJoinType
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.dataflow_plan import (
DataflowPlan,
DataflowPlanNode,
@@ -42,6 +41,7 @@
from metricflow.dataflow.optimizer.dataflow_plan_optimizer import DataflowPlanOptimizer
from metricflow.dataflow.optimizer.source_scan.source_scan_optimizer import OptimizeBranchResult
from metricflow.plan_conversion.node_processor import PredicateInputType, PredicatePushdownState
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
logger = logging.getLogger(__name__)
@@ -160,7 +160,7 @@ class PredicatePushdownOptimizer(
we encounter gets applied exactly once per nested subquery branch encapsulated by a given constraint node.
"""
- def __init__(self, node_data_set_resolver: DataflowPlanNodeOutputDataSetResolver) -> None:
+ def __init__(self, node_data_set_resolver: DataflowNodeToSqlSubqueryVisitor) -> None:
"""Initializer.
Initializes predicate pushdown state with all optimizer-managed pushdown types enabled, but nothing to
diff --git a/metricflow/engine/metricflow_engine.py b/metricflow/engine/metricflow_engine.py
index 5a38cc7ef6..1f07b64956 100644
--- a/metricflow/engine/metricflow_engine.py
+++ b/metricflow/engine/metricflow_engine.py
@@ -38,7 +38,6 @@
from metricflow.data_table.mf_table import MetricFlowDataTable
from metricflow.dataflow.builder.builder_cache import DataflowPlanBuilderCache
from metricflow.dataflow.builder.dataflow_plan_builder import DataflowPlanBuilder
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.builder.source_node import SourceNodeBuilder
from metricflow.dataflow.dataflow_plan import DataflowPlan
from metricflow.dataflow.optimizer.dataflow_optimizer_factory import DataflowPlanOptimization
@@ -54,6 +53,7 @@
from metricflow.execution.execution_plan import ExecutionPlan, SqlStatement
from metricflow.execution.executor import SequentialPlanExecutor
from metricflow.plan_conversion.to_sql_plan.dataflow_to_sql import DataflowToSqlPlanConverter
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
from metricflow.protocols.sql_client import SqlClient
from metricflow.sql.optimizer.optimization_levels import SqlOptimizationLevel
from metricflow.telemetry.models import TelemetryLevel
@@ -384,7 +384,7 @@ def __init__(
)
source_node_set = source_node_builder.create_from_data_sets(self._source_data_sets)
- node_output_resolver = DataflowPlanNodeOutputDataSetResolver(
+ node_output_resolver = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=self._column_association_resolver,
semantic_manifest_lookup=self._semantic_manifest_lookup,
)
diff --git a/metricflow/plan_conversion/node_processor.py b/metricflow/plan_conversion/node_processor.py
index bbeca250c0..de24c28004 100644
--- a/metricflow/plan_conversion/node_processor.py
+++ b/metricflow/plan_conversion/node_processor.py
@@ -20,7 +20,6 @@
from metricflow_semantics.specs.where_filter.where_filter_spec import WhereFilterSpec
from metricflow_semantics.sql.sql_join_type import SqlJoinType
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.builder.partitions import PartitionJoinResolver
from metricflow.dataflow.dataflow_plan import (
DataflowPlanNode,
@@ -30,6 +29,7 @@
from metricflow.dataflow.nodes.join_to_base import JoinDescription, JoinOnEntitiesNode
from metricflow.dataflow.nodes.metric_time_transform import MetricTimeDimensionTransformNode
from metricflow.dataflow.nodes.where_filter import WhereConstraintNode
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
from metricflow.validation.dataflow_join_validator import JoinDataflowOutputValidator
logger = logging.getLogger(__name__)
@@ -330,7 +330,7 @@ class PreJoinNodeProcessor:
def __init__( # noqa: D107
self,
semantic_model_lookup: SemanticModelLookup,
- node_data_set_resolver: DataflowPlanNodeOutputDataSetResolver,
+ node_data_set_resolver: DataflowNodeToSqlSubqueryVisitor,
):
self._node_data_set_resolver = node_data_set_resolver
self._partition_resolver = PartitionJoinResolver(semantic_model_lookup)
diff --git a/metricflow/plan_conversion/to_sql_plan/dataflow_to_sql.py b/metricflow/plan_conversion/to_sql_plan/dataflow_to_sql.py
index af5aa59bfa..c3d1e47bee 100644
--- a/metricflow/plan_conversion/to_sql_plan/dataflow_to_sql.py
+++ b/metricflow/plan_conversion/to_sql_plan/dataflow_to_sql.py
@@ -171,7 +171,7 @@ def convert_using_specifics(
column_association_resolver=self.column_association_resolver,
semantic_manifest_lookup=self._semantic_manifest_lookup,
)
- data_set = dataflow_plan_node.accept(to_sql_subquery_visitor)
+ data_set = to_sql_subquery_visitor.get_output_data_set(dataflow_plan_node)
else:
to_sql_cte_visitor = DataflowNodeToSqlCteVisitor(
column_association_resolver=self.column_association_resolver,
diff --git a/metricflow/plan_conversion/to_sql_plan/dataflow_to_subquery.py b/metricflow/plan_conversion/to_sql_plan/dataflow_to_subquery.py
index 898b10e855..cc363420aa 100644
--- a/metricflow/plan_conversion/to_sql_plan/dataflow_to_subquery.py
+++ b/metricflow/plan_conversion/to_sql_plan/dataflow_to_subquery.py
@@ -23,6 +23,7 @@
TimeDimensionInstance,
group_instances_by_type,
)
+from metricflow_semantics.mf_logging.runtime import log_block_runtime
from metricflow_semantics.model.semantic_manifest_lookup import SemanticManifestLookup
from metricflow_semantics.specs.column_assoc import ColumnAssociationResolver
from metricflow_semantics.specs.group_by_metric_spec import GroupByMetricSpec
@@ -66,6 +67,7 @@
from metricflow_semantics.time.time_constants import ISO8601_PYTHON_FORMAT, ISO8601_PYTHON_TS_FORMAT
from metricflow_semantics.time.time_spine_source import TimeSpineSource
+from metricflow.dataflow.dataflow_plan import DataflowPlanNode
from metricflow.dataflow.dataflow_plan_visitor import DataflowPlanNodeVisitor
from metricflow.dataflow.nodes.add_generated_uuid import AddGeneratedUuidColumnNode
from metricflow.dataflow.nodes.aggregate_measures import AggregateMeasuresNode
@@ -136,6 +138,7 @@ def __init__(
self,
column_association_resolver: ColumnAssociationResolver,
semantic_manifest_lookup: SemanticManifestLookup,
+ _node_to_output_data_set: Optional[Dict[DataflowPlanNode, SqlDataSet]] = None,
) -> None:
"""Initializer.
@@ -154,6 +157,7 @@ def __init__(
self._custom_granularity_time_spine_sources = TimeSpineSource.build_custom_time_spine_sources(
tuple(self._time_spine_sources.values())
)
+ self._node_to_output_data_set: Dict[DataflowPlanNode, SqlDataSet] = _node_to_output_data_set or {}
def _next_unique_table_alias(self) -> str:
"""Return the next unique table alias to use in generating queries."""
@@ -163,6 +167,30 @@ def _next_unique_cte_alias(self) -> str:
"""Return the next unique CTE alias to use in generating queries."""
return SequentialIdGenerator.create_next_id(StaticIdPrefix.CTE).str_value
+ def get_output_data_set(self, node: DataflowPlanNode) -> SqlDataSet:
+ """Cached since this will be called repeatedly during the computation of multiple metrics.
+
+ # TODO: The cache needs to be pruned, but has not yet been an issue.
+ """
+ if node not in self._node_to_output_data_set:
+ self._node_to_output_data_set[node] = node.accept(self)
+
+ return self._node_to_output_data_set[node]
+
+ def cache_output_data_sets(self, nodes: Sequence[DataflowPlanNode]) -> None:
+ """Cache the output of the given nodes for consistent retrieval with `get_output_data_set`."""
+ with log_block_runtime(f"cache_output_data_sets for {len(nodes)} nodes"):
+ for node in nodes:
+ self.get_output_data_set(node)
+
+ def copy(self) -> DataflowNodeToSqlSubqueryVisitor:
+ """Return a copy of this with the same nodes cached."""
+ return DataflowNodeToSqlSubqueryVisitor(
+ column_association_resolver=self._column_association_resolver,
+ semantic_manifest_lookup=self._semantic_manifest_lookup,
+ _node_to_output_data_set=dict(self._node_to_output_data_set),
+ )
+
# TODO: replace this with a dataflow plan node for cumulative metrics
def _make_time_spine_data_set(
self,
@@ -316,7 +344,7 @@ def visit_source_node(self, node: ReadSqlSourceNode) -> SqlDataSet:
def visit_join_over_time_range_node(self, node: JoinOverTimeRangeNode) -> SqlDataSet:
"""Generate time range join SQL."""
table_alias_to_instance_set: OrderedDict[str, InstanceSet] = OrderedDict()
- parent_data_set = node.parent_node.accept(self)
+ parent_data_set = self.get_output_data_set(node.parent_node)
parent_data_set_alias = self._next_unique_table_alias()
# Assemble time_spine dataset with a column for each agg_time_dimension requested.
@@ -358,7 +386,7 @@ def visit_join_over_time_range_node(self, node: JoinOverTimeRangeNode) -> SqlDat
def visit_join_on_entities_node(self, node: JoinOnEntitiesNode) -> SqlDataSet:
"""Generates the query that realizes the behavior of the JoinOnEntitiesNode."""
- from_data_set = node.left_node.accept(self)
+ from_data_set = self.get_output_data_set(node.left_node)
from_data_set_alias = self._next_unique_table_alias()
# Change the aggregation state for the measures to be partially aggregated if it was previously aggregated
@@ -387,7 +415,7 @@ def visit_join_on_entities_node(self, node: JoinOnEntitiesNode) -> SqlDataSet:
for join_description in node.join_targets:
join_on_entity = join_description.join_on_entity
right_node_to_join = join_description.join_node
- right_data_set: SqlDataSet = right_node_to_join.accept(self)
+ right_data_set: SqlDataSet = self.get_output_data_set(right_node_to_join)
right_data_set_alias = self._next_unique_table_alias()
# Build join description.
@@ -461,7 +489,7 @@ def visit_aggregate_measures_node(self, node: AggregateMeasuresNode) -> SqlDataS
"""
# Get the data from the parent, and change measure instances to the aggregated state.
- from_data_set: SqlDataSet = node.parent_node.accept(self)
+ from_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
aggregated_instance_set = from_data_set.instance_set.transform(
ChangeMeasureAggregationState(
{
@@ -522,7 +550,7 @@ def visit_aggregate_measures_node(self, node: AggregateMeasuresNode) -> SqlDataS
def visit_compute_metrics_node(self, node: ComputeMetricsNode) -> SqlDataSet:
"""Generates the query that realizes the behavior of ComputeMetricsNode."""
- from_data_set: SqlDataSet = node.parent_node.accept(self)
+ from_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
from_data_set_alias = self._next_unique_table_alias()
# TODO: Check that all measures for the metrics are in the input instance set
@@ -714,7 +742,7 @@ def __make_col_reference_or_coalesce_expr(
return metric_expr
def visit_order_by_limit_node(self, node: OrderByLimitNode) -> SqlDataSet: # noqa: D102
- from_data_set: SqlDataSet = node.parent_node.accept(self)
+ from_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
output_instance_set = from_data_set.instance_set
from_data_set_alias = self._next_unique_table_alias()
@@ -754,10 +782,10 @@ def visit_order_by_limit_node(self, node: OrderByLimitNode) -> SqlDataSet: # no
def visit_write_to_result_data_table_node(self, node: WriteToResultDataTableNode) -> SqlDataSet: # noqa: D102
# Returning the parent-node SQL as an approximation since you can't write to a data_table via SQL.
- return node.parent_node.accept(self)
+ return self.get_output_data_set(node.parent_node)
def visit_write_to_result_table_node(self, node: WriteToResultTableNode) -> SqlDataSet: # noqa: D102
- input_data_set: SqlDataSet = node.parent_node.accept(self)
+ input_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
input_instance_set: InstanceSet = input_data_set.instance_set
return SqlDataSet(
instance_set=input_instance_set,
@@ -769,7 +797,7 @@ def visit_write_to_result_table_node(self, node: WriteToResultTableNode) -> SqlD
def visit_filter_elements_node(self, node: FilterElementsNode) -> SqlDataSet:
"""Generates the query that realizes the behavior of FilterElementsNode."""
- from_data_set: SqlDataSet = node.parent_node.accept(self)
+ from_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
output_instance_set = from_data_set.instance_set.transform(FilterElements(node.include_specs))
from_data_set_alias = self._next_unique_table_alias()
@@ -796,7 +824,7 @@ def visit_filter_elements_node(self, node: FilterElementsNode) -> SqlDataSet:
def visit_where_constraint_node(self, node: WhereConstraintNode) -> SqlDataSet:
"""Adds where clause to SQL statement from parent node."""
- parent_data_set: SqlDataSet = node.parent_node.accept(self)
+ parent_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
# Since we're copying the instance set from the parent to conveniently generate the output instance set for this
# node, we'll need to change the column names.
output_instance_set = parent_data_set.instance_set.transform(
@@ -870,7 +898,7 @@ def visit_combine_aggregated_outputs_node(self, node: CombineAggregatedOutputsNo
table_alias_to_instance_set: OrderedDict[str, InstanceSet] = OrderedDict()
for parent_node in node.parent_nodes:
- parent_sql_data_set = parent_node.accept(self)
+ parent_sql_data_set = self.get_output_data_set(parent_node)
table_alias = self._next_unique_table_alias()
parent_data_sets.append(AnnotatedSqlDataSet(data_set=parent_sql_data_set, alias=table_alias))
table_alias_to_instance_set[table_alias] = parent_sql_data_set.instance_set
@@ -961,7 +989,7 @@ def visit_constrain_time_range_node(self, node: ConstrainTimeRangeNode) -> SqlDa
Since time range constraints are always bound by a range of standard date/time values, this conversion
cannot use custom granularities.
"""
- from_data_set: SqlDataSet = node.parent_node.accept(self)
+ from_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
from_data_set_alias = self._next_unique_table_alias()
time_dimension_instances_for_metric_time = sorted(
@@ -1012,7 +1040,7 @@ def visit_metric_time_dimension_transform_node(self, node: MetricTimeDimensionTr
matching the one defined in the node will be passed. In addition, an additional time dimension instance for
"metric time" will be included. See DataSet.metric_time_dimension_reference().
"""
- input_data_set: SqlDataSet = node.parent_node.accept(self)
+ input_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
# Find which measures have an aggregation time dimension that is the same as the one specified in the node.
# Only these measures will be in the output data set.
@@ -1100,7 +1128,7 @@ def visit_semi_additive_join_node(self, node: SemiAdditiveJoinNode) -> SqlDataSe
specified dimension that is non-additive. Then that dataset would be joined with the input data
on that dimension along with grouping by entities that are also passed in.
"""
- from_data_set: SqlDataSet = node.parent_node.accept(self)
+ from_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
from_data_set_alias = self._next_unique_table_alias()
@@ -1226,9 +1254,9 @@ def _choose_instance_for_time_spine_join(
return agg_time_dimension_instances[0]
def visit_join_to_time_spine_node(self, node: JoinToTimeSpineNode) -> SqlDataSet: # noqa: D102
- parent_data_set = node.metric_source_node.accept(self)
+ parent_data_set = self.get_output_data_set(node.metric_source_node)
parent_alias = self._next_unique_table_alias()
- time_spine_data_set = node.time_spine_node.accept(self)
+ time_spine_data_set = self.get_output_data_set(node.time_spine_node)
time_spine_alias = self._next_unique_table_alias()
required_agg_time_dimension_specs = tuple(node.requested_agg_time_dimension_specs)
@@ -1345,7 +1373,7 @@ def _get_custom_granularity_column_name(self, custom_granularity_name: str) -> s
)
def visit_alias_specs_node(self, node: AliasSpecsNode) -> SqlDataSet: # noqa: D102
- parent_data_set = node.parent_node.accept(self)
+ parent_data_set = self.get_output_data_set(node.parent_node)
parent_alias = self._next_unique_table_alias()
input_specs_to_output_specs: Dict[InstanceSpec, List[InstanceSpec]] = defaultdict(list)
@@ -1395,7 +1423,7 @@ def visit_alias_specs_node(self, node: AliasSpecsNode) -> SqlDataSet: # noqa: D
)
def visit_join_to_custom_granularity_node(self, node: JoinToCustomGranularityNode) -> SqlDataSet: # noqa: D102
- parent_data_set = node.parent_node.accept(self)
+ parent_data_set = self.get_output_data_set(node.parent_node)
# New dataset will be joined to parent dataset without a subquery, so use the same FROM alias as the parent node.
parent_alias = parent_data_set.checked_sql_select_node.from_source_alias
@@ -1467,7 +1495,7 @@ def visit_join_to_custom_granularity_node(self, node: JoinToCustomGranularityNod
)
def visit_min_max_node(self, node: MinMaxNode) -> SqlDataSet: # noqa: D102
- parent_data_set = node.parent_node.accept(self)
+ parent_data_set = self.get_output_data_set(node.parent_node)
parent_table_alias = self._next_unique_table_alias()
assert (
len(parent_data_set.checked_sql_select_node.select_columns) == 1
@@ -1510,7 +1538,7 @@ def visit_add_generated_uuid_column_node(self, node: AddGeneratedUuidColumnNode)
Builds a new dataset that is the same as the output dataset, but with an additional column
that contains a randomly generated UUID.
"""
- input_data_set: SqlDataSet = node.parent_node.accept(self)
+ input_data_set: SqlDataSet = self.get_output_data_set(node.parent_node)
input_data_set_alias = self._next_unique_table_alias()
gen_uuid_spec = MetadataSpec(MetricFlowReservedKeywords.MF_INTERNAL_UUID.value)
@@ -1552,10 +1580,10 @@ def visit_join_conversion_events_node(self, node: JoinConversionEventsNode) -> S
successful conversion. Duplication may exist in the result due to a single base event
being able to link to multiple conversion events.
"""
- base_data_set: SqlDataSet = node.base_node.accept(self)
+ base_data_set: SqlDataSet = self.get_output_data_set(node.base_node)
base_data_set_alias = self._next_unique_table_alias()
- conversion_data_set: SqlDataSet = node.conversion_node.accept(self)
+ conversion_data_set: SqlDataSet = self.get_output_data_set(node.conversion_node)
conversion_data_set_alias = self._next_unique_table_alias()
base_time_dimension_column_name = self._column_association_resolver.resolve_spec(
@@ -1704,7 +1732,7 @@ def visit_join_conversion_events_node(self, node: JoinConversionEventsNode) -> S
)
def visit_window_reaggregation_node(self, node: WindowReaggregationNode) -> SqlDataSet: # noqa: D102
- from_data_set = node.parent_node.accept(self)
+ from_data_set = self.get_output_data_set(node.parent_node)
parent_instance_set = from_data_set.instance_set
parent_data_set_alias = self._next_unique_table_alias()
@@ -1882,7 +1910,7 @@ def visit_offset_by_custom_granularity_node(self, node: OffsetByCustomGranularit
ON cte.ds__martian_day = b.ds__martian_day
)
"""
- time_spine_data_set = node.time_spine_node.accept(self)
+ time_spine_data_set = self.get_output_data_set(node.time_spine_node)
time_spine_alias = self._next_unique_table_alias()
offset_window = node.offset_window
custom_grain_name = offset_window.granularity
diff --git a/metricflow/validation/data_warehouse_model_validator.py b/metricflow/validation/data_warehouse_model_validator.py
index 5eda9961d6..fb25e902b4 100644
--- a/metricflow/validation/data_warehouse_model_validator.py
+++ b/metricflow/validation/data_warehouse_model_validator.py
@@ -36,7 +36,6 @@
from metricflow_semantics.specs.spec_set import InstanceSpecSet
from metricflow_semantics.sql.sql_bind_parameters import SqlBindParameterSet
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.builder.source_node import SourceNodeBuilder
from metricflow.dataflow.dataflow_plan import DataflowPlanNode
from metricflow.dataflow.nodes.filter_elements import FilterElementsNode
@@ -44,6 +43,7 @@
from metricflow.dataset.dataset_classes import DataSet
from metricflow.engine.metricflow_engine import MetricFlowEngine, MetricFlowExplainResult, MetricFlowQueryRequest
from metricflow.plan_conversion.to_sql_plan.dataflow_to_sql import DataflowToSqlPlanConverter
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
from metricflow.protocols.sql_client import SqlClient
@@ -71,7 +71,7 @@ def __init__(self, manifest: SemanticManifest) -> None: # noqa: D107
column_association_resolver=DunderColumnAssociationResolver(),
semantic_manifest_lookup=self.semantic_manifest_lookup,
)
- self.node_resolver = DataflowPlanNodeOutputDataSetResolver(
+ self.node_resolver = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=DunderColumnAssociationResolver(),
semantic_manifest_lookup=self.semantic_manifest_lookup,
)
diff --git a/scripts/ci_tests/metricflow_package_test.py b/scripts/ci_tests/metricflow_package_test.py
index bf95ebff00..eb1f6de585 100644
--- a/scripts/ci_tests/metricflow_package_test.py
+++ b/scripts/ci_tests/metricflow_package_test.py
@@ -20,12 +20,12 @@
from metricflow_semantics.specs.query_spec import MetricFlowQuerySpec
from metricflow.dataflow.builder.dataflow_plan_builder import DataflowPlanBuilder
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.builder.source_node import SourceNodeBuilder, SourceNodeSet
from metricflow.dataflow.nodes.read_sql_source import ReadSqlSourceNode
from metricflow.dataset.convert_semantic_model import SemanticModelToDataSetConverter
from metricflow.dataset.semantic_model_adapter import SemanticModelDataSet
from metricflow.engine.metricflow_engine import MetricFlowEngine
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
logger = logging.getLogger(__name__)
@@ -140,7 +140,7 @@ def log_dataflow_plan() -> None: # noqa: D103
source_node_builder = SourceNodeBuilder(column_association_resolver, semantic_manifest_lookup)
source_node_set = source_node_builder.create_from_data_sets(list(data_set_mapping.values()))
- node_output_resolver = DataflowPlanNodeOutputDataSetResolver(
+ node_output_resolver = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=column_association_resolver,
semantic_manifest_lookup=semantic_manifest_lookup,
)
diff --git a/tests_metricflow/dataflow/builder/test_node_data_set.py b/tests_metricflow/dataflow/builder/test_node_data_set.py
index 23047d679c..9e9503929d 100644
--- a/tests_metricflow/dataflow/builder/test_node_data_set.py
+++ b/tests_metricflow/dataflow/builder/test_node_data_set.py
@@ -23,10 +23,10 @@
from metricflow_semantics.test_helpers.snapshot_helpers import assert_spec_set_snapshot_equal
from metricflow_semantics.time.time_spine_source import TimeSpineSource
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.nodes.join_to_base import JoinDescription, JoinOnEntitiesNode
from metricflow.dataflow.nodes.read_sql_source import ReadSqlSourceNode
from metricflow.dataset.sql_dataset import SqlDataSet
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
from metricflow.sql.sql_plan import (
SqlSelectColumn,
)
@@ -42,7 +42,7 @@ def test_no_parent_node_data_set(
time_spine_sources: Mapping[TimeGranularity, TimeSpineSource],
) -> None:
"""Tests getting the data set from a single node."""
- resolver: DataflowPlanNodeOutputDataSetResolver = DataflowPlanNodeOutputDataSetResolver(
+ resolver: DataflowNodeToSqlSubqueryVisitor = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=DunderColumnAssociationResolver(),
semantic_manifest_lookup=simple_semantic_manifest_lookup,
)
@@ -95,7 +95,7 @@ def test_joined_node_data_set(
time_spine_sources: Mapping[TimeGranularity, TimeSpineSource],
) -> None:
"""Tests getting the data set from a dataflow plan with a join."""
- resolver: DataflowPlanNodeOutputDataSetResolver = DataflowPlanNodeOutputDataSetResolver(
+ resolver: DataflowNodeToSqlSubqueryVisitor = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=DunderColumnAssociationResolver(),
semantic_manifest_lookup=simple_semantic_manifest_lookup,
)
diff --git a/tests_metricflow/dataflow/builder/test_node_evaluator.py b/tests_metricflow/dataflow/builder/test_node_evaluator.py
index 9b2ce6162b..9493174ee9 100644
--- a/tests_metricflow/dataflow/builder/test_node_evaluator.py
+++ b/tests_metricflow/dataflow/builder/test_node_evaluator.py
@@ -15,7 +15,6 @@
from metricflow_semantics.sql.sql_join_type import SqlJoinType
from metricflow_semantics.time.granularity import ExpandedTimeGranularity
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.builder.node_evaluator import (
JoinLinkableInstancesRecipe,
LinkableInstanceSatisfiabilityEvaluation,
@@ -26,6 +25,7 @@
from metricflow.dataflow.nodes.join_to_base import ValidityWindowJoinDescription
from metricflow.dataset.dataset_classes import DataSet
from metricflow.plan_conversion.node_processor import PreJoinNodeProcessor
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
from tests_metricflow.fixtures.manifest_fixtures import MetricFlowEngineTestFixture, SemanticManifestSetup
logger = logging.getLogger(__name__)
@@ -38,7 +38,7 @@ def node_evaluator(
"""Return a node evaluator using the nodes in semantic_model_name_to_nodes."""
mf_engine_fixture = mf_engine_test_fixture_mapping[SemanticManifestSetup.SIMPLE_MANIFEST]
- node_data_set_resolver: DataflowPlanNodeOutputDataSetResolver = DataflowPlanNodeOutputDataSetResolver(
+ node_data_set_resolver: DataflowNodeToSqlSubqueryVisitor = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=mf_engine_fixture.column_association_resolver,
semantic_manifest_lookup=mf_engine_fixture.semantic_manifest_lookup,
)
@@ -59,7 +59,7 @@ def make_multihop_node_evaluator(
desired_linkable_specs: Sequence[LinkableInstanceSpec],
) -> NodeEvaluatorForLinkableInstances:
"""Return a node evaluator using the nodes in multihop_semantic_model_name_to_nodes."""
- node_data_set_resolver: DataflowPlanNodeOutputDataSetResolver = DataflowPlanNodeOutputDataSetResolver(
+ node_data_set_resolver: DataflowNodeToSqlSubqueryVisitor = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=DunderColumnAssociationResolver(),
semantic_manifest_lookup=semantic_manifest_lookup_with_multihop_links,
)
@@ -511,7 +511,7 @@ def test_node_evaluator_with_scd_target(
scd_semantic_manifest_lookup: SemanticManifestLookup,
) -> None:
"""Tests the case where the joined node is an SCD with a validity window filter."""
- node_data_set_resolver: DataflowPlanNodeOutputDataSetResolver = DataflowPlanNodeOutputDataSetResolver(
+ node_data_set_resolver: DataflowNodeToSqlSubqueryVisitor = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=DunderColumnAssociationResolver(),
semantic_manifest_lookup=scd_semantic_manifest_lookup,
)
diff --git a/tests_metricflow/examples/test_node_sql.py b/tests_metricflow/examples/test_node_sql.py
index 1d7f512982..68b5c5716b 100644
--- a/tests_metricflow/examples/test_node_sql.py
+++ b/tests_metricflow/examples/test_node_sql.py
@@ -13,12 +13,12 @@
from metricflow_semantics.specs.time_dimension_spec import TimeDimensionSpec
from metricflow_semantics.time.granularity import ExpandedTimeGranularity
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.nodes.filter_elements import FilterElementsNode
from metricflow.dataflow.nodes.metric_time_transform import MetricTimeDimensionTransformNode
from metricflow.dataflow.nodes.read_sql_source import ReadSqlSourceNode
from metricflow.dataset.convert_semantic_model import SemanticModelToDataSetConverter
from metricflow.plan_conversion.to_sql_plan.dataflow_to_sql import DataflowToSqlPlanConverter
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
from metricflow.protocols.sql_client import SqlClient
from metricflow.sql.render.sql_plan_renderer import SqlPlanRenderer
@@ -43,7 +43,7 @@ def test_view_sql_generated_at_a_node(
semantic_manifest_lookup=simple_semantic_manifest_lookup,
)
sql_renderer: SqlPlanRenderer = sql_client.sql_plan_renderer
- node_output_resolver = DataflowPlanNodeOutputDataSetResolver(
+ node_output_resolver = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=column_association_resolver,
semantic_manifest_lookup=simple_semantic_manifest_lookup,
)
diff --git a/tests_metricflow/fixtures/manifest_fixtures.py b/tests_metricflow/fixtures/manifest_fixtures.py
index 7fad5dc198..82fa5980f6 100644
--- a/tests_metricflow/fixtures/manifest_fixtures.py
+++ b/tests_metricflow/fixtures/manifest_fixtures.py
@@ -46,13 +46,13 @@
from metricflow_semantics.test_helpers.time_helpers import ConfigurableTimeSource
from metricflow.dataflow.builder.dataflow_plan_builder import DataflowPlanBuilder
-from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
from metricflow.dataflow.builder.source_node import SourceNodeBuilder, SourceNodeSet
from metricflow.dataflow.nodes.read_sql_source import ReadSqlSourceNode
from metricflow.dataset.convert_semantic_model import SemanticModelToDataSetConverter
from metricflow.dataset.semantic_model_adapter import SemanticModelDataSet
from metricflow.engine.metricflow_engine import MetricFlowEngine
from metricflow.plan_conversion.to_sql_plan.dataflow_to_sql import DataflowToSqlPlanConverter
+from metricflow.plan_conversion.to_sql_plan.dataflow_to_subquery import DataflowNodeToSqlSubqueryVisitor
from metricflow.protocols.sql_client import SqlClient
logger = logging.getLogger(__name__)
@@ -160,7 +160,7 @@ class MetricFlowEngineTestFixture:
metricflow_engine: MetricFlowEngine
source_node_builder: SourceNodeBuilder
- _node_output_resolver: DataflowPlanNodeOutputDataSetResolver
+ _node_output_resolver: DataflowNodeToSqlSubqueryVisitor
@staticmethod
def from_parameters( # noqa: D102
@@ -172,7 +172,7 @@ def from_parameters( # noqa: D102
column_association_resolver = DunderColumnAssociationResolver()
source_node_builder = SourceNodeBuilder(column_association_resolver, semantic_manifest_lookup)
source_node_set = source_node_builder.create_from_data_sets(list(data_set_mapping.values()))
- node_output_resolver = DataflowPlanNodeOutputDataSetResolver(
+ node_output_resolver = DataflowNodeToSqlSubqueryVisitor(
column_association_resolver=column_association_resolver,
semantic_manifest_lookup=semantic_manifest_lookup,
)
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric__plan0.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric__plan0.sql
index f5ab1e4855..59b42f42e8 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric__plan0.sql
@@ -6,14 +6,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__day
- , CAST(subq_16.buys AS DOUBLE) / CAST(NULLIF(subq_16.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
+ subq_15.metric_time__day
+ , CAST(subq_15.buys AS DOUBLE) / CAST(NULLIF(subq_15.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__day, subq_15.metric_time__day) AS metric_time__day
+ COALESCE(subq_4.metric_time__day, subq_14.metric_time__day) AS metric_time__day
, MAX(subq_4.visits) AS visits
- , MAX(subq_15.buys) AS buys
+ , MAX(subq_14.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -157,143 +157,143 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_14.metric_time__day
- , SUM(subq_14.buys) AS buys
+ subq_13.metric_time__day
+ , SUM(subq_13.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'metric_time__day']
SELECT
- subq_13.metric_time__day
- , subq_13.buys
+ subq_12.metric_time__day
+ , subq_12.buys
FROM (
-- Find conversions for user within the range of INF
SELECT
- subq_12.metric_time__day
- , subq_12.user
- , subq_12.buys
- , subq_12.visits
+ subq_11.metric_time__day
+ , subq_11.user
+ , subq_11.buys
+ , subq_11.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_8.visits) OVER (
+ FIRST_VALUE(subq_7.visits) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_8.metric_time__day) OVER (
+ , FIRST_VALUE(subq_7.metric_time__day) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_8.user) OVER (
+ , FIRST_VALUE(subq_7.user) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_11.mf_internal_uuid AS mf_internal_uuid
- , subq_11.buys AS buys
+ , subq_10.mf_internal_uuid AS mf_internal_uuid
+ , subq_10.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
- subq_7.metric_time__day
- , subq_7.user
- , subq_7.visits
+ subq_6.metric_time__day
+ , subq_6.user
+ , subq_6.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.visit__ds__day
- , subq_6.visit__ds__week
- , subq_6.visit__ds__month
- , subq_6.visit__ds__quarter
- , subq_6.visit__ds__year
- , subq_6.visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month
- , subq_6.visit__ds__extract_day
- , subq_6.visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy
- , subq_6.metric_time__day
- , subq_6.metric_time__week
- , subq_6.metric_time__month
- , subq_6.metric_time__quarter
- , subq_6.metric_time__year
- , subq_6.metric_time__extract_year
- , subq_6.metric_time__extract_quarter
- , subq_6.metric_time__extract_month
- , subq_6.metric_time__extract_day
- , subq_6.metric_time__extract_dow
- , subq_6.metric_time__extract_doy
- , subq_6.user
- , subq_6.session
- , subq_6.visit__user
- , subq_6.visit__session
- , subq_6.referrer_id
- , subq_6.visit__referrer_id
- , subq_6.visits
- , subq_6.visitors
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.visit__ds__day
+ , subq_5.visit__ds__week
+ , subq_5.visit__ds__month
+ , subq_5.visit__ds__quarter
+ , subq_5.visit__ds__year
+ , subq_5.visit__ds__extract_year
+ , subq_5.visit__ds__extract_quarter
+ , subq_5.visit__ds__extract_month
+ , subq_5.visit__ds__extract_day
+ , subq_5.visit__ds__extract_dow
+ , subq_5.visit__ds__extract_doy
+ , subq_5.metric_time__day
+ , subq_5.metric_time__week
+ , subq_5.metric_time__month
+ , subq_5.metric_time__quarter
+ , subq_5.metric_time__year
+ , subq_5.metric_time__extract_year
+ , subq_5.metric_time__extract_quarter
+ , subq_5.metric_time__extract_month
+ , subq_5.metric_time__extract_day
+ , subq_5.metric_time__extract_dow
+ , subq_5.metric_time__extract_doy
+ , subq_5.user
+ , subq_5.session
+ , subq_5.visit__user
+ , subq_5.visit__session
+ , subq_5.referrer_id
+ , subq_5.visit__referrer_id
+ , subq_5.visits
+ , subq_5.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.visit__ds__day
- , subq_5.visit__ds__week
- , subq_5.visit__ds__month
- , subq_5.visit__ds__quarter
- , subq_5.visit__ds__year
- , subq_5.visit__ds__extract_year
- , subq_5.visit__ds__extract_quarter
- , subq_5.visit__ds__extract_month
- , subq_5.visit__ds__extract_day
- , subq_5.visit__ds__extract_dow
- , subq_5.visit__ds__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.user
- , subq_5.session
- , subq_5.visit__user
- , subq_5.visit__session
- , subq_5.referrer_id
- , subq_5.visit__referrer_id
- , subq_5.visits
- , subq_5.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -328,120 +328,120 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
WHERE metric_time__day = '2020-01-01'
- ) subq_7
- ) subq_8
+ ) subq_6
+ ) subq_7
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_month__month
- , subq_10.ds_month__quarter
- , subq_10.ds_month__year
- , subq_10.ds_month__extract_year
- , subq_10.ds_month__extract_quarter
- , subq_10.ds_month__extract_month
- , subq_10.buy__ds__day
- , subq_10.buy__ds__week
- , subq_10.buy__ds__month
- , subq_10.buy__ds__quarter
- , subq_10.buy__ds__year
- , subq_10.buy__ds__extract_year
- , subq_10.buy__ds__extract_quarter
- , subq_10.buy__ds__extract_month
- , subq_10.buy__ds__extract_day
- , subq_10.buy__ds__extract_dow
- , subq_10.buy__ds__extract_doy
- , subq_10.buy__ds_month__month
- , subq_10.buy__ds_month__quarter
- , subq_10.buy__ds_month__year
- , subq_10.buy__ds_month__extract_year
- , subq_10.buy__ds_month__extract_quarter
- , subq_10.buy__ds_month__extract_month
- , subq_10.metric_time__day
- , subq_10.metric_time__week
- , subq_10.metric_time__month
- , subq_10.metric_time__quarter
- , subq_10.metric_time__year
- , subq_10.metric_time__extract_year
- , subq_10.metric_time__extract_quarter
- , subq_10.metric_time__extract_month
- , subq_10.metric_time__extract_day
- , subq_10.metric_time__extract_dow
- , subq_10.metric_time__extract_doy
- , subq_10.user
- , subq_10.session_id
- , subq_10.buy__user
- , subq_10.buy__session_id
- , subq_10.buys
- , subq_10.buyers
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.ds_month__month
+ , subq_9.ds_month__quarter
+ , subq_9.ds_month__year
+ , subq_9.ds_month__extract_year
+ , subq_9.ds_month__extract_quarter
+ , subq_9.ds_month__extract_month
+ , subq_9.buy__ds__day
+ , subq_9.buy__ds__week
+ , subq_9.buy__ds__month
+ , subq_9.buy__ds__quarter
+ , subq_9.buy__ds__year
+ , subq_9.buy__ds__extract_year
+ , subq_9.buy__ds__extract_quarter
+ , subq_9.buy__ds__extract_month
+ , subq_9.buy__ds__extract_day
+ , subq_9.buy__ds__extract_dow
+ , subq_9.buy__ds__extract_doy
+ , subq_9.buy__ds_month__month
+ , subq_9.buy__ds_month__quarter
+ , subq_9.buy__ds_month__year
+ , subq_9.buy__ds_month__extract_year
+ , subq_9.buy__ds_month__extract_quarter
+ , subq_9.buy__ds_month__extract_month
+ , subq_9.metric_time__day
+ , subq_9.metric_time__week
+ , subq_9.metric_time__month
+ , subq_9.metric_time__quarter
+ , subq_9.metric_time__year
+ , subq_9.metric_time__extract_year
+ , subq_9.metric_time__extract_quarter
+ , subq_9.metric_time__extract_month
+ , subq_9.metric_time__extract_day
+ , subq_9.metric_time__extract_dow
+ , subq_9.metric_time__extract_doy
+ , subq_9.user
+ , subq_9.session_id
+ , subq_9.buy__user
+ , subq_9.buy__session_id
+ , subq_9.buys
+ , subq_9.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_month__month
- , subq_9.ds_month__quarter
- , subq_9.ds_month__year
- , subq_9.ds_month__extract_year
- , subq_9.ds_month__extract_quarter
- , subq_9.ds_month__extract_month
- , subq_9.buy__ds__day
- , subq_9.buy__ds__week
- , subq_9.buy__ds__month
- , subq_9.buy__ds__quarter
- , subq_9.buy__ds__year
- , subq_9.buy__ds__extract_year
- , subq_9.buy__ds__extract_quarter
- , subq_9.buy__ds__extract_month
- , subq_9.buy__ds__extract_day
- , subq_9.buy__ds__extract_dow
- , subq_9.buy__ds__extract_doy
- , subq_9.buy__ds_month__month
- , subq_9.buy__ds_month__quarter
- , subq_9.buy__ds_month__year
- , subq_9.buy__ds_month__extract_year
- , subq_9.buy__ds_month__extract_quarter
- , subq_9.buy__ds_month__extract_month
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.user
- , subq_9.session_id
- , subq_9.buy__user
- , subq_9.buy__session_id
- , subq_9.buys
- , subq_9.buyers
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds_month__month
+ , subq_8.ds_month__quarter
+ , subq_8.ds_month__year
+ , subq_8.ds_month__extract_year
+ , subq_8.ds_month__extract_quarter
+ , subq_8.ds_month__extract_month
+ , subq_8.buy__ds__day
+ , subq_8.buy__ds__week
+ , subq_8.buy__ds__month
+ , subq_8.buy__ds__quarter
+ , subq_8.buy__ds__year
+ , subq_8.buy__ds__extract_year
+ , subq_8.buy__ds__extract_quarter
+ , subq_8.buy__ds__extract_month
+ , subq_8.buy__ds__extract_day
+ , subq_8.buy__ds__extract_dow
+ , subq_8.buy__ds__extract_doy
+ , subq_8.buy__ds_month__month
+ , subq_8.buy__ds_month__quarter
+ , subq_8.buy__ds_month__year
+ , subq_8.buy__ds_month__extract_year
+ , subq_8.buy__ds_month__extract_quarter
+ , subq_8.buy__ds_month__extract_month
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.user
+ , subq_8.session_id
+ , subq_8.buy__user
+ , subq_8.buy__session_id
+ , subq_8.buys
+ , subq_8.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -487,23 +487,23 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
(
- subq_8.user = subq_11.user
+ subq_7.user = subq_10.user
) AND (
- (subq_8.metric_time__day <= subq_11.metric_time__day)
+ (subq_7.metric_time__day <= subq_10.metric_time__day)
)
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_11
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_14.metric_time__day
- ) subq_15
+ subq_13.metric_time__day
+ ) subq_14
ON
- subq_4.metric_time__day = subq_15.metric_time__day
+ subq_4.metric_time__day = subq_14.metric_time__day
GROUP BY
- COALESCE(subq_4.metric_time__day, subq_15.metric_time__day)
-) subq_16
+ COALESCE(subq_4.metric_time__day, subq_14.metric_time__day)
+) subq_15
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric__plan0_optimized.sql
index 000b359031..04592fb874 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric__plan0_optimized.sql
@@ -21,9 +21,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_21.metric_time__day, subq_31.metric_time__day) AS metric_time__day
- , MAX(subq_21.visits) AS visits
- , MAX(subq_31.buys) AS buys
+ COALESCE(subq_20.metric_time__day, subq_30.metric_time__day) AS metric_time__day
+ , MAX(subq_20.visits) AS visits
+ , MAX(subq_30.buys) AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'metric_time__day']
@@ -35,13 +35,14 @@ FROM (
-- Read From CTE For node_id=sma_28019
SELECT
metric_time__day
+ , sma_28019_cte.user
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_18
+ ) subq_17
WHERE metric_time__day = '2020-01-01'
GROUP BY
metric_time__day
- ) subq_21
+ ) subq_20
FULL OUTER JOIN (
-- Find conversions for user within the range of INF
-- Pass Only Elements: ['buys', 'metric_time__day']
@@ -52,38 +53,38 @@ FROM (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_24.visits) OVER (
+ FIRST_VALUE(subq_23.visits) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_24.metric_time__day) OVER (
+ , FIRST_VALUE(subq_23.metric_time__day) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_24.user) OVER (
+ , FIRST_VALUE(subq_23.user) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_27.mf_internal_uuid AS mf_internal_uuid
- , subq_27.buys AS buys
+ , subq_26.mf_internal_uuid AS mf_internal_uuid
+ , subq_26.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
metric_time__day
- , subq_22.user
+ , subq_21.user
, visits
FROM (
-- Read From CTE For node_id=sma_28019
@@ -92,9 +93,9 @@ FROM (
, sma_28019_cte.user
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_22
+ ) subq_21
WHERE metric_time__day = '2020-01-01'
- ) subq_24
+ ) subq_23
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -105,19 +106,19 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_27
+ ) subq_26
ON
(
- subq_24.user = subq_27.user
+ subq_23.user = subq_26.user
) AND (
- (subq_24.metric_time__day <= subq_27.metric_time__day)
+ (subq_23.metric_time__day <= subq_26.metric_time__day)
)
- ) subq_28
+ ) subq_27
GROUP BY
metric_time__day
- ) subq_31
+ ) subq_30
ON
- subq_21.metric_time__day = subq_31.metric_time__day
+ subq_20.metric_time__day = subq_30.metric_time__day
GROUP BY
- COALESCE(subq_21.metric_time__day, subq_31.metric_time__day)
-) subq_32
+ COALESCE(subq_20.metric_time__day, subq_30.metric_time__day)
+) subq_31
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_categorical_filter__plan0.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_categorical_filter__plan0.sql
index d68cc6cb82..e397e7821b 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_categorical_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_categorical_filter__plan0.sql
@@ -6,16 +6,16 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__day
- , subq_16.visit__referrer_id
- , CAST(subq_16.buys AS DOUBLE) / CAST(NULLIF(subq_16.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
+ subq_15.metric_time__day
+ , subq_15.visit__referrer_id
+ , CAST(subq_15.buys AS DOUBLE) / CAST(NULLIF(subq_15.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__day, subq_15.metric_time__day) AS metric_time__day
- , COALESCE(subq_4.visit__referrer_id, subq_15.visit__referrer_id) AS visit__referrer_id
+ COALESCE(subq_4.metric_time__day, subq_14.metric_time__day) AS metric_time__day
+ , COALESCE(subq_4.visit__referrer_id, subq_14.visit__referrer_id) AS visit__referrer_id
, MAX(subq_4.visits) AS visits
- , MAX(subq_15.buys) AS buys
+ , MAX(subq_14.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -162,155 +162,155 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_14.metric_time__day
- , subq_14.visit__referrer_id
- , SUM(subq_14.buys) AS buys
+ subq_13.metric_time__day
+ , subq_13.visit__referrer_id
+ , SUM(subq_13.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'visit__referrer_id', 'metric_time__day']
SELECT
- subq_13.metric_time__day
- , subq_13.visit__referrer_id
- , subq_13.buys
+ subq_12.metric_time__day
+ , subq_12.visit__referrer_id
+ , subq_12.buys
FROM (
-- Find conversions for user within the range of INF
SELECT
- subq_12.metric_time__day
- , subq_12.user
- , subq_12.visit__referrer_id
- , subq_12.buys
- , subq_12.visits
+ subq_11.metric_time__day
+ , subq_11.user
+ , subq_11.visit__referrer_id
+ , subq_11.buys
+ , subq_11.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_8.visits) OVER (
+ FIRST_VALUE(subq_7.visits) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_8.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_7.visit__referrer_id) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_8.metric_time__day) OVER (
+ , FIRST_VALUE(subq_7.metric_time__day) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_8.user) OVER (
+ , FIRST_VALUE(subq_7.user) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_11.mf_internal_uuid AS mf_internal_uuid
- , subq_11.buys AS buys
+ , subq_10.mf_internal_uuid AS mf_internal_uuid
+ , subq_10.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
- subq_7.metric_time__day
- , subq_7.user
- , subq_7.visit__referrer_id
- , subq_7.visits
+ subq_6.metric_time__day
+ , subq_6.user
+ , subq_6.visit__referrer_id
+ , subq_6.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.visit__ds__day
- , subq_6.visit__ds__week
- , subq_6.visit__ds__month
- , subq_6.visit__ds__quarter
- , subq_6.visit__ds__year
- , subq_6.visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month
- , subq_6.visit__ds__extract_day
- , subq_6.visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy
- , subq_6.metric_time__day
- , subq_6.metric_time__week
- , subq_6.metric_time__month
- , subq_6.metric_time__quarter
- , subq_6.metric_time__year
- , subq_6.metric_time__extract_year
- , subq_6.metric_time__extract_quarter
- , subq_6.metric_time__extract_month
- , subq_6.metric_time__extract_day
- , subq_6.metric_time__extract_dow
- , subq_6.metric_time__extract_doy
- , subq_6.user
- , subq_6.session
- , subq_6.visit__user
- , subq_6.visit__session
- , subq_6.referrer_id
- , subq_6.visit__referrer_id
- , subq_6.visits
- , subq_6.visitors
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.visit__ds__day
+ , subq_5.visit__ds__week
+ , subq_5.visit__ds__month
+ , subq_5.visit__ds__quarter
+ , subq_5.visit__ds__year
+ , subq_5.visit__ds__extract_year
+ , subq_5.visit__ds__extract_quarter
+ , subq_5.visit__ds__extract_month
+ , subq_5.visit__ds__extract_day
+ , subq_5.visit__ds__extract_dow
+ , subq_5.visit__ds__extract_doy
+ , subq_5.metric_time__day
+ , subq_5.metric_time__week
+ , subq_5.metric_time__month
+ , subq_5.metric_time__quarter
+ , subq_5.metric_time__year
+ , subq_5.metric_time__extract_year
+ , subq_5.metric_time__extract_quarter
+ , subq_5.metric_time__extract_month
+ , subq_5.metric_time__extract_day
+ , subq_5.metric_time__extract_dow
+ , subq_5.metric_time__extract_doy
+ , subq_5.user
+ , subq_5.session
+ , subq_5.visit__user
+ , subq_5.visit__session
+ , subq_5.referrer_id
+ , subq_5.visit__referrer_id
+ , subq_5.visits
+ , subq_5.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.visit__ds__day
- , subq_5.visit__ds__week
- , subq_5.visit__ds__month
- , subq_5.visit__ds__quarter
- , subq_5.visit__ds__year
- , subq_5.visit__ds__extract_year
- , subq_5.visit__ds__extract_quarter
- , subq_5.visit__ds__extract_month
- , subq_5.visit__ds__extract_day
- , subq_5.visit__ds__extract_dow
- , subq_5.visit__ds__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.user
- , subq_5.session
- , subq_5.visit__user
- , subq_5.visit__session
- , subq_5.referrer_id
- , subq_5.visit__referrer_id
- , subq_5.visits
- , subq_5.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -345,120 +345,120 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_7
- ) subq_8
+ ) subq_6
+ ) subq_7
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_month__month
- , subq_10.ds_month__quarter
- , subq_10.ds_month__year
- , subq_10.ds_month__extract_year
- , subq_10.ds_month__extract_quarter
- , subq_10.ds_month__extract_month
- , subq_10.buy__ds__day
- , subq_10.buy__ds__week
- , subq_10.buy__ds__month
- , subq_10.buy__ds__quarter
- , subq_10.buy__ds__year
- , subq_10.buy__ds__extract_year
- , subq_10.buy__ds__extract_quarter
- , subq_10.buy__ds__extract_month
- , subq_10.buy__ds__extract_day
- , subq_10.buy__ds__extract_dow
- , subq_10.buy__ds__extract_doy
- , subq_10.buy__ds_month__month
- , subq_10.buy__ds_month__quarter
- , subq_10.buy__ds_month__year
- , subq_10.buy__ds_month__extract_year
- , subq_10.buy__ds_month__extract_quarter
- , subq_10.buy__ds_month__extract_month
- , subq_10.metric_time__day
- , subq_10.metric_time__week
- , subq_10.metric_time__month
- , subq_10.metric_time__quarter
- , subq_10.metric_time__year
- , subq_10.metric_time__extract_year
- , subq_10.metric_time__extract_quarter
- , subq_10.metric_time__extract_month
- , subq_10.metric_time__extract_day
- , subq_10.metric_time__extract_dow
- , subq_10.metric_time__extract_doy
- , subq_10.user
- , subq_10.session_id
- , subq_10.buy__user
- , subq_10.buy__session_id
- , subq_10.buys
- , subq_10.buyers
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.ds_month__month
+ , subq_9.ds_month__quarter
+ , subq_9.ds_month__year
+ , subq_9.ds_month__extract_year
+ , subq_9.ds_month__extract_quarter
+ , subq_9.ds_month__extract_month
+ , subq_9.buy__ds__day
+ , subq_9.buy__ds__week
+ , subq_9.buy__ds__month
+ , subq_9.buy__ds__quarter
+ , subq_9.buy__ds__year
+ , subq_9.buy__ds__extract_year
+ , subq_9.buy__ds__extract_quarter
+ , subq_9.buy__ds__extract_month
+ , subq_9.buy__ds__extract_day
+ , subq_9.buy__ds__extract_dow
+ , subq_9.buy__ds__extract_doy
+ , subq_9.buy__ds_month__month
+ , subq_9.buy__ds_month__quarter
+ , subq_9.buy__ds_month__year
+ , subq_9.buy__ds_month__extract_year
+ , subq_9.buy__ds_month__extract_quarter
+ , subq_9.buy__ds_month__extract_month
+ , subq_9.metric_time__day
+ , subq_9.metric_time__week
+ , subq_9.metric_time__month
+ , subq_9.metric_time__quarter
+ , subq_9.metric_time__year
+ , subq_9.metric_time__extract_year
+ , subq_9.metric_time__extract_quarter
+ , subq_9.metric_time__extract_month
+ , subq_9.metric_time__extract_day
+ , subq_9.metric_time__extract_dow
+ , subq_9.metric_time__extract_doy
+ , subq_9.user
+ , subq_9.session_id
+ , subq_9.buy__user
+ , subq_9.buy__session_id
+ , subq_9.buys
+ , subq_9.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_month__month
- , subq_9.ds_month__quarter
- , subq_9.ds_month__year
- , subq_9.ds_month__extract_year
- , subq_9.ds_month__extract_quarter
- , subq_9.ds_month__extract_month
- , subq_9.buy__ds__day
- , subq_9.buy__ds__week
- , subq_9.buy__ds__month
- , subq_9.buy__ds__quarter
- , subq_9.buy__ds__year
- , subq_9.buy__ds__extract_year
- , subq_9.buy__ds__extract_quarter
- , subq_9.buy__ds__extract_month
- , subq_9.buy__ds__extract_day
- , subq_9.buy__ds__extract_dow
- , subq_9.buy__ds__extract_doy
- , subq_9.buy__ds_month__month
- , subq_9.buy__ds_month__quarter
- , subq_9.buy__ds_month__year
- , subq_9.buy__ds_month__extract_year
- , subq_9.buy__ds_month__extract_quarter
- , subq_9.buy__ds_month__extract_month
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.user
- , subq_9.session_id
- , subq_9.buy__user
- , subq_9.buy__session_id
- , subq_9.buys
- , subq_9.buyers
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds_month__month
+ , subq_8.ds_month__quarter
+ , subq_8.ds_month__year
+ , subq_8.ds_month__extract_year
+ , subq_8.ds_month__extract_quarter
+ , subq_8.ds_month__extract_month
+ , subq_8.buy__ds__day
+ , subq_8.buy__ds__week
+ , subq_8.buy__ds__month
+ , subq_8.buy__ds__quarter
+ , subq_8.buy__ds__year
+ , subq_8.buy__ds__extract_year
+ , subq_8.buy__ds__extract_quarter
+ , subq_8.buy__ds__extract_month
+ , subq_8.buy__ds__extract_day
+ , subq_8.buy__ds__extract_dow
+ , subq_8.buy__ds__extract_doy
+ , subq_8.buy__ds_month__month
+ , subq_8.buy__ds_month__quarter
+ , subq_8.buy__ds_month__year
+ , subq_8.buy__ds_month__extract_year
+ , subq_8.buy__ds_month__extract_quarter
+ , subq_8.buy__ds_month__extract_month
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.user
+ , subq_8.session_id
+ , subq_8.buy__user
+ , subq_8.buy__session_id
+ , subq_8.buys
+ , subq_8.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -504,29 +504,29 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
(
- subq_8.user = subq_11.user
+ subq_7.user = subq_10.user
) AND (
- (subq_8.metric_time__day <= subq_11.metric_time__day)
+ (subq_7.metric_time__day <= subq_10.metric_time__day)
)
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_11
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_14.metric_time__day
- , subq_14.visit__referrer_id
- ) subq_15
+ subq_13.metric_time__day
+ , subq_13.visit__referrer_id
+ ) subq_14
ON
(
- subq_4.visit__referrer_id = subq_15.visit__referrer_id
+ subq_4.visit__referrer_id = subq_14.visit__referrer_id
) AND (
- subq_4.metric_time__day = subq_15.metric_time__day
+ subq_4.metric_time__day = subq_14.metric_time__day
)
GROUP BY
- COALESCE(subq_4.metric_time__day, subq_15.metric_time__day)
- , COALESCE(subq_4.visit__referrer_id, subq_15.visit__referrer_id)
-) subq_16
+ COALESCE(subq_4.metric_time__day, subq_14.metric_time__day)
+ , COALESCE(subq_4.visit__referrer_id, subq_14.visit__referrer_id)
+) subq_15
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_categorical_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_categorical_filter__plan0_optimized.sql
index 2086c63afc..084f2098a5 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_categorical_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_categorical_filter__plan0_optimized.sql
@@ -23,10 +23,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_21.metric_time__day, subq_31.metric_time__day) AS metric_time__day
- , COALESCE(subq_21.visit__referrer_id, subq_31.visit__referrer_id) AS visit__referrer_id
- , MAX(subq_21.visits) AS visits
- , MAX(subq_31.buys) AS buys
+ COALESCE(subq_20.metric_time__day, subq_30.metric_time__day) AS metric_time__day
+ , COALESCE(subq_20.visit__referrer_id, subq_30.visit__referrer_id) AS visit__referrer_id
+ , MAX(subq_20.visits) AS visits
+ , MAX(subq_30.buys) AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day']
@@ -39,15 +39,16 @@ FROM (
-- Read From CTE For node_id=sma_28019
SELECT
metric_time__day
+ , sma_28019_cte.user
, visit__referrer_id
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_18
+ ) subq_17
WHERE visit__referrer_id = 'ref_id_01'
GROUP BY
metric_time__day
, visit__referrer_id
- ) subq_21
+ ) subq_20
FULL OUTER JOIN (
-- Find conversions for user within the range of INF
-- Pass Only Elements: ['buys', 'visit__referrer_id', 'metric_time__day']
@@ -59,46 +60,46 @@ FROM (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_24.visits) OVER (
+ FIRST_VALUE(subq_23.visits) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_24.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_23.visit__referrer_id) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_24.metric_time__day) OVER (
+ , FIRST_VALUE(subq_23.metric_time__day) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_24.user) OVER (
+ , FIRST_VALUE(subq_23.user) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_27.mf_internal_uuid AS mf_internal_uuid
- , subq_27.buys AS buys
+ , subq_26.mf_internal_uuid AS mf_internal_uuid
+ , subq_26.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
metric_time__day
- , subq_22.user
+ , subq_21.user
, visit__referrer_id
, visits
FROM (
@@ -109,9 +110,9 @@ FROM (
, visit__referrer_id
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_22
+ ) subq_21
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_24
+ ) subq_23
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -122,25 +123,25 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_27
+ ) subq_26
ON
(
- subq_24.user = subq_27.user
+ subq_23.user = subq_26.user
) AND (
- (subq_24.metric_time__day <= subq_27.metric_time__day)
+ (subq_23.metric_time__day <= subq_26.metric_time__day)
)
- ) subq_28
+ ) subq_27
GROUP BY
metric_time__day
, visit__referrer_id
- ) subq_31
+ ) subq_30
ON
(
- subq_21.visit__referrer_id = subq_31.visit__referrer_id
+ subq_20.visit__referrer_id = subq_30.visit__referrer_id
) AND (
- subq_21.metric_time__day = subq_31.metric_time__day
+ subq_20.metric_time__day = subq_30.metric_time__day
)
GROUP BY
- COALESCE(subq_21.metric_time__day, subq_31.metric_time__day)
- , COALESCE(subq_21.visit__referrer_id, subq_31.visit__referrer_id)
-) subq_32
+ COALESCE(subq_20.metric_time__day, subq_30.metric_time__day)
+ , COALESCE(subq_20.visit__referrer_id, subq_30.visit__referrer_id)
+) subq_31
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_different_time_dimension_grains__plan0.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_different_time_dimension_grains__plan0.sql
index 67f0a2ad66..d1bef8e637 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_different_time_dimension_grains__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_different_time_dimension_grains__plan0.sql
@@ -6,12 +6,12 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- CAST(subq_14.buys_month AS DOUBLE) / CAST(NULLIF(subq_14.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_with_monthly_conversion
+ CAST(subq_13.buys_month AS DOUBLE) / CAST(NULLIF(subq_13.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_with_monthly_conversion
FROM (
-- Combine Aggregated Outputs
SELECT
MAX(subq_3.visits) AS visits
- , MAX(subq_13.buys_month) AS buys_month
+ , MAX(subq_12.buys_month) AS buys_month
FROM (
-- Aggregate Measures
SELECT
@@ -105,97 +105,97 @@ FROM (
CROSS JOIN (
-- Aggregate Measures
SELECT
- SUM(subq_12.buys_month) AS buys_month
+ SUM(subq_11.buys_month) AS buys_month
FROM (
-- Pass Only Elements: ['buys_month',]
SELECT
- subq_11.buys_month
+ subq_10.buys_month
FROM (
-- Find conversions for user within the range of 1 month
SELECT
- subq_10.metric_time__month
- , subq_10.user
- , subq_10.buys_month
- , subq_10.visits
+ subq_9.metric_time__month
+ , subq_9.user
+ , subq_9.buys_month
+ , subq_9.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_6.visits) OVER (
+ FIRST_VALUE(subq_5.visits) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__month
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__month DESC
+ subq_8.user
+ , subq_8.metric_time__month
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__month DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_6.metric_time__month) OVER (
+ , FIRST_VALUE(subq_5.metric_time__month) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__month
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__month DESC
+ subq_8.user
+ , subq_8.metric_time__month
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__month DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__month
- , FIRST_VALUE(subq_6.user) OVER (
+ , FIRST_VALUE(subq_5.user) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__month
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__month DESC
+ subq_8.user
+ , subq_8.metric_time__month
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__month DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_9.mf_internal_uuid AS mf_internal_uuid
- , subq_9.buys_month AS buys_month
+ , subq_8.mf_internal_uuid AS mf_internal_uuid
+ , subq_8.buys_month AS buys_month
FROM (
-- Pass Only Elements: ['visits', 'metric_time__month', 'user']
SELECT
- subq_5.metric_time__month
- , subq_5.user
- , subq_5.visits
+ subq_4.metric_time__month
+ , subq_4.user
+ , subq_4.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.visit__ds__day
- , subq_4.visit__ds__week
- , subq_4.visit__ds__month
- , subq_4.visit__ds__quarter
- , subq_4.visit__ds__year
- , subq_4.visit__ds__extract_year
- , subq_4.visit__ds__extract_quarter
- , subq_4.visit__ds__extract_month
- , subq_4.visit__ds__extract_day
- , subq_4.visit__ds__extract_dow
- , subq_4.visit__ds__extract_doy
- , subq_4.ds__day AS metric_time__day
- , subq_4.ds__week AS metric_time__week
- , subq_4.ds__month AS metric_time__month
- , subq_4.ds__quarter AS metric_time__quarter
- , subq_4.ds__year AS metric_time__year
- , subq_4.ds__extract_year AS metric_time__extract_year
- , subq_4.ds__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds__extract_month AS metric_time__extract_month
- , subq_4.ds__extract_day AS metric_time__extract_day
- , subq_4.ds__extract_dow AS metric_time__extract_dow
- , subq_4.ds__extract_doy AS metric_time__extract_doy
- , subq_4.user
- , subq_4.session
- , subq_4.visit__user
- , subq_4.visit__session
- , subq_4.referrer_id
- , subq_4.visit__referrer_id
- , subq_4.visits
- , subq_4.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -230,106 +230,106 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_4
+ ) subq_5
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_month__month
- , subq_8.ds_month__quarter
- , subq_8.ds_month__year
- , subq_8.ds_month__extract_year
- , subq_8.ds_month__extract_quarter
- , subq_8.ds_month__extract_month
- , subq_8.buy__ds__day
- , subq_8.buy__ds__week
- , subq_8.buy__ds__month
- , subq_8.buy__ds__quarter
- , subq_8.buy__ds__year
- , subq_8.buy__ds__extract_year
- , subq_8.buy__ds__extract_quarter
- , subq_8.buy__ds__extract_month
- , subq_8.buy__ds__extract_day
- , subq_8.buy__ds__extract_dow
- , subq_8.buy__ds__extract_doy
- , subq_8.buy__ds_month__month
- , subq_8.buy__ds_month__quarter
- , subq_8.buy__ds_month__year
- , subq_8.buy__ds_month__extract_year
- , subq_8.buy__ds_month__extract_quarter
- , subq_8.buy__ds_month__extract_month
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.user
- , subq_8.session_id
- , subq_8.buy__user
- , subq_8.buy__session_id
- , subq_8.buys_month
+ subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds_month__month
+ , subq_7.ds_month__quarter
+ , subq_7.ds_month__year
+ , subq_7.ds_month__extract_year
+ , subq_7.ds_month__extract_quarter
+ , subq_7.ds_month__extract_month
+ , subq_7.buy__ds__day
+ , subq_7.buy__ds__week
+ , subq_7.buy__ds__month
+ , subq_7.buy__ds__quarter
+ , subq_7.buy__ds__year
+ , subq_7.buy__ds__extract_year
+ , subq_7.buy__ds__extract_quarter
+ , subq_7.buy__ds__extract_month
+ , subq_7.buy__ds__extract_day
+ , subq_7.buy__ds__extract_dow
+ , subq_7.buy__ds__extract_doy
+ , subq_7.buy__ds_month__month
+ , subq_7.buy__ds_month__quarter
+ , subq_7.buy__ds_month__year
+ , subq_7.buy__ds_month__extract_year
+ , subq_7.buy__ds_month__extract_quarter
+ , subq_7.buy__ds_month__extract_month
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.user
+ , subq_7.session_id
+ , subq_7.buy__user
+ , subq_7.buy__session_id
+ , subq_7.buys_month
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds_month'
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds_month__month
- , subq_7.ds_month__quarter
- , subq_7.ds_month__year
- , subq_7.ds_month__extract_year
- , subq_7.ds_month__extract_quarter
- , subq_7.ds_month__extract_month
- , subq_7.buy__ds__day
- , subq_7.buy__ds__week
- , subq_7.buy__ds__month
- , subq_7.buy__ds__quarter
- , subq_7.buy__ds__year
- , subq_7.buy__ds__extract_year
- , subq_7.buy__ds__extract_quarter
- , subq_7.buy__ds__extract_month
- , subq_7.buy__ds__extract_day
- , subq_7.buy__ds__extract_dow
- , subq_7.buy__ds__extract_doy
- , subq_7.buy__ds_month__month
- , subq_7.buy__ds_month__quarter
- , subq_7.buy__ds_month__year
- , subq_7.buy__ds_month__extract_year
- , subq_7.buy__ds_month__extract_quarter
- , subq_7.buy__ds_month__extract_month
- , subq_7.ds_month__month AS metric_time__month
- , subq_7.ds_month__quarter AS metric_time__quarter
- , subq_7.ds_month__year AS metric_time__year
- , subq_7.ds_month__extract_year AS metric_time__extract_year
- , subq_7.ds_month__extract_quarter AS metric_time__extract_quarter
- , subq_7.ds_month__extract_month AS metric_time__extract_month
- , subq_7.user
- , subq_7.session_id
- , subq_7.buy__user
- , subq_7.buy__session_id
- , subq_7.buys_month
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds_month__month
+ , subq_6.ds_month__quarter
+ , subq_6.ds_month__year
+ , subq_6.ds_month__extract_year
+ , subq_6.ds_month__extract_quarter
+ , subq_6.ds_month__extract_month
+ , subq_6.buy__ds__day
+ , subq_6.buy__ds__week
+ , subq_6.buy__ds__month
+ , subq_6.buy__ds__quarter
+ , subq_6.buy__ds__year
+ , subq_6.buy__ds__extract_year
+ , subq_6.buy__ds__extract_quarter
+ , subq_6.buy__ds__extract_month
+ , subq_6.buy__ds__extract_day
+ , subq_6.buy__ds__extract_dow
+ , subq_6.buy__ds__extract_doy
+ , subq_6.buy__ds_month__month
+ , subq_6.buy__ds_month__quarter
+ , subq_6.buy__ds_month__year
+ , subq_6.buy__ds_month__extract_year
+ , subq_6.buy__ds_month__extract_quarter
+ , subq_6.buy__ds_month__extract_month
+ , subq_6.ds_month__month AS metric_time__month
+ , subq_6.ds_month__quarter AS metric_time__quarter
+ , subq_6.ds_month__year AS metric_time__year
+ , subq_6.ds_month__extract_year AS metric_time__extract_year
+ , subq_6.ds_month__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds_month__extract_month AS metric_time__extract_month
+ , subq_6.user
+ , subq_6.session_id
+ , subq_6.buy__user
+ , subq_6.buy__session_id
+ , subq_6.buys_month
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -375,21 +375,21 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
ON
(
- subq_6.user = subq_9.user
+ subq_5.user = subq_8.user
) AND (
(
- subq_6.metric_time__month <= subq_9.metric_time__month
+ subq_5.metric_time__month <= subq_8.metric_time__month
) AND (
- subq_6.metric_time__month > subq_9.metric_time__month - INTERVAL 1 month
+ subq_5.metric_time__month > subq_8.metric_time__month - INTERVAL 1 month
)
)
- ) subq_10
- ) subq_11
- ) subq_12
- ) subq_13
-) subq_14
+ ) subq_9
+ ) subq_10
+ ) subq_11
+ ) subq_12
+) subq_13
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_different_time_dimension_grains__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_different_time_dimension_grains__plan0_optimized.sql
index 8043bcfd4e..a679f1bbfc 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_different_time_dimension_grains__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_different_time_dimension_grains__plan0_optimized.sql
@@ -17,7 +17,7 @@ WITH sma_28019_cte AS (
)
SELECT
- CAST(MAX(subq_27.buys_month) AS DOUBLE) / CAST(NULLIF(MAX(subq_18.visits), 0) AS DOUBLE) AS visit_buy_conversion_rate_with_monthly_conversion
+ CAST(MAX(subq_26.buys_month) AS DOUBLE) / CAST(NULLIF(MAX(subq_17.visits), 0) AS DOUBLE) AS visit_buy_conversion_rate_with_monthly_conversion
FROM (
-- Read From CTE For node_id=sma_28019
-- Pass Only Elements: ['visits',]
@@ -25,7 +25,7 @@ FROM (
SELECT
SUM(visits) AS visits
FROM sma_28019_cte sma_28019_cte
-) subq_18
+) subq_17
CROSS JOIN (
-- Find conversions for user within the range of 1 month
-- Pass Only Elements: ['buys_month',]
@@ -37,30 +37,30 @@ CROSS JOIN (
SELECT DISTINCT
FIRST_VALUE(sma_28019_cte.visits) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__month
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__month
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__month DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
, FIRST_VALUE(sma_28019_cte.metric_time__month) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__month
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__month
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__month DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__month
, FIRST_VALUE(sma_28019_cte.user) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__month
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__month
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__month DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_23.mf_internal_uuid AS mf_internal_uuid
- , subq_23.buys_month AS buys_month
+ , subq_22.mf_internal_uuid AS mf_internal_uuid
+ , subq_22.buys_month AS buys_month
FROM sma_28019_cte sma_28019_cte
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
@@ -72,16 +72,16 @@ CROSS JOIN (
, 1 AS buys_month
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_23
+ ) subq_22
ON
(
- sma_28019_cte.user = subq_23.user
+ sma_28019_cte.user = subq_22.user
) AND (
(
- sma_28019_cte.metric_time__month <= subq_23.metric_time__month
+ sma_28019_cte.metric_time__month <= subq_22.metric_time__month
) AND (
- sma_28019_cte.metric_time__month > subq_23.metric_time__month - INTERVAL 1 month
+ sma_28019_cte.metric_time__month > subq_22.metric_time__month - INTERVAL 1 month
)
)
- ) subq_24
-) subq_27
+ ) subq_23
+) subq_26
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter__plan0.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter__plan0.sql
index e8f94f67cc..612329dd45 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter__plan0.sql
@@ -6,12 +6,12 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- CAST(subq_16.buys AS DOUBLE) / CAST(NULLIF(subq_16.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
+ CAST(subq_15.buys AS DOUBLE) / CAST(NULLIF(subq_15.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
FROM (
-- Combine Aggregated Outputs
SELECT
MAX(subq_4.visits) AS visits
- , MAX(subq_15.buys) AS buys
+ , MAX(subq_14.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -151,141 +151,141 @@ FROM (
CROSS JOIN (
-- Aggregate Measures
SELECT
- SUM(subq_14.buys) AS buys
+ SUM(subq_13.buys) AS buys
FROM (
-- Pass Only Elements: ['buys',]
SELECT
- subq_13.buys
+ subq_12.buys
FROM (
-- Find conversions for user within the range of INF
SELECT
- subq_12.metric_time__day
- , subq_12.user
- , subq_12.buys
- , subq_12.visits
+ subq_11.metric_time__day
+ , subq_11.user
+ , subq_11.buys
+ , subq_11.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_8.visits) OVER (
+ FIRST_VALUE(subq_7.visits) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_8.metric_time__day) OVER (
+ , FIRST_VALUE(subq_7.metric_time__day) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_8.user) OVER (
+ , FIRST_VALUE(subq_7.user) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_11.mf_internal_uuid AS mf_internal_uuid
- , subq_11.buys AS buys
+ , subq_10.mf_internal_uuid AS mf_internal_uuid
+ , subq_10.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
- subq_7.metric_time__day
- , subq_7.user
- , subq_7.visits
+ subq_6.metric_time__day
+ , subq_6.user
+ , subq_6.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.visit__ds__day
- , subq_6.visit__ds__week
- , subq_6.visit__ds__month
- , subq_6.visit__ds__quarter
- , subq_6.visit__ds__year
- , subq_6.visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month
- , subq_6.visit__ds__extract_day
- , subq_6.visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy
- , subq_6.metric_time__day
- , subq_6.metric_time__week
- , subq_6.metric_time__month
- , subq_6.metric_time__quarter
- , subq_6.metric_time__year
- , subq_6.metric_time__extract_year
- , subq_6.metric_time__extract_quarter
- , subq_6.metric_time__extract_month
- , subq_6.metric_time__extract_day
- , subq_6.metric_time__extract_dow
- , subq_6.metric_time__extract_doy
- , subq_6.user
- , subq_6.session
- , subq_6.visit__user
- , subq_6.visit__session
- , subq_6.referrer_id
- , subq_6.visit__referrer_id
- , subq_6.visits
- , subq_6.visitors
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.visit__ds__day
+ , subq_5.visit__ds__week
+ , subq_5.visit__ds__month
+ , subq_5.visit__ds__quarter
+ , subq_5.visit__ds__year
+ , subq_5.visit__ds__extract_year
+ , subq_5.visit__ds__extract_quarter
+ , subq_5.visit__ds__extract_month
+ , subq_5.visit__ds__extract_day
+ , subq_5.visit__ds__extract_dow
+ , subq_5.visit__ds__extract_doy
+ , subq_5.metric_time__day
+ , subq_5.metric_time__week
+ , subq_5.metric_time__month
+ , subq_5.metric_time__quarter
+ , subq_5.metric_time__year
+ , subq_5.metric_time__extract_year
+ , subq_5.metric_time__extract_quarter
+ , subq_5.metric_time__extract_month
+ , subq_5.metric_time__extract_day
+ , subq_5.metric_time__extract_dow
+ , subq_5.metric_time__extract_doy
+ , subq_5.user
+ , subq_5.session
+ , subq_5.visit__user
+ , subq_5.visit__session
+ , subq_5.referrer_id
+ , subq_5.visit__referrer_id
+ , subq_5.visits
+ , subq_5.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.visit__ds__day
- , subq_5.visit__ds__week
- , subq_5.visit__ds__month
- , subq_5.visit__ds__quarter
- , subq_5.visit__ds__year
- , subq_5.visit__ds__extract_year
- , subq_5.visit__ds__extract_quarter
- , subq_5.visit__ds__extract_month
- , subq_5.visit__ds__extract_day
- , subq_5.visit__ds__extract_dow
- , subq_5.visit__ds__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.user
- , subq_5.session
- , subq_5.visit__user
- , subq_5.visit__session
- , subq_5.referrer_id
- , subq_5.visit__referrer_id
- , subq_5.visits
- , subq_5.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -320,120 +320,120 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
WHERE metric_time__day = '2020-01-01'
- ) subq_7
- ) subq_8
+ ) subq_6
+ ) subq_7
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_month__month
- , subq_10.ds_month__quarter
- , subq_10.ds_month__year
- , subq_10.ds_month__extract_year
- , subq_10.ds_month__extract_quarter
- , subq_10.ds_month__extract_month
- , subq_10.buy__ds__day
- , subq_10.buy__ds__week
- , subq_10.buy__ds__month
- , subq_10.buy__ds__quarter
- , subq_10.buy__ds__year
- , subq_10.buy__ds__extract_year
- , subq_10.buy__ds__extract_quarter
- , subq_10.buy__ds__extract_month
- , subq_10.buy__ds__extract_day
- , subq_10.buy__ds__extract_dow
- , subq_10.buy__ds__extract_doy
- , subq_10.buy__ds_month__month
- , subq_10.buy__ds_month__quarter
- , subq_10.buy__ds_month__year
- , subq_10.buy__ds_month__extract_year
- , subq_10.buy__ds_month__extract_quarter
- , subq_10.buy__ds_month__extract_month
- , subq_10.metric_time__day
- , subq_10.metric_time__week
- , subq_10.metric_time__month
- , subq_10.metric_time__quarter
- , subq_10.metric_time__year
- , subq_10.metric_time__extract_year
- , subq_10.metric_time__extract_quarter
- , subq_10.metric_time__extract_month
- , subq_10.metric_time__extract_day
- , subq_10.metric_time__extract_dow
- , subq_10.metric_time__extract_doy
- , subq_10.user
- , subq_10.session_id
- , subq_10.buy__user
- , subq_10.buy__session_id
- , subq_10.buys
- , subq_10.buyers
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.ds_month__month
+ , subq_9.ds_month__quarter
+ , subq_9.ds_month__year
+ , subq_9.ds_month__extract_year
+ , subq_9.ds_month__extract_quarter
+ , subq_9.ds_month__extract_month
+ , subq_9.buy__ds__day
+ , subq_9.buy__ds__week
+ , subq_9.buy__ds__month
+ , subq_9.buy__ds__quarter
+ , subq_9.buy__ds__year
+ , subq_9.buy__ds__extract_year
+ , subq_9.buy__ds__extract_quarter
+ , subq_9.buy__ds__extract_month
+ , subq_9.buy__ds__extract_day
+ , subq_9.buy__ds__extract_dow
+ , subq_9.buy__ds__extract_doy
+ , subq_9.buy__ds_month__month
+ , subq_9.buy__ds_month__quarter
+ , subq_9.buy__ds_month__year
+ , subq_9.buy__ds_month__extract_year
+ , subq_9.buy__ds_month__extract_quarter
+ , subq_9.buy__ds_month__extract_month
+ , subq_9.metric_time__day
+ , subq_9.metric_time__week
+ , subq_9.metric_time__month
+ , subq_9.metric_time__quarter
+ , subq_9.metric_time__year
+ , subq_9.metric_time__extract_year
+ , subq_9.metric_time__extract_quarter
+ , subq_9.metric_time__extract_month
+ , subq_9.metric_time__extract_day
+ , subq_9.metric_time__extract_dow
+ , subq_9.metric_time__extract_doy
+ , subq_9.user
+ , subq_9.session_id
+ , subq_9.buy__user
+ , subq_9.buy__session_id
+ , subq_9.buys
+ , subq_9.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_month__month
- , subq_9.ds_month__quarter
- , subq_9.ds_month__year
- , subq_9.ds_month__extract_year
- , subq_9.ds_month__extract_quarter
- , subq_9.ds_month__extract_month
- , subq_9.buy__ds__day
- , subq_9.buy__ds__week
- , subq_9.buy__ds__month
- , subq_9.buy__ds__quarter
- , subq_9.buy__ds__year
- , subq_9.buy__ds__extract_year
- , subq_9.buy__ds__extract_quarter
- , subq_9.buy__ds__extract_month
- , subq_9.buy__ds__extract_day
- , subq_9.buy__ds__extract_dow
- , subq_9.buy__ds__extract_doy
- , subq_9.buy__ds_month__month
- , subq_9.buy__ds_month__quarter
- , subq_9.buy__ds_month__year
- , subq_9.buy__ds_month__extract_year
- , subq_9.buy__ds_month__extract_quarter
- , subq_9.buy__ds_month__extract_month
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.user
- , subq_9.session_id
- , subq_9.buy__user
- , subq_9.buy__session_id
- , subq_9.buys
- , subq_9.buyers
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds_month__month
+ , subq_8.ds_month__quarter
+ , subq_8.ds_month__year
+ , subq_8.ds_month__extract_year
+ , subq_8.ds_month__extract_quarter
+ , subq_8.ds_month__extract_month
+ , subq_8.buy__ds__day
+ , subq_8.buy__ds__week
+ , subq_8.buy__ds__month
+ , subq_8.buy__ds__quarter
+ , subq_8.buy__ds__year
+ , subq_8.buy__ds__extract_year
+ , subq_8.buy__ds__extract_quarter
+ , subq_8.buy__ds__extract_month
+ , subq_8.buy__ds__extract_day
+ , subq_8.buy__ds__extract_dow
+ , subq_8.buy__ds__extract_doy
+ , subq_8.buy__ds_month__month
+ , subq_8.buy__ds_month__quarter
+ , subq_8.buy__ds_month__year
+ , subq_8.buy__ds_month__extract_year
+ , subq_8.buy__ds_month__extract_quarter
+ , subq_8.buy__ds_month__extract_month
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.user
+ , subq_8.session_id
+ , subq_8.buy__user
+ , subq_8.buy__session_id
+ , subq_8.buys
+ , subq_8.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -479,17 +479,17 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
(
- subq_8.user = subq_11.user
+ subq_7.user = subq_10.user
) AND (
- (subq_8.metric_time__day <= subq_11.metric_time__day)
+ (subq_7.metric_time__day <= subq_10.metric_time__day)
)
- ) subq_12
- ) subq_13
- ) subq_14
- ) subq_15
-) subq_16
+ ) subq_11
+ ) subq_12
+ ) subq_13
+ ) subq_14
+) subq_15
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter__plan0_optimized.sql
index e0a44ef52f..0bb6c09c42 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter__plan0_optimized.sql
@@ -17,7 +17,7 @@ WITH sma_28019_cte AS (
)
SELECT
- CAST(MAX(subq_31.buys) AS DOUBLE) / CAST(NULLIF(MAX(subq_21.visits), 0) AS DOUBLE) AS visit_buy_conversion_rate
+ CAST(MAX(subq_30.buys) AS DOUBLE) / CAST(NULLIF(MAX(subq_20.visits), 0) AS DOUBLE) AS visit_buy_conversion_rate
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits',]
@@ -28,11 +28,12 @@ FROM (
-- Read From CTE For node_id=sma_28019
SELECT
metric_time__day
+ , sma_28019_cte.user
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_18
+ ) subq_17
WHERE metric_time__day = '2020-01-01'
-) subq_21
+) subq_20
CROSS JOIN (
-- Find conversions for user within the range of INF
-- Pass Only Elements: ['buys',]
@@ -42,38 +43,38 @@ CROSS JOIN (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_24.visits) OVER (
+ FIRST_VALUE(subq_23.visits) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_24.metric_time__day) OVER (
+ , FIRST_VALUE(subq_23.metric_time__day) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_24.user) OVER (
+ , FIRST_VALUE(subq_23.user) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_27.mf_internal_uuid AS mf_internal_uuid
- , subq_27.buys AS buys
+ , subq_26.mf_internal_uuid AS mf_internal_uuid
+ , subq_26.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
metric_time__day
- , subq_22.user
+ , subq_21.user
, visits
FROM (
-- Read From CTE For node_id=sma_28019
@@ -82,9 +83,9 @@ CROSS JOIN (
, sma_28019_cte.user
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_22
+ ) subq_21
WHERE metric_time__day = '2020-01-01'
- ) subq_24
+ ) subq_23
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -95,12 +96,12 @@ CROSS JOIN (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_27
+ ) subq_26
ON
(
- subq_24.user = subq_27.user
+ subq_23.user = subq_26.user
) AND (
- (subq_24.metric_time__day <= subq_27.metric_time__day)
+ (subq_23.metric_time__day <= subq_26.metric_time__day)
)
- ) subq_28
-) subq_31
+ ) subq_27
+) subq_30
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter_not_in_group_by__plan0.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter_not_in_group_by__plan0.sql
index 7465fe603a..731887e25f 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter_not_in_group_by__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter_not_in_group_by__plan0.sql
@@ -6,12 +6,12 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_16.buys AS visit_buy_conversions
+ subq_15.buys AS visit_buy_conversions
FROM (
-- Combine Aggregated Outputs
SELECT
MAX(subq_4.visits) AS visits
- , COALESCE(MAX(subq_15.buys), 0) AS buys
+ , COALESCE(MAX(subq_14.buys), 0) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -151,151 +151,151 @@ FROM (
CROSS JOIN (
-- Aggregate Measures
SELECT
- SUM(subq_14.buys) AS buys
+ SUM(subq_13.buys) AS buys
FROM (
-- Pass Only Elements: ['buys',]
SELECT
- subq_13.buys
+ subq_12.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_12.metric_time__day
- , subq_12.user
- , subq_12.visit__referrer_id
- , subq_12.buys
- , subq_12.visits
+ subq_11.metric_time__day
+ , subq_11.user
+ , subq_11.visit__referrer_id
+ , subq_11.buys
+ , subq_11.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_8.visits) OVER (
+ FIRST_VALUE(subq_7.visits) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_8.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_7.visit__referrer_id) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_8.metric_time__day) OVER (
+ , FIRST_VALUE(subq_7.metric_time__day) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_8.user) OVER (
+ , FIRST_VALUE(subq_7.user) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_11.mf_internal_uuid AS mf_internal_uuid
- , subq_11.buys AS buys
+ , subq_10.mf_internal_uuid AS mf_internal_uuid
+ , subq_10.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
- subq_7.metric_time__day
- , subq_7.user
- , subq_7.visit__referrer_id
- , subq_7.visits
+ subq_6.metric_time__day
+ , subq_6.user
+ , subq_6.visit__referrer_id
+ , subq_6.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.visit__ds__day
- , subq_6.visit__ds__week
- , subq_6.visit__ds__month
- , subq_6.visit__ds__quarter
- , subq_6.visit__ds__year
- , subq_6.visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month
- , subq_6.visit__ds__extract_day
- , subq_6.visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy
- , subq_6.metric_time__day
- , subq_6.metric_time__week
- , subq_6.metric_time__month
- , subq_6.metric_time__quarter
- , subq_6.metric_time__year
- , subq_6.metric_time__extract_year
- , subq_6.metric_time__extract_quarter
- , subq_6.metric_time__extract_month
- , subq_6.metric_time__extract_day
- , subq_6.metric_time__extract_dow
- , subq_6.metric_time__extract_doy
- , subq_6.user
- , subq_6.session
- , subq_6.visit__user
- , subq_6.visit__session
- , subq_6.referrer_id
- , subq_6.visit__referrer_id
- , subq_6.visits
- , subq_6.visitors
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.visit__ds__day
+ , subq_5.visit__ds__week
+ , subq_5.visit__ds__month
+ , subq_5.visit__ds__quarter
+ , subq_5.visit__ds__year
+ , subq_5.visit__ds__extract_year
+ , subq_5.visit__ds__extract_quarter
+ , subq_5.visit__ds__extract_month
+ , subq_5.visit__ds__extract_day
+ , subq_5.visit__ds__extract_dow
+ , subq_5.visit__ds__extract_doy
+ , subq_5.metric_time__day
+ , subq_5.metric_time__week
+ , subq_5.metric_time__month
+ , subq_5.metric_time__quarter
+ , subq_5.metric_time__year
+ , subq_5.metric_time__extract_year
+ , subq_5.metric_time__extract_quarter
+ , subq_5.metric_time__extract_month
+ , subq_5.metric_time__extract_day
+ , subq_5.metric_time__extract_dow
+ , subq_5.metric_time__extract_doy
+ , subq_5.user
+ , subq_5.session
+ , subq_5.visit__user
+ , subq_5.visit__session
+ , subq_5.referrer_id
+ , subq_5.visit__referrer_id
+ , subq_5.visits
+ , subq_5.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.visit__ds__day
- , subq_5.visit__ds__week
- , subq_5.visit__ds__month
- , subq_5.visit__ds__quarter
- , subq_5.visit__ds__year
- , subq_5.visit__ds__extract_year
- , subq_5.visit__ds__extract_quarter
- , subq_5.visit__ds__extract_month
- , subq_5.visit__ds__extract_day
- , subq_5.visit__ds__extract_dow
- , subq_5.visit__ds__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.user
- , subq_5.session
- , subq_5.visit__user
- , subq_5.visit__session
- , subq_5.referrer_id
- , subq_5.visit__referrer_id
- , subq_5.visits
- , subq_5.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -330,120 +330,120 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_7
- ) subq_8
+ ) subq_6
+ ) subq_7
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_month__month
- , subq_10.ds_month__quarter
- , subq_10.ds_month__year
- , subq_10.ds_month__extract_year
- , subq_10.ds_month__extract_quarter
- , subq_10.ds_month__extract_month
- , subq_10.buy__ds__day
- , subq_10.buy__ds__week
- , subq_10.buy__ds__month
- , subq_10.buy__ds__quarter
- , subq_10.buy__ds__year
- , subq_10.buy__ds__extract_year
- , subq_10.buy__ds__extract_quarter
- , subq_10.buy__ds__extract_month
- , subq_10.buy__ds__extract_day
- , subq_10.buy__ds__extract_dow
- , subq_10.buy__ds__extract_doy
- , subq_10.buy__ds_month__month
- , subq_10.buy__ds_month__quarter
- , subq_10.buy__ds_month__year
- , subq_10.buy__ds_month__extract_year
- , subq_10.buy__ds_month__extract_quarter
- , subq_10.buy__ds_month__extract_month
- , subq_10.metric_time__day
- , subq_10.metric_time__week
- , subq_10.metric_time__month
- , subq_10.metric_time__quarter
- , subq_10.metric_time__year
- , subq_10.metric_time__extract_year
- , subq_10.metric_time__extract_quarter
- , subq_10.metric_time__extract_month
- , subq_10.metric_time__extract_day
- , subq_10.metric_time__extract_dow
- , subq_10.metric_time__extract_doy
- , subq_10.user
- , subq_10.session_id
- , subq_10.buy__user
- , subq_10.buy__session_id
- , subq_10.buys
- , subq_10.buyers
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.ds_month__month
+ , subq_9.ds_month__quarter
+ , subq_9.ds_month__year
+ , subq_9.ds_month__extract_year
+ , subq_9.ds_month__extract_quarter
+ , subq_9.ds_month__extract_month
+ , subq_9.buy__ds__day
+ , subq_9.buy__ds__week
+ , subq_9.buy__ds__month
+ , subq_9.buy__ds__quarter
+ , subq_9.buy__ds__year
+ , subq_9.buy__ds__extract_year
+ , subq_9.buy__ds__extract_quarter
+ , subq_9.buy__ds__extract_month
+ , subq_9.buy__ds__extract_day
+ , subq_9.buy__ds__extract_dow
+ , subq_9.buy__ds__extract_doy
+ , subq_9.buy__ds_month__month
+ , subq_9.buy__ds_month__quarter
+ , subq_9.buy__ds_month__year
+ , subq_9.buy__ds_month__extract_year
+ , subq_9.buy__ds_month__extract_quarter
+ , subq_9.buy__ds_month__extract_month
+ , subq_9.metric_time__day
+ , subq_9.metric_time__week
+ , subq_9.metric_time__month
+ , subq_9.metric_time__quarter
+ , subq_9.metric_time__year
+ , subq_9.metric_time__extract_year
+ , subq_9.metric_time__extract_quarter
+ , subq_9.metric_time__extract_month
+ , subq_9.metric_time__extract_day
+ , subq_9.metric_time__extract_dow
+ , subq_9.metric_time__extract_doy
+ , subq_9.user
+ , subq_9.session_id
+ , subq_9.buy__user
+ , subq_9.buy__session_id
+ , subq_9.buys
+ , subq_9.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_month__month
- , subq_9.ds_month__quarter
- , subq_9.ds_month__year
- , subq_9.ds_month__extract_year
- , subq_9.ds_month__extract_quarter
- , subq_9.ds_month__extract_month
- , subq_9.buy__ds__day
- , subq_9.buy__ds__week
- , subq_9.buy__ds__month
- , subq_9.buy__ds__quarter
- , subq_9.buy__ds__year
- , subq_9.buy__ds__extract_year
- , subq_9.buy__ds__extract_quarter
- , subq_9.buy__ds__extract_month
- , subq_9.buy__ds__extract_day
- , subq_9.buy__ds__extract_dow
- , subq_9.buy__ds__extract_doy
- , subq_9.buy__ds_month__month
- , subq_9.buy__ds_month__quarter
- , subq_9.buy__ds_month__year
- , subq_9.buy__ds_month__extract_year
- , subq_9.buy__ds_month__extract_quarter
- , subq_9.buy__ds_month__extract_month
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.user
- , subq_9.session_id
- , subq_9.buy__user
- , subq_9.buy__session_id
- , subq_9.buys
- , subq_9.buyers
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds_month__month
+ , subq_8.ds_month__quarter
+ , subq_8.ds_month__year
+ , subq_8.ds_month__extract_year
+ , subq_8.ds_month__extract_quarter
+ , subq_8.ds_month__extract_month
+ , subq_8.buy__ds__day
+ , subq_8.buy__ds__week
+ , subq_8.buy__ds__month
+ , subq_8.buy__ds__quarter
+ , subq_8.buy__ds__year
+ , subq_8.buy__ds__extract_year
+ , subq_8.buy__ds__extract_quarter
+ , subq_8.buy__ds__extract_month
+ , subq_8.buy__ds__extract_day
+ , subq_8.buy__ds__extract_dow
+ , subq_8.buy__ds__extract_doy
+ , subq_8.buy__ds_month__month
+ , subq_8.buy__ds_month__quarter
+ , subq_8.buy__ds_month__year
+ , subq_8.buy__ds_month__extract_year
+ , subq_8.buy__ds_month__extract_quarter
+ , subq_8.buy__ds_month__extract_month
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.user
+ , subq_8.session_id
+ , subq_8.buy__user
+ , subq_8.buy__session_id
+ , subq_8.buys
+ , subq_8.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -489,21 +489,21 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
(
- subq_8.user = subq_11.user
+ subq_7.user = subq_10.user
) AND (
(
- subq_8.metric_time__day <= subq_11.metric_time__day
+ subq_7.metric_time__day <= subq_10.metric_time__day
) AND (
- subq_8.metric_time__day > subq_11.metric_time__day - INTERVAL 7 day
+ subq_7.metric_time__day > subq_10.metric_time__day - INTERVAL 7 day
)
)
- ) subq_12
- ) subq_13
- ) subq_14
- ) subq_15
-) subq_16
+ ) subq_11
+ ) subq_12
+ ) subq_13
+ ) subq_14
+) subq_15
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter_not_in_group_by__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter_not_in_group_by__plan0_optimized.sql
index ba879691a4..a9a195305a 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter_not_in_group_by__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_filter_not_in_group_by__plan0_optimized.sql
@@ -18,7 +18,7 @@ WITH sma_28019_cte AS (
)
SELECT
- COALESCE(MAX(subq_31.buys), 0) AS visit_buy_conversions
+ COALESCE(MAX(subq_30.buys), 0) AS visit_buy_conversions
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits',]
@@ -28,12 +28,14 @@ FROM (
FROM (
-- Read From CTE For node_id=sma_28019
SELECT
- visit__referrer_id
+ metric_time__day
+ , sma_28019_cte.user
+ , visit__referrer_id
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_18
+ ) subq_17
WHERE visit__referrer_id = 'ref_id_01'
-) subq_21
+) subq_20
CROSS JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys',]
@@ -43,46 +45,46 @@ CROSS JOIN (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_24.visits) OVER (
+ FIRST_VALUE(subq_23.visits) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_24.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_23.visit__referrer_id) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_24.metric_time__day) OVER (
+ , FIRST_VALUE(subq_23.metric_time__day) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_24.user) OVER (
+ , FIRST_VALUE(subq_23.user) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_27.mf_internal_uuid AS mf_internal_uuid
- , subq_27.buys AS buys
+ , subq_26.mf_internal_uuid AS mf_internal_uuid
+ , subq_26.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
metric_time__day
- , subq_22.user
+ , subq_21.user
, visit__referrer_id
, visits
FROM (
@@ -93,9 +95,9 @@ CROSS JOIN (
, visit__referrer_id
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_22
+ ) subq_21
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_24
+ ) subq_23
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -106,16 +108,16 @@ CROSS JOIN (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_27
+ ) subq_26
ON
(
- subq_24.user = subq_27.user
+ subq_23.user = subq_26.user
) AND (
(
- subq_24.metric_time__day <= subq_27.metric_time__day
+ subq_23.metric_time__day <= subq_26.metric_time__day
) AND (
- subq_24.metric_time__day > subq_27.metric_time__day - INTERVAL 7 day
+ subq_23.metric_time__day > subq_26.metric_time__day - INTERVAL 7 day
)
)
- ) subq_28
-) subq_31
+ ) subq_27
+) subq_30
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_time_constraint__plan0.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_time_constraint__plan0.sql
index 69a25cd489..2ce2879993 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_time_constraint__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_time_constraint__plan0.sql
@@ -6,156 +6,156 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.visit__referrer_id
- , CAST(subq_18.buys AS DOUBLE) / CAST(NULLIF(subq_18.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
+ subq_17.visit__referrer_id
+ , CAST(subq_17.buys AS DOUBLE) / CAST(NULLIF(subq_17.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.visit__referrer_id, subq_17.visit__referrer_id) AS visit__referrer_id
- , MAX(subq_5.visits) AS visits
- , MAX(subq_17.buys) AS buys
+ COALESCE(subq_6.visit__referrer_id, subq_16.visit__referrer_id) AS visit__referrer_id
+ , MAX(subq_6.visits) AS visits
+ , MAX(subq_16.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
- subq_4.visit__referrer_id
- , SUM(subq_4.visits) AS visits
+ subq_5.visit__referrer_id
+ , SUM(subq_5.visits) AS visits
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id']
SELECT
- subq_3.visit__referrer_id
- , subq_3.visits
+ subq_4.visit__referrer_id
+ , subq_4.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.visit__ds__day
- , subq_2.visit__ds__week
- , subq_2.visit__ds__month
- , subq_2.visit__ds__quarter
- , subq_2.visit__ds__year
- , subq_2.visit__ds__extract_year
- , subq_2.visit__ds__extract_quarter
- , subq_2.visit__ds__extract_month
- , subq_2.visit__ds__extract_day
- , subq_2.visit__ds__extract_dow
- , subq_2.visit__ds__extract_doy
- , subq_2.metric_time__day
- , subq_2.metric_time__week
- , subq_2.metric_time__month
- , subq_2.metric_time__quarter
- , subq_2.metric_time__year
- , subq_2.metric_time__extract_year
- , subq_2.metric_time__extract_quarter
- , subq_2.metric_time__extract_month
- , subq_2.metric_time__extract_day
- , subq_2.metric_time__extract_dow
- , subq_2.metric_time__extract_doy
- , subq_2.user
- , subq_2.session
- , subq_2.visit__user
- , subq_2.visit__session
- , subq_2.referrer_id
- , subq_2.visit__referrer_id
- , subq_2.visits
- , subq_2.visitors
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.visit__ds__day
+ , subq_3.visit__ds__week
+ , subq_3.visit__ds__month
+ , subq_3.visit__ds__quarter
+ , subq_3.visit__ds__year
+ , subq_3.visit__ds__extract_year
+ , subq_3.visit__ds__extract_quarter
+ , subq_3.visit__ds__extract_month
+ , subq_3.visit__ds__extract_day
+ , subq_3.visit__ds__extract_dow
+ , subq_3.visit__ds__extract_doy
+ , subq_3.metric_time__day
+ , subq_3.metric_time__week
+ , subq_3.metric_time__month
+ , subq_3.metric_time__quarter
+ , subq_3.metric_time__year
+ , subq_3.metric_time__extract_year
+ , subq_3.metric_time__extract_quarter
+ , subq_3.metric_time__extract_month
+ , subq_3.metric_time__extract_day
+ , subq_3.metric_time__extract_dow
+ , subq_3.metric_time__extract_doy
+ , subq_3.user
+ , subq_3.session
+ , subq_3.visit__user
+ , subq_3.visit__session
+ , subq_3.referrer_id
+ , subq_3.visit__referrer_id
+ , subq_3.visits
+ , subq_3.visitors
FROM (
-- Constrain Time Range to [2020-01-01T00:00:00, 2020-01-02T00:00:00]
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.visit__ds__day
- , subq_1.visit__ds__week
- , subq_1.visit__ds__month
- , subq_1.visit__ds__quarter
- , subq_1.visit__ds__year
- , subq_1.visit__ds__extract_year
- , subq_1.visit__ds__extract_quarter
- , subq_1.visit__ds__extract_month
- , subq_1.visit__ds__extract_day
- , subq_1.visit__ds__extract_dow
- , subq_1.visit__ds__extract_doy
- , subq_1.metric_time__day
- , subq_1.metric_time__week
- , subq_1.metric_time__month
- , subq_1.metric_time__quarter
- , subq_1.metric_time__year
- , subq_1.metric_time__extract_year
- , subq_1.metric_time__extract_quarter
- , subq_1.metric_time__extract_month
- , subq_1.metric_time__extract_day
- , subq_1.metric_time__extract_dow
- , subq_1.metric_time__extract_doy
- , subq_1.user
- , subq_1.session
- , subq_1.visit__user
- , subq_1.visit__session
- , subq_1.referrer_id
- , subq_1.visit__referrer_id
- , subq_1.visits
- , subq_1.visitors
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.visit__ds__day
+ , subq_2.visit__ds__week
+ , subq_2.visit__ds__month
+ , subq_2.visit__ds__quarter
+ , subq_2.visit__ds__year
+ , subq_2.visit__ds__extract_year
+ , subq_2.visit__ds__extract_quarter
+ , subq_2.visit__ds__extract_month
+ , subq_2.visit__ds__extract_day
+ , subq_2.visit__ds__extract_dow
+ , subq_2.visit__ds__extract_doy
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.user
+ , subq_2.session
+ , subq_2.visit__user
+ , subq_2.visit__session
+ , subq_2.referrer_id
+ , subq_2.visit__referrer_id
+ , subq_2.visits
+ , subq_2.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.visit__ds__day
- , subq_0.visit__ds__week
- , subq_0.visit__ds__month
- , subq_0.visit__ds__quarter
- , subq_0.visit__ds__year
- , subq_0.visit__ds__extract_year
- , subq_0.visit__ds__extract_quarter
- , subq_0.visit__ds__extract_month
- , subq_0.visit__ds__extract_day
- , subq_0.visit__ds__extract_dow
- , subq_0.visit__ds__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.user
- , subq_0.session
- , subq_0.visit__user
- , subq_0.visit__session
- , subq_0.referrer_id
- , subq_0.visit__referrer_id
- , subq_0.visits
- , subq_0.visitors
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.visit__ds__day
+ , subq_1.visit__ds__week
+ , subq_1.visit__ds__month
+ , subq_1.visit__ds__quarter
+ , subq_1.visit__ds__year
+ , subq_1.visit__ds__extract_year
+ , subq_1.visit__ds__extract_quarter
+ , subq_1.visit__ds__extract_month
+ , subq_1.visit__ds__extract_day
+ , subq_1.visit__ds__extract_dow
+ , subq_1.visit__ds__extract_doy
+ , subq_1.ds__day AS metric_time__day
+ , subq_1.ds__week AS metric_time__week
+ , subq_1.ds__month AS metric_time__month
+ , subq_1.ds__quarter AS metric_time__quarter
+ , subq_1.ds__year AS metric_time__year
+ , subq_1.ds__extract_year AS metric_time__extract_year
+ , subq_1.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_1.ds__extract_month AS metric_time__extract_month
+ , subq_1.ds__extract_day AS metric_time__extract_day
+ , subq_1.ds__extract_dow AS metric_time__extract_dow
+ , subq_1.ds__extract_doy AS metric_time__extract_doy
+ , subq_1.user
+ , subq_1.session
+ , subq_1.visit__user
+ , subq_1.visit__session
+ , subq_1.referrer_id
+ , subq_1.visit__referrer_id
+ , subq_1.visits
+ , subq_1.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -190,210 +190,210 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_0
- ) subq_1
- WHERE subq_1.metric_time__day BETWEEN '2020-01-01' AND '2020-01-02'
- ) subq_2
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__day BETWEEN '2020-01-01' AND '2020-01-02'
+ ) subq_3
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_3
- ) subq_4
+ ) subq_4
+ ) subq_5
GROUP BY
- subq_4.visit__referrer_id
- ) subq_5
+ subq_5.visit__referrer_id
+ ) subq_6
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_16.visit__referrer_id
- , SUM(subq_16.buys) AS buys
+ subq_15.visit__referrer_id
+ , SUM(subq_15.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'visit__referrer_id']
SELECT
- subq_15.visit__referrer_id
- , subq_15.buys
+ subq_14.visit__referrer_id
+ , subq_14.buys
FROM (
-- Find conversions for user within the range of INF
SELECT
- subq_14.metric_time__day
- , subq_14.user
- , subq_14.visit__referrer_id
- , subq_14.buys
- , subq_14.visits
+ subq_13.metric_time__day
+ , subq_13.user
+ , subq_13.visit__referrer_id
+ , subq_13.buys
+ , subq_13.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_10.visits) OVER (
+ FIRST_VALUE(subq_9.visits) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_10.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_9.visit__referrer_id) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_10.metric_time__day) OVER (
+ , FIRST_VALUE(subq_9.metric_time__day) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_10.user) OVER (
+ , FIRST_VALUE(subq_9.user) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_13.mf_internal_uuid AS mf_internal_uuid
- , subq_13.buys AS buys
+ , subq_12.mf_internal_uuid AS mf_internal_uuid
+ , subq_12.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
- subq_9.metric_time__day
- , subq_9.user
- , subq_9.visit__referrer_id
- , subq_9.visits
+ subq_8.metric_time__day
+ , subq_8.user
+ , subq_8.visit__referrer_id
+ , subq_8.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.visit__ds__day
- , subq_8.visit__ds__week
- , subq_8.visit__ds__month
- , subq_8.visit__ds__quarter
- , subq_8.visit__ds__year
- , subq_8.visit__ds__extract_year
- , subq_8.visit__ds__extract_quarter
- , subq_8.visit__ds__extract_month
- , subq_8.visit__ds__extract_day
- , subq_8.visit__ds__extract_dow
- , subq_8.visit__ds__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session
- , subq_8.visit__user
- , subq_8.visit__session
- , subq_8.referrer_id
- , subq_8.visit__referrer_id
- , subq_8.visits
- , subq_8.visitors
+ subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.visit__ds__day
+ , subq_7.visit__ds__week
+ , subq_7.visit__ds__month
+ , subq_7.visit__ds__quarter
+ , subq_7.visit__ds__year
+ , subq_7.visit__ds__extract_year
+ , subq_7.visit__ds__extract_quarter
+ , subq_7.visit__ds__extract_month
+ , subq_7.visit__ds__extract_day
+ , subq_7.visit__ds__extract_dow
+ , subq_7.visit__ds__extract_doy
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session
+ , subq_7.visit__user
+ , subq_7.visit__session
+ , subq_7.referrer_id
+ , subq_7.visit__referrer_id
+ , subq_7.visits
+ , subq_7.visitors
FROM (
-- Constrain Time Range to [2020-01-01T00:00:00, 2020-01-02T00:00:00]
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.visit__ds__day
- , subq_7.visit__ds__week
- , subq_7.visit__ds__month
- , subq_7.visit__ds__quarter
- , subq_7.visit__ds__year
- , subq_7.visit__ds__extract_year
- , subq_7.visit__ds__extract_quarter
- , subq_7.visit__ds__extract_month
- , subq_7.visit__ds__extract_day
- , subq_7.visit__ds__extract_dow
- , subq_7.visit__ds__extract_doy
- , subq_7.metric_time__day
- , subq_7.metric_time__week
- , subq_7.metric_time__month
- , subq_7.metric_time__quarter
- , subq_7.metric_time__year
- , subq_7.metric_time__extract_year
- , subq_7.metric_time__extract_quarter
- , subq_7.metric_time__extract_month
- , subq_7.metric_time__extract_day
- , subq_7.metric_time__extract_dow
- , subq_7.metric_time__extract_doy
- , subq_7.user
- , subq_7.session
- , subq_7.visit__user
- , subq_7.visit__session
- , subq_7.referrer_id
- , subq_7.visit__referrer_id
- , subq_7.visits
- , subq_7.visitors
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.visit__ds__day
+ , subq_2.visit__ds__week
+ , subq_2.visit__ds__month
+ , subq_2.visit__ds__quarter
+ , subq_2.visit__ds__year
+ , subq_2.visit__ds__extract_year
+ , subq_2.visit__ds__extract_quarter
+ , subq_2.visit__ds__extract_month
+ , subq_2.visit__ds__extract_day
+ , subq_2.visit__ds__extract_dow
+ , subq_2.visit__ds__extract_doy
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.user
+ , subq_2.session
+ , subq_2.visit__user
+ , subq_2.visit__session
+ , subq_2.referrer_id
+ , subq_2.visit__referrer_id
+ , subq_2.visits
+ , subq_2.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.visit__ds__day
- , subq_6.visit__ds__week
- , subq_6.visit__ds__month
- , subq_6.visit__ds__quarter
- , subq_6.visit__ds__year
- , subq_6.visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month
- , subq_6.visit__ds__extract_day
- , subq_6.visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.user
- , subq_6.session
- , subq_6.visit__user
- , subq_6.visit__session
- , subq_6.referrer_id
- , subq_6.visit__referrer_id
- , subq_6.visits
- , subq_6.visitors
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.visit__ds__day
+ , subq_1.visit__ds__week
+ , subq_1.visit__ds__month
+ , subq_1.visit__ds__quarter
+ , subq_1.visit__ds__year
+ , subq_1.visit__ds__extract_year
+ , subq_1.visit__ds__extract_quarter
+ , subq_1.visit__ds__extract_month
+ , subq_1.visit__ds__extract_day
+ , subq_1.visit__ds__extract_dow
+ , subq_1.visit__ds__extract_doy
+ , subq_1.ds__day AS metric_time__day
+ , subq_1.ds__week AS metric_time__week
+ , subq_1.ds__month AS metric_time__month
+ , subq_1.ds__quarter AS metric_time__quarter
+ , subq_1.ds__year AS metric_time__year
+ , subq_1.ds__extract_year AS metric_time__extract_year
+ , subq_1.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_1.ds__extract_month AS metric_time__extract_month
+ , subq_1.ds__extract_day AS metric_time__extract_day
+ , subq_1.ds__extract_dow AS metric_time__extract_dow
+ , subq_1.ds__extract_doy AS metric_time__extract_doy
+ , subq_1.user
+ , subq_1.session
+ , subq_1.visit__user
+ , subq_1.visit__session
+ , subq_1.referrer_id
+ , subq_1.visit__referrer_id
+ , subq_1.visits
+ , subq_1.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -428,122 +428,122 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_6
- ) subq_7
- WHERE subq_7.metric_time__day BETWEEN '2020-01-01' AND '2020-01-02'
- ) subq_8
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__day BETWEEN '2020-01-01' AND '2020-01-02'
+ ) subq_7
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_9
- ) subq_10
+ ) subq_8
+ ) subq_9
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.ds_month__month
- , subq_12.ds_month__quarter
- , subq_12.ds_month__year
- , subq_12.ds_month__extract_year
- , subq_12.ds_month__extract_quarter
- , subq_12.ds_month__extract_month
- , subq_12.buy__ds__day
- , subq_12.buy__ds__week
- , subq_12.buy__ds__month
- , subq_12.buy__ds__quarter
- , subq_12.buy__ds__year
- , subq_12.buy__ds__extract_year
- , subq_12.buy__ds__extract_quarter
- , subq_12.buy__ds__extract_month
- , subq_12.buy__ds__extract_day
- , subq_12.buy__ds__extract_dow
- , subq_12.buy__ds__extract_doy
- , subq_12.buy__ds_month__month
- , subq_12.buy__ds_month__quarter
- , subq_12.buy__ds_month__year
- , subq_12.buy__ds_month__extract_year
- , subq_12.buy__ds_month__extract_quarter
- , subq_12.buy__ds_month__extract_month
- , subq_12.metric_time__day
- , subq_12.metric_time__week
- , subq_12.metric_time__month
- , subq_12.metric_time__quarter
- , subq_12.metric_time__year
- , subq_12.metric_time__extract_year
- , subq_12.metric_time__extract_quarter
- , subq_12.metric_time__extract_month
- , subq_12.metric_time__extract_day
- , subq_12.metric_time__extract_dow
- , subq_12.metric_time__extract_doy
- , subq_12.user
- , subq_12.session_id
- , subq_12.buy__user
- , subq_12.buy__session_id
- , subq_12.buys
- , subq_12.buyers
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds_month__month
+ , subq_11.ds_month__quarter
+ , subq_11.ds_month__year
+ , subq_11.ds_month__extract_year
+ , subq_11.ds_month__extract_quarter
+ , subq_11.ds_month__extract_month
+ , subq_11.buy__ds__day
+ , subq_11.buy__ds__week
+ , subq_11.buy__ds__month
+ , subq_11.buy__ds__quarter
+ , subq_11.buy__ds__year
+ , subq_11.buy__ds__extract_year
+ , subq_11.buy__ds__extract_quarter
+ , subq_11.buy__ds__extract_month
+ , subq_11.buy__ds__extract_day
+ , subq_11.buy__ds__extract_dow
+ , subq_11.buy__ds__extract_doy
+ , subq_11.buy__ds_month__month
+ , subq_11.buy__ds_month__quarter
+ , subq_11.buy__ds_month__year
+ , subq_11.buy__ds_month__extract_year
+ , subq_11.buy__ds_month__extract_quarter
+ , subq_11.buy__ds_month__extract_month
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.user
+ , subq_11.session_id
+ , subq_11.buy__user
+ , subq_11.buy__session_id
+ , subq_11.buys
+ , subq_11.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_11.ds__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds_month__month
- , subq_11.ds_month__quarter
- , subq_11.ds_month__year
- , subq_11.ds_month__extract_year
- , subq_11.ds_month__extract_quarter
- , subq_11.ds_month__extract_month
- , subq_11.buy__ds__day
- , subq_11.buy__ds__week
- , subq_11.buy__ds__month
- , subq_11.buy__ds__quarter
- , subq_11.buy__ds__year
- , subq_11.buy__ds__extract_year
- , subq_11.buy__ds__extract_quarter
- , subq_11.buy__ds__extract_month
- , subq_11.buy__ds__extract_day
- , subq_11.buy__ds__extract_dow
- , subq_11.buy__ds__extract_doy
- , subq_11.buy__ds_month__month
- , subq_11.buy__ds_month__quarter
- , subq_11.buy__ds_month__year
- , subq_11.buy__ds_month__extract_year
- , subq_11.buy__ds_month__extract_quarter
- , subq_11.buy__ds_month__extract_month
- , subq_11.ds__day AS metric_time__day
- , subq_11.ds__week AS metric_time__week
- , subq_11.ds__month AS metric_time__month
- , subq_11.ds__quarter AS metric_time__quarter
- , subq_11.ds__year AS metric_time__year
- , subq_11.ds__extract_year AS metric_time__extract_year
- , subq_11.ds__extract_quarter AS metric_time__extract_quarter
- , subq_11.ds__extract_month AS metric_time__extract_month
- , subq_11.ds__extract_day AS metric_time__extract_day
- , subq_11.ds__extract_dow AS metric_time__extract_dow
- , subq_11.ds__extract_doy AS metric_time__extract_doy
- , subq_11.user
- , subq_11.session_id
- , subq_11.buy__user
- , subq_11.buy__session_id
- , subq_11.buys
- , subq_11.buyers
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_month__month
+ , subq_10.ds_month__quarter
+ , subq_10.ds_month__year
+ , subq_10.ds_month__extract_year
+ , subq_10.ds_month__extract_quarter
+ , subq_10.ds_month__extract_month
+ , subq_10.buy__ds__day
+ , subq_10.buy__ds__week
+ , subq_10.buy__ds__month
+ , subq_10.buy__ds__quarter
+ , subq_10.buy__ds__year
+ , subq_10.buy__ds__extract_year
+ , subq_10.buy__ds__extract_quarter
+ , subq_10.buy__ds__extract_month
+ , subq_10.buy__ds__extract_day
+ , subq_10.buy__ds__extract_dow
+ , subq_10.buy__ds__extract_doy
+ , subq_10.buy__ds_month__month
+ , subq_10.buy__ds_month__quarter
+ , subq_10.buy__ds_month__year
+ , subq_10.buy__ds_month__extract_year
+ , subq_10.buy__ds_month__extract_quarter
+ , subq_10.buy__ds_month__extract_month
+ , subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week AS metric_time__week
+ , subq_10.ds__month AS metric_time__month
+ , subq_10.ds__quarter AS metric_time__quarter
+ , subq_10.ds__year AS metric_time__year
+ , subq_10.ds__extract_year AS metric_time__extract_year
+ , subq_10.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_10.ds__extract_month AS metric_time__extract_month
+ , subq_10.ds__extract_day AS metric_time__extract_day
+ , subq_10.ds__extract_dow AS metric_time__extract_dow
+ , subq_10.ds__extract_doy AS metric_time__extract_doy
+ , subq_10.user
+ , subq_10.session_id
+ , subq_10.buy__user
+ , subq_10.buy__session_id
+ , subq_10.buys
+ , subq_10.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -589,23 +589,23 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_10
+ ) subq_11
+ ) subq_12
ON
(
- subq_10.user = subq_13.user
+ subq_9.user = subq_12.user
) AND (
- (subq_10.metric_time__day <= subq_13.metric_time__day)
+ (subq_9.metric_time__day <= subq_12.metric_time__day)
)
- ) subq_14
- ) subq_15
- ) subq_16
+ ) subq_13
+ ) subq_14
+ ) subq_15
GROUP BY
- subq_16.visit__referrer_id
- ) subq_17
+ subq_15.visit__referrer_id
+ ) subq_16
ON
- subq_5.visit__referrer_id = subq_17.visit__referrer_id
+ subq_6.visit__referrer_id = subq_16.visit__referrer_id
GROUP BY
- COALESCE(subq_5.visit__referrer_id, subq_17.visit__referrer_id)
-) subq_18
+ COALESCE(subq_6.visit__referrer_id, subq_16.visit__referrer_id)
+) subq_17
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_time_constraint__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_time_constraint__plan0_optimized.sql
index 729f9a1754..3a21294328 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_time_constraint__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_time_constraint__plan0_optimized.sql
@@ -24,9 +24,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_24.visit__referrer_id, subq_34.visit__referrer_id) AS visit__referrer_id
- , MAX(subq_24.visits) AS visits
- , MAX(subq_34.buys) AS buys
+ COALESCE(subq_23.visit__referrer_id, subq_33.visit__referrer_id) AS visit__referrer_id
+ , MAX(subq_23.visits) AS visits
+ , MAX(subq_33.buys) AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'visit__referrer_id']
@@ -37,14 +37,16 @@ FROM (
FROM (
-- Read From CTE For node_id=ctr_0
SELECT
- visit__referrer_id
+ metric_time__day
+ , ctr_0_cte.user
+ , visit__referrer_id
, visits
FROM ctr_0_cte ctr_0_cte
- ) subq_21
+ ) subq_20
WHERE visit__referrer_id = 'ref_id_01'
GROUP BY
visit__referrer_id
- ) subq_24
+ ) subq_23
FULL OUTER JOIN (
-- Find conversions for user within the range of INF
-- Pass Only Elements: ['buys', 'visit__referrer_id']
@@ -55,46 +57,46 @@ FROM (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_27.visits) OVER (
+ FIRST_VALUE(subq_26.visits) OVER (
PARTITION BY
- subq_30.user
- , subq_30.metric_time__day
- , subq_30.mf_internal_uuid
- ORDER BY subq_27.metric_time__day DESC
+ subq_29.user
+ , subq_29.metric_time__day
+ , subq_29.mf_internal_uuid
+ ORDER BY subq_26.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_27.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_26.visit__referrer_id) OVER (
PARTITION BY
- subq_30.user
- , subq_30.metric_time__day
- , subq_30.mf_internal_uuid
- ORDER BY subq_27.metric_time__day DESC
+ subq_29.user
+ , subq_29.metric_time__day
+ , subq_29.mf_internal_uuid
+ ORDER BY subq_26.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_27.metric_time__day) OVER (
+ , FIRST_VALUE(subq_26.metric_time__day) OVER (
PARTITION BY
- subq_30.user
- , subq_30.metric_time__day
- , subq_30.mf_internal_uuid
- ORDER BY subq_27.metric_time__day DESC
+ subq_29.user
+ , subq_29.metric_time__day
+ , subq_29.mf_internal_uuid
+ ORDER BY subq_26.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_27.user) OVER (
+ , FIRST_VALUE(subq_26.user) OVER (
PARTITION BY
- subq_30.user
- , subq_30.metric_time__day
- , subq_30.mf_internal_uuid
- ORDER BY subq_27.metric_time__day DESC
+ subq_29.user
+ , subq_29.metric_time__day
+ , subq_29.mf_internal_uuid
+ ORDER BY subq_26.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_30.mf_internal_uuid AS mf_internal_uuid
- , subq_30.buys AS buys
+ , subq_29.mf_internal_uuid AS mf_internal_uuid
+ , subq_29.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
metric_time__day
- , subq_25.user
+ , subq_24.user
, visit__referrer_id
, visits
FROM (
@@ -105,9 +107,9 @@ FROM (
, visit__referrer_id
, visits
FROM ctr_0_cte ctr_0_cte
- ) subq_25
+ ) subq_24
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_27
+ ) subq_26
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -118,19 +120,19 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_30
+ ) subq_29
ON
(
- subq_27.user = subq_30.user
+ subq_26.user = subq_29.user
) AND (
- (subq_27.metric_time__day <= subq_30.metric_time__day)
+ (subq_26.metric_time__day <= subq_29.metric_time__day)
)
- ) subq_31
+ ) subq_30
GROUP BY
visit__referrer_id
- ) subq_34
+ ) subq_33
ON
- subq_24.visit__referrer_id = subq_34.visit__referrer_id
+ subq_23.visit__referrer_id = subq_33.visit__referrer_id
GROUP BY
- COALESCE(subq_24.visit__referrer_id, subq_34.visit__referrer_id)
-) subq_35
+ COALESCE(subq_23.visit__referrer_id, subq_33.visit__referrer_id)
+) subq_34
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window__plan0.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window__plan0.sql
index d789205699..bba7e9e07e 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window__plan0.sql
@@ -6,14 +6,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__day
- , CAST(subq_16.buys AS DOUBLE) / CAST(NULLIF(subq_16.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ subq_15.metric_time__day
+ , CAST(subq_15.buys AS DOUBLE) / CAST(NULLIF(subq_15.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__day, subq_15.metric_time__day) AS metric_time__day
+ COALESCE(subq_4.metric_time__day, subq_14.metric_time__day) AS metric_time__day
, MAX(subq_4.visits) AS visits
- , MAX(subq_15.buys) AS buys
+ , MAX(subq_14.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -157,143 +157,143 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_14.metric_time__day
- , SUM(subq_14.buys) AS buys
+ subq_13.metric_time__day
+ , SUM(subq_13.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'metric_time__day']
SELECT
- subq_13.metric_time__day
- , subq_13.buys
+ subq_12.metric_time__day
+ , subq_12.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_12.metric_time__day
- , subq_12.user
- , subq_12.buys
- , subq_12.visits
+ subq_11.metric_time__day
+ , subq_11.user
+ , subq_11.buys
+ , subq_11.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_8.visits) OVER (
+ FIRST_VALUE(subq_7.visits) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_8.metric_time__day) OVER (
+ , FIRST_VALUE(subq_7.metric_time__day) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_8.user) OVER (
+ , FIRST_VALUE(subq_7.user) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_11.mf_internal_uuid AS mf_internal_uuid
- , subq_11.buys AS buys
+ , subq_10.mf_internal_uuid AS mf_internal_uuid
+ , subq_10.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
- subq_7.metric_time__day
- , subq_7.user
- , subq_7.visits
+ subq_6.metric_time__day
+ , subq_6.user
+ , subq_6.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.visit__ds__day
- , subq_6.visit__ds__week
- , subq_6.visit__ds__month
- , subq_6.visit__ds__quarter
- , subq_6.visit__ds__year
- , subq_6.visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month
- , subq_6.visit__ds__extract_day
- , subq_6.visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy
- , subq_6.metric_time__day
- , subq_6.metric_time__week
- , subq_6.metric_time__month
- , subq_6.metric_time__quarter
- , subq_6.metric_time__year
- , subq_6.metric_time__extract_year
- , subq_6.metric_time__extract_quarter
- , subq_6.metric_time__extract_month
- , subq_6.metric_time__extract_day
- , subq_6.metric_time__extract_dow
- , subq_6.metric_time__extract_doy
- , subq_6.user
- , subq_6.session
- , subq_6.visit__user
- , subq_6.visit__session
- , subq_6.referrer_id
- , subq_6.visit__referrer_id
- , subq_6.visits
- , subq_6.visitors
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.visit__ds__day
+ , subq_5.visit__ds__week
+ , subq_5.visit__ds__month
+ , subq_5.visit__ds__quarter
+ , subq_5.visit__ds__year
+ , subq_5.visit__ds__extract_year
+ , subq_5.visit__ds__extract_quarter
+ , subq_5.visit__ds__extract_month
+ , subq_5.visit__ds__extract_day
+ , subq_5.visit__ds__extract_dow
+ , subq_5.visit__ds__extract_doy
+ , subq_5.metric_time__day
+ , subq_5.metric_time__week
+ , subq_5.metric_time__month
+ , subq_5.metric_time__quarter
+ , subq_5.metric_time__year
+ , subq_5.metric_time__extract_year
+ , subq_5.metric_time__extract_quarter
+ , subq_5.metric_time__extract_month
+ , subq_5.metric_time__extract_day
+ , subq_5.metric_time__extract_dow
+ , subq_5.metric_time__extract_doy
+ , subq_5.user
+ , subq_5.session
+ , subq_5.visit__user
+ , subq_5.visit__session
+ , subq_5.referrer_id
+ , subq_5.visit__referrer_id
+ , subq_5.visits
+ , subq_5.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.visit__ds__day
- , subq_5.visit__ds__week
- , subq_5.visit__ds__month
- , subq_5.visit__ds__quarter
- , subq_5.visit__ds__year
- , subq_5.visit__ds__extract_year
- , subq_5.visit__ds__extract_quarter
- , subq_5.visit__ds__extract_month
- , subq_5.visit__ds__extract_day
- , subq_5.visit__ds__extract_dow
- , subq_5.visit__ds__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.user
- , subq_5.session
- , subq_5.visit__user
- , subq_5.visit__session
- , subq_5.referrer_id
- , subq_5.visit__referrer_id
- , subq_5.visits
- , subq_5.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -328,120 +328,120 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
WHERE metric_time__day = '2020-01-01'
- ) subq_7
- ) subq_8
+ ) subq_6
+ ) subq_7
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_month__month
- , subq_10.ds_month__quarter
- , subq_10.ds_month__year
- , subq_10.ds_month__extract_year
- , subq_10.ds_month__extract_quarter
- , subq_10.ds_month__extract_month
- , subq_10.buy__ds__day
- , subq_10.buy__ds__week
- , subq_10.buy__ds__month
- , subq_10.buy__ds__quarter
- , subq_10.buy__ds__year
- , subq_10.buy__ds__extract_year
- , subq_10.buy__ds__extract_quarter
- , subq_10.buy__ds__extract_month
- , subq_10.buy__ds__extract_day
- , subq_10.buy__ds__extract_dow
- , subq_10.buy__ds__extract_doy
- , subq_10.buy__ds_month__month
- , subq_10.buy__ds_month__quarter
- , subq_10.buy__ds_month__year
- , subq_10.buy__ds_month__extract_year
- , subq_10.buy__ds_month__extract_quarter
- , subq_10.buy__ds_month__extract_month
- , subq_10.metric_time__day
- , subq_10.metric_time__week
- , subq_10.metric_time__month
- , subq_10.metric_time__quarter
- , subq_10.metric_time__year
- , subq_10.metric_time__extract_year
- , subq_10.metric_time__extract_quarter
- , subq_10.metric_time__extract_month
- , subq_10.metric_time__extract_day
- , subq_10.metric_time__extract_dow
- , subq_10.metric_time__extract_doy
- , subq_10.user
- , subq_10.session_id
- , subq_10.buy__user
- , subq_10.buy__session_id
- , subq_10.buys
- , subq_10.buyers
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.ds_month__month
+ , subq_9.ds_month__quarter
+ , subq_9.ds_month__year
+ , subq_9.ds_month__extract_year
+ , subq_9.ds_month__extract_quarter
+ , subq_9.ds_month__extract_month
+ , subq_9.buy__ds__day
+ , subq_9.buy__ds__week
+ , subq_9.buy__ds__month
+ , subq_9.buy__ds__quarter
+ , subq_9.buy__ds__year
+ , subq_9.buy__ds__extract_year
+ , subq_9.buy__ds__extract_quarter
+ , subq_9.buy__ds__extract_month
+ , subq_9.buy__ds__extract_day
+ , subq_9.buy__ds__extract_dow
+ , subq_9.buy__ds__extract_doy
+ , subq_9.buy__ds_month__month
+ , subq_9.buy__ds_month__quarter
+ , subq_9.buy__ds_month__year
+ , subq_9.buy__ds_month__extract_year
+ , subq_9.buy__ds_month__extract_quarter
+ , subq_9.buy__ds_month__extract_month
+ , subq_9.metric_time__day
+ , subq_9.metric_time__week
+ , subq_9.metric_time__month
+ , subq_9.metric_time__quarter
+ , subq_9.metric_time__year
+ , subq_9.metric_time__extract_year
+ , subq_9.metric_time__extract_quarter
+ , subq_9.metric_time__extract_month
+ , subq_9.metric_time__extract_day
+ , subq_9.metric_time__extract_dow
+ , subq_9.metric_time__extract_doy
+ , subq_9.user
+ , subq_9.session_id
+ , subq_9.buy__user
+ , subq_9.buy__session_id
+ , subq_9.buys
+ , subq_9.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_month__month
- , subq_9.ds_month__quarter
- , subq_9.ds_month__year
- , subq_9.ds_month__extract_year
- , subq_9.ds_month__extract_quarter
- , subq_9.ds_month__extract_month
- , subq_9.buy__ds__day
- , subq_9.buy__ds__week
- , subq_9.buy__ds__month
- , subq_9.buy__ds__quarter
- , subq_9.buy__ds__year
- , subq_9.buy__ds__extract_year
- , subq_9.buy__ds__extract_quarter
- , subq_9.buy__ds__extract_month
- , subq_9.buy__ds__extract_day
- , subq_9.buy__ds__extract_dow
- , subq_9.buy__ds__extract_doy
- , subq_9.buy__ds_month__month
- , subq_9.buy__ds_month__quarter
- , subq_9.buy__ds_month__year
- , subq_9.buy__ds_month__extract_year
- , subq_9.buy__ds_month__extract_quarter
- , subq_9.buy__ds_month__extract_month
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.user
- , subq_9.session_id
- , subq_9.buy__user
- , subq_9.buy__session_id
- , subq_9.buys
- , subq_9.buyers
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds_month__month
+ , subq_8.ds_month__quarter
+ , subq_8.ds_month__year
+ , subq_8.ds_month__extract_year
+ , subq_8.ds_month__extract_quarter
+ , subq_8.ds_month__extract_month
+ , subq_8.buy__ds__day
+ , subq_8.buy__ds__week
+ , subq_8.buy__ds__month
+ , subq_8.buy__ds__quarter
+ , subq_8.buy__ds__year
+ , subq_8.buy__ds__extract_year
+ , subq_8.buy__ds__extract_quarter
+ , subq_8.buy__ds__extract_month
+ , subq_8.buy__ds__extract_day
+ , subq_8.buy__ds__extract_dow
+ , subq_8.buy__ds__extract_doy
+ , subq_8.buy__ds_month__month
+ , subq_8.buy__ds_month__quarter
+ , subq_8.buy__ds_month__year
+ , subq_8.buy__ds_month__extract_year
+ , subq_8.buy__ds_month__extract_quarter
+ , subq_8.buy__ds_month__extract_month
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.user
+ , subq_8.session_id
+ , subq_8.buy__user
+ , subq_8.buy__session_id
+ , subq_8.buys
+ , subq_8.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -487,27 +487,27 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
(
- subq_8.user = subq_11.user
+ subq_7.user = subq_10.user
) AND (
(
- subq_8.metric_time__day <= subq_11.metric_time__day
+ subq_7.metric_time__day <= subq_10.metric_time__day
) AND (
- subq_8.metric_time__day > subq_11.metric_time__day - INTERVAL 7 day
+ subq_7.metric_time__day > subq_10.metric_time__day - INTERVAL 7 day
)
)
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_11
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_14.metric_time__day
- ) subq_15
+ subq_13.metric_time__day
+ ) subq_14
ON
- subq_4.metric_time__day = subq_15.metric_time__day
+ subq_4.metric_time__day = subq_14.metric_time__day
GROUP BY
- COALESCE(subq_4.metric_time__day, subq_15.metric_time__day)
-) subq_16
+ COALESCE(subq_4.metric_time__day, subq_14.metric_time__day)
+) subq_15
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window__plan0_optimized.sql
index 48ca2a9235..6236b822b5 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window__plan0_optimized.sql
@@ -21,9 +21,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_21.metric_time__day, subq_31.metric_time__day) AS metric_time__day
- , MAX(subq_21.visits) AS visits
- , MAX(subq_31.buys) AS buys
+ COALESCE(subq_20.metric_time__day, subq_30.metric_time__day) AS metric_time__day
+ , MAX(subq_20.visits) AS visits
+ , MAX(subq_30.buys) AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'metric_time__day']
@@ -35,13 +35,14 @@ FROM (
-- Read From CTE For node_id=sma_28019
SELECT
metric_time__day
+ , sma_28019_cte.user
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_18
+ ) subq_17
WHERE metric_time__day = '2020-01-01'
GROUP BY
metric_time__day
- ) subq_21
+ ) subq_20
FULL OUTER JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys', 'metric_time__day']
@@ -52,38 +53,38 @@ FROM (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_24.visits) OVER (
+ FIRST_VALUE(subq_23.visits) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_24.metric_time__day) OVER (
+ , FIRST_VALUE(subq_23.metric_time__day) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_24.user) OVER (
+ , FIRST_VALUE(subq_23.user) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_27.mf_internal_uuid AS mf_internal_uuid
- , subq_27.buys AS buys
+ , subq_26.mf_internal_uuid AS mf_internal_uuid
+ , subq_26.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
metric_time__day
- , subq_22.user
+ , subq_21.user
, visits
FROM (
-- Read From CTE For node_id=sma_28019
@@ -92,9 +93,9 @@ FROM (
, sma_28019_cte.user
, visits
FROM sma_28019_cte sma_28019_cte
- ) subq_22
+ ) subq_21
WHERE metric_time__day = '2020-01-01'
- ) subq_24
+ ) subq_23
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -105,23 +106,23 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_27
+ ) subq_26
ON
(
- subq_24.user = subq_27.user
+ subq_23.user = subq_26.user
) AND (
(
- subq_24.metric_time__day <= subq_27.metric_time__day
+ subq_23.metric_time__day <= subq_26.metric_time__day
) AND (
- subq_24.metric_time__day > subq_27.metric_time__day - INTERVAL 7 day
+ subq_23.metric_time__day > subq_26.metric_time__day - INTERVAL 7 day
)
)
- ) subq_28
+ ) subq_27
GROUP BY
metric_time__day
- ) subq_31
+ ) subq_30
ON
- subq_21.metric_time__day = subq_31.metric_time__day
+ subq_20.metric_time__day = subq_30.metric_time__day
GROUP BY
- COALESCE(subq_21.metric_time__day, subq_31.metric_time__day)
-) subq_32
+ COALESCE(subq_20.metric_time__day, subq_30.metric_time__day)
+) subq_31
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window_and_time_constraint__plan0.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window_and_time_constraint__plan0.sql
index 198f58f891..250a1d5f32 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window_and_time_constraint__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window_and_time_constraint__plan0.sql
@@ -6,160 +6,160 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.metric_time__day
- , subq_18.visit__referrer_id
- , CAST(subq_18.buys AS DOUBLE) / CAST(NULLIF(subq_18.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ subq_17.metric_time__day
+ , subq_17.visit__referrer_id
+ , CAST(subq_17.buys AS DOUBLE) / CAST(NULLIF(subq_17.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.metric_time__day, subq_17.metric_time__day) AS metric_time__day
- , COALESCE(subq_5.visit__referrer_id, subq_17.visit__referrer_id) AS visit__referrer_id
- , MAX(subq_5.visits) AS visits
- , MAX(subq_17.buys) AS buys
+ COALESCE(subq_6.metric_time__day, subq_16.metric_time__day) AS metric_time__day
+ , COALESCE(subq_6.visit__referrer_id, subq_16.visit__referrer_id) AS visit__referrer_id
+ , MAX(subq_6.visits) AS visits
+ , MAX(subq_16.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
- subq_4.metric_time__day
- , subq_4.visit__referrer_id
- , SUM(subq_4.visits) AS visits
+ subq_5.metric_time__day
+ , subq_5.visit__referrer_id
+ , SUM(subq_5.visits) AS visits
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day']
SELECT
- subq_3.metric_time__day
- , subq_3.visit__referrer_id
- , subq_3.visits
+ subq_4.metric_time__day
+ , subq_4.visit__referrer_id
+ , subq_4.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.visit__ds__day
- , subq_2.visit__ds__week
- , subq_2.visit__ds__month
- , subq_2.visit__ds__quarter
- , subq_2.visit__ds__year
- , subq_2.visit__ds__extract_year
- , subq_2.visit__ds__extract_quarter
- , subq_2.visit__ds__extract_month
- , subq_2.visit__ds__extract_day
- , subq_2.visit__ds__extract_dow
- , subq_2.visit__ds__extract_doy
- , subq_2.metric_time__day
- , subq_2.metric_time__week
- , subq_2.metric_time__month
- , subq_2.metric_time__quarter
- , subq_2.metric_time__year
- , subq_2.metric_time__extract_year
- , subq_2.metric_time__extract_quarter
- , subq_2.metric_time__extract_month
- , subq_2.metric_time__extract_day
- , subq_2.metric_time__extract_dow
- , subq_2.metric_time__extract_doy
- , subq_2.user
- , subq_2.session
- , subq_2.visit__user
- , subq_2.visit__session
- , subq_2.referrer_id
- , subq_2.visit__referrer_id
- , subq_2.visits
- , subq_2.visitors
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.visit__ds__day
+ , subq_3.visit__ds__week
+ , subq_3.visit__ds__month
+ , subq_3.visit__ds__quarter
+ , subq_3.visit__ds__year
+ , subq_3.visit__ds__extract_year
+ , subq_3.visit__ds__extract_quarter
+ , subq_3.visit__ds__extract_month
+ , subq_3.visit__ds__extract_day
+ , subq_3.visit__ds__extract_dow
+ , subq_3.visit__ds__extract_doy
+ , subq_3.metric_time__day
+ , subq_3.metric_time__week
+ , subq_3.metric_time__month
+ , subq_3.metric_time__quarter
+ , subq_3.metric_time__year
+ , subq_3.metric_time__extract_year
+ , subq_3.metric_time__extract_quarter
+ , subq_3.metric_time__extract_month
+ , subq_3.metric_time__extract_day
+ , subq_3.metric_time__extract_dow
+ , subq_3.metric_time__extract_doy
+ , subq_3.user
+ , subq_3.session
+ , subq_3.visit__user
+ , subq_3.visit__session
+ , subq_3.referrer_id
+ , subq_3.visit__referrer_id
+ , subq_3.visits
+ , subq_3.visitors
FROM (
-- Constrain Time Range to [2020-01-01T00:00:00, 2020-01-02T00:00:00]
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.visit__ds__day
- , subq_1.visit__ds__week
- , subq_1.visit__ds__month
- , subq_1.visit__ds__quarter
- , subq_1.visit__ds__year
- , subq_1.visit__ds__extract_year
- , subq_1.visit__ds__extract_quarter
- , subq_1.visit__ds__extract_month
- , subq_1.visit__ds__extract_day
- , subq_1.visit__ds__extract_dow
- , subq_1.visit__ds__extract_doy
- , subq_1.metric_time__day
- , subq_1.metric_time__week
- , subq_1.metric_time__month
- , subq_1.metric_time__quarter
- , subq_1.metric_time__year
- , subq_1.metric_time__extract_year
- , subq_1.metric_time__extract_quarter
- , subq_1.metric_time__extract_month
- , subq_1.metric_time__extract_day
- , subq_1.metric_time__extract_dow
- , subq_1.metric_time__extract_doy
- , subq_1.user
- , subq_1.session
- , subq_1.visit__user
- , subq_1.visit__session
- , subq_1.referrer_id
- , subq_1.visit__referrer_id
- , subq_1.visits
- , subq_1.visitors
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.visit__ds__day
+ , subq_2.visit__ds__week
+ , subq_2.visit__ds__month
+ , subq_2.visit__ds__quarter
+ , subq_2.visit__ds__year
+ , subq_2.visit__ds__extract_year
+ , subq_2.visit__ds__extract_quarter
+ , subq_2.visit__ds__extract_month
+ , subq_2.visit__ds__extract_day
+ , subq_2.visit__ds__extract_dow
+ , subq_2.visit__ds__extract_doy
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.user
+ , subq_2.session
+ , subq_2.visit__user
+ , subq_2.visit__session
+ , subq_2.referrer_id
+ , subq_2.visit__referrer_id
+ , subq_2.visits
+ , subq_2.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.visit__ds__day
- , subq_0.visit__ds__week
- , subq_0.visit__ds__month
- , subq_0.visit__ds__quarter
- , subq_0.visit__ds__year
- , subq_0.visit__ds__extract_year
- , subq_0.visit__ds__extract_quarter
- , subq_0.visit__ds__extract_month
- , subq_0.visit__ds__extract_day
- , subq_0.visit__ds__extract_dow
- , subq_0.visit__ds__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.user
- , subq_0.session
- , subq_0.visit__user
- , subq_0.visit__session
- , subq_0.referrer_id
- , subq_0.visit__referrer_id
- , subq_0.visits
- , subq_0.visitors
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.visit__ds__day
+ , subq_1.visit__ds__week
+ , subq_1.visit__ds__month
+ , subq_1.visit__ds__quarter
+ , subq_1.visit__ds__year
+ , subq_1.visit__ds__extract_year
+ , subq_1.visit__ds__extract_quarter
+ , subq_1.visit__ds__extract_month
+ , subq_1.visit__ds__extract_day
+ , subq_1.visit__ds__extract_dow
+ , subq_1.visit__ds__extract_doy
+ , subq_1.ds__day AS metric_time__day
+ , subq_1.ds__week AS metric_time__week
+ , subq_1.ds__month AS metric_time__month
+ , subq_1.ds__quarter AS metric_time__quarter
+ , subq_1.ds__year AS metric_time__year
+ , subq_1.ds__extract_year AS metric_time__extract_year
+ , subq_1.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_1.ds__extract_month AS metric_time__extract_month
+ , subq_1.ds__extract_day AS metric_time__extract_day
+ , subq_1.ds__extract_dow AS metric_time__extract_dow
+ , subq_1.ds__extract_doy AS metric_time__extract_doy
+ , subq_1.user
+ , subq_1.session
+ , subq_1.visit__user
+ , subq_1.visit__session
+ , subq_1.referrer_id
+ , subq_1.visit__referrer_id
+ , subq_1.visits
+ , subq_1.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -194,213 +194,213 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_0
- ) subq_1
- WHERE subq_1.metric_time__day BETWEEN '2020-01-01' AND '2020-01-02'
- ) subq_2
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__day BETWEEN '2020-01-01' AND '2020-01-02'
+ ) subq_3
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_3
- ) subq_4
+ ) subq_4
+ ) subq_5
GROUP BY
- subq_4.metric_time__day
- , subq_4.visit__referrer_id
- ) subq_5
+ subq_5.metric_time__day
+ , subq_5.visit__referrer_id
+ ) subq_6
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_16.metric_time__day
- , subq_16.visit__referrer_id
- , SUM(subq_16.buys) AS buys
+ subq_15.metric_time__day
+ , subq_15.visit__referrer_id
+ , SUM(subq_15.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'visit__referrer_id', 'metric_time__day']
SELECT
- subq_15.metric_time__day
- , subq_15.visit__referrer_id
- , subq_15.buys
+ subq_14.metric_time__day
+ , subq_14.visit__referrer_id
+ , subq_14.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_14.metric_time__day
- , subq_14.user
- , subq_14.visit__referrer_id
- , subq_14.buys
- , subq_14.visits
+ subq_13.metric_time__day
+ , subq_13.user
+ , subq_13.visit__referrer_id
+ , subq_13.buys
+ , subq_13.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_10.visits) OVER (
+ FIRST_VALUE(subq_9.visits) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_10.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_9.visit__referrer_id) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_10.metric_time__day) OVER (
+ , FIRST_VALUE(subq_9.metric_time__day) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_10.user) OVER (
+ , FIRST_VALUE(subq_9.user) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_13.mf_internal_uuid AS mf_internal_uuid
- , subq_13.buys AS buys
+ , subq_12.mf_internal_uuid AS mf_internal_uuid
+ , subq_12.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
- subq_9.metric_time__day
- , subq_9.user
- , subq_9.visit__referrer_id
- , subq_9.visits
+ subq_8.metric_time__day
+ , subq_8.user
+ , subq_8.visit__referrer_id
+ , subq_8.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.visit__ds__day
- , subq_8.visit__ds__week
- , subq_8.visit__ds__month
- , subq_8.visit__ds__quarter
- , subq_8.visit__ds__year
- , subq_8.visit__ds__extract_year
- , subq_8.visit__ds__extract_quarter
- , subq_8.visit__ds__extract_month
- , subq_8.visit__ds__extract_day
- , subq_8.visit__ds__extract_dow
- , subq_8.visit__ds__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session
- , subq_8.visit__user
- , subq_8.visit__session
- , subq_8.referrer_id
- , subq_8.visit__referrer_id
- , subq_8.visits
- , subq_8.visitors
+ subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.visit__ds__day
+ , subq_7.visit__ds__week
+ , subq_7.visit__ds__month
+ , subq_7.visit__ds__quarter
+ , subq_7.visit__ds__year
+ , subq_7.visit__ds__extract_year
+ , subq_7.visit__ds__extract_quarter
+ , subq_7.visit__ds__extract_month
+ , subq_7.visit__ds__extract_day
+ , subq_7.visit__ds__extract_dow
+ , subq_7.visit__ds__extract_doy
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session
+ , subq_7.visit__user
+ , subq_7.visit__session
+ , subq_7.referrer_id
+ , subq_7.visit__referrer_id
+ , subq_7.visits
+ , subq_7.visitors
FROM (
-- Constrain Time Range to [2020-01-01T00:00:00, 2020-01-02T00:00:00]
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.visit__ds__day
- , subq_7.visit__ds__week
- , subq_7.visit__ds__month
- , subq_7.visit__ds__quarter
- , subq_7.visit__ds__year
- , subq_7.visit__ds__extract_year
- , subq_7.visit__ds__extract_quarter
- , subq_7.visit__ds__extract_month
- , subq_7.visit__ds__extract_day
- , subq_7.visit__ds__extract_dow
- , subq_7.visit__ds__extract_doy
- , subq_7.metric_time__day
- , subq_7.metric_time__week
- , subq_7.metric_time__month
- , subq_7.metric_time__quarter
- , subq_7.metric_time__year
- , subq_7.metric_time__extract_year
- , subq_7.metric_time__extract_quarter
- , subq_7.metric_time__extract_month
- , subq_7.metric_time__extract_day
- , subq_7.metric_time__extract_dow
- , subq_7.metric_time__extract_doy
- , subq_7.user
- , subq_7.session
- , subq_7.visit__user
- , subq_7.visit__session
- , subq_7.referrer_id
- , subq_7.visit__referrer_id
- , subq_7.visits
- , subq_7.visitors
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.visit__ds__day
+ , subq_2.visit__ds__week
+ , subq_2.visit__ds__month
+ , subq_2.visit__ds__quarter
+ , subq_2.visit__ds__year
+ , subq_2.visit__ds__extract_year
+ , subq_2.visit__ds__extract_quarter
+ , subq_2.visit__ds__extract_month
+ , subq_2.visit__ds__extract_day
+ , subq_2.visit__ds__extract_dow
+ , subq_2.visit__ds__extract_doy
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.user
+ , subq_2.session
+ , subq_2.visit__user
+ , subq_2.visit__session
+ , subq_2.referrer_id
+ , subq_2.visit__referrer_id
+ , subq_2.visits
+ , subq_2.visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.visit__ds__day
- , subq_6.visit__ds__week
- , subq_6.visit__ds__month
- , subq_6.visit__ds__quarter
- , subq_6.visit__ds__year
- , subq_6.visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month
- , subq_6.visit__ds__extract_day
- , subq_6.visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.user
- , subq_6.session
- , subq_6.visit__user
- , subq_6.visit__session
- , subq_6.referrer_id
- , subq_6.visit__referrer_id
- , subq_6.visits
- , subq_6.visitors
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.visit__ds__day
+ , subq_1.visit__ds__week
+ , subq_1.visit__ds__month
+ , subq_1.visit__ds__quarter
+ , subq_1.visit__ds__year
+ , subq_1.visit__ds__extract_year
+ , subq_1.visit__ds__extract_quarter
+ , subq_1.visit__ds__extract_month
+ , subq_1.visit__ds__extract_day
+ , subq_1.visit__ds__extract_dow
+ , subq_1.visit__ds__extract_doy
+ , subq_1.ds__day AS metric_time__day
+ , subq_1.ds__week AS metric_time__week
+ , subq_1.ds__month AS metric_time__month
+ , subq_1.ds__quarter AS metric_time__quarter
+ , subq_1.ds__year AS metric_time__year
+ , subq_1.ds__extract_year AS metric_time__extract_year
+ , subq_1.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_1.ds__extract_month AS metric_time__extract_month
+ , subq_1.ds__extract_day AS metric_time__extract_day
+ , subq_1.ds__extract_dow AS metric_time__extract_dow
+ , subq_1.ds__extract_doy AS metric_time__extract_doy
+ , subq_1.user
+ , subq_1.session
+ , subq_1.visit__user
+ , subq_1.visit__session
+ , subq_1.referrer_id
+ , subq_1.visit__referrer_id
+ , subq_1.visits
+ , subq_1.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -435,122 +435,122 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_6
- ) subq_7
- WHERE subq_7.metric_time__day BETWEEN '2020-01-01' AND '2020-01-02'
- ) subq_8
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__day BETWEEN '2020-01-01' AND '2020-01-02'
+ ) subq_7
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_9
- ) subq_10
+ ) subq_8
+ ) subq_9
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.ds_month__month
- , subq_12.ds_month__quarter
- , subq_12.ds_month__year
- , subq_12.ds_month__extract_year
- , subq_12.ds_month__extract_quarter
- , subq_12.ds_month__extract_month
- , subq_12.buy__ds__day
- , subq_12.buy__ds__week
- , subq_12.buy__ds__month
- , subq_12.buy__ds__quarter
- , subq_12.buy__ds__year
- , subq_12.buy__ds__extract_year
- , subq_12.buy__ds__extract_quarter
- , subq_12.buy__ds__extract_month
- , subq_12.buy__ds__extract_day
- , subq_12.buy__ds__extract_dow
- , subq_12.buy__ds__extract_doy
- , subq_12.buy__ds_month__month
- , subq_12.buy__ds_month__quarter
- , subq_12.buy__ds_month__year
- , subq_12.buy__ds_month__extract_year
- , subq_12.buy__ds_month__extract_quarter
- , subq_12.buy__ds_month__extract_month
- , subq_12.metric_time__day
- , subq_12.metric_time__week
- , subq_12.metric_time__month
- , subq_12.metric_time__quarter
- , subq_12.metric_time__year
- , subq_12.metric_time__extract_year
- , subq_12.metric_time__extract_quarter
- , subq_12.metric_time__extract_month
- , subq_12.metric_time__extract_day
- , subq_12.metric_time__extract_dow
- , subq_12.metric_time__extract_doy
- , subq_12.user
- , subq_12.session_id
- , subq_12.buy__user
- , subq_12.buy__session_id
- , subq_12.buys
- , subq_12.buyers
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds_month__month
+ , subq_11.ds_month__quarter
+ , subq_11.ds_month__year
+ , subq_11.ds_month__extract_year
+ , subq_11.ds_month__extract_quarter
+ , subq_11.ds_month__extract_month
+ , subq_11.buy__ds__day
+ , subq_11.buy__ds__week
+ , subq_11.buy__ds__month
+ , subq_11.buy__ds__quarter
+ , subq_11.buy__ds__year
+ , subq_11.buy__ds__extract_year
+ , subq_11.buy__ds__extract_quarter
+ , subq_11.buy__ds__extract_month
+ , subq_11.buy__ds__extract_day
+ , subq_11.buy__ds__extract_dow
+ , subq_11.buy__ds__extract_doy
+ , subq_11.buy__ds_month__month
+ , subq_11.buy__ds_month__quarter
+ , subq_11.buy__ds_month__year
+ , subq_11.buy__ds_month__extract_year
+ , subq_11.buy__ds_month__extract_quarter
+ , subq_11.buy__ds_month__extract_month
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.user
+ , subq_11.session_id
+ , subq_11.buy__user
+ , subq_11.buy__session_id
+ , subq_11.buys
+ , subq_11.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_11.ds__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds_month__month
- , subq_11.ds_month__quarter
- , subq_11.ds_month__year
- , subq_11.ds_month__extract_year
- , subq_11.ds_month__extract_quarter
- , subq_11.ds_month__extract_month
- , subq_11.buy__ds__day
- , subq_11.buy__ds__week
- , subq_11.buy__ds__month
- , subq_11.buy__ds__quarter
- , subq_11.buy__ds__year
- , subq_11.buy__ds__extract_year
- , subq_11.buy__ds__extract_quarter
- , subq_11.buy__ds__extract_month
- , subq_11.buy__ds__extract_day
- , subq_11.buy__ds__extract_dow
- , subq_11.buy__ds__extract_doy
- , subq_11.buy__ds_month__month
- , subq_11.buy__ds_month__quarter
- , subq_11.buy__ds_month__year
- , subq_11.buy__ds_month__extract_year
- , subq_11.buy__ds_month__extract_quarter
- , subq_11.buy__ds_month__extract_month
- , subq_11.ds__day AS metric_time__day
- , subq_11.ds__week AS metric_time__week
- , subq_11.ds__month AS metric_time__month
- , subq_11.ds__quarter AS metric_time__quarter
- , subq_11.ds__year AS metric_time__year
- , subq_11.ds__extract_year AS metric_time__extract_year
- , subq_11.ds__extract_quarter AS metric_time__extract_quarter
- , subq_11.ds__extract_month AS metric_time__extract_month
- , subq_11.ds__extract_day AS metric_time__extract_day
- , subq_11.ds__extract_dow AS metric_time__extract_dow
- , subq_11.ds__extract_doy AS metric_time__extract_doy
- , subq_11.user
- , subq_11.session_id
- , subq_11.buy__user
- , subq_11.buy__session_id
- , subq_11.buys
- , subq_11.buyers
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_month__month
+ , subq_10.ds_month__quarter
+ , subq_10.ds_month__year
+ , subq_10.ds_month__extract_year
+ , subq_10.ds_month__extract_quarter
+ , subq_10.ds_month__extract_month
+ , subq_10.buy__ds__day
+ , subq_10.buy__ds__week
+ , subq_10.buy__ds__month
+ , subq_10.buy__ds__quarter
+ , subq_10.buy__ds__year
+ , subq_10.buy__ds__extract_year
+ , subq_10.buy__ds__extract_quarter
+ , subq_10.buy__ds__extract_month
+ , subq_10.buy__ds__extract_day
+ , subq_10.buy__ds__extract_dow
+ , subq_10.buy__ds__extract_doy
+ , subq_10.buy__ds_month__month
+ , subq_10.buy__ds_month__quarter
+ , subq_10.buy__ds_month__year
+ , subq_10.buy__ds_month__extract_year
+ , subq_10.buy__ds_month__extract_quarter
+ , subq_10.buy__ds_month__extract_month
+ , subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week AS metric_time__week
+ , subq_10.ds__month AS metric_time__month
+ , subq_10.ds__quarter AS metric_time__quarter
+ , subq_10.ds__year AS metric_time__year
+ , subq_10.ds__extract_year AS metric_time__extract_year
+ , subq_10.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_10.ds__extract_month AS metric_time__extract_month
+ , subq_10.ds__extract_day AS metric_time__extract_day
+ , subq_10.ds__extract_dow AS metric_time__extract_dow
+ , subq_10.ds__extract_doy AS metric_time__extract_doy
+ , subq_10.user
+ , subq_10.session_id
+ , subq_10.buy__user
+ , subq_10.buy__session_id
+ , subq_10.buys
+ , subq_10.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -596,33 +596,33 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_10
+ ) subq_11
+ ) subq_12
ON
(
- subq_10.user = subq_13.user
+ subq_9.user = subq_12.user
) AND (
(
- subq_10.metric_time__day <= subq_13.metric_time__day
+ subq_9.metric_time__day <= subq_12.metric_time__day
) AND (
- subq_10.metric_time__day > subq_13.metric_time__day - INTERVAL 7 day
+ subq_9.metric_time__day > subq_12.metric_time__day - INTERVAL 7 day
)
)
- ) subq_14
- ) subq_15
- ) subq_16
+ ) subq_13
+ ) subq_14
+ ) subq_15
GROUP BY
- subq_16.metric_time__day
- , subq_16.visit__referrer_id
- ) subq_17
+ subq_15.metric_time__day
+ , subq_15.visit__referrer_id
+ ) subq_16
ON
(
- subq_5.visit__referrer_id = subq_17.visit__referrer_id
+ subq_6.visit__referrer_id = subq_16.visit__referrer_id
) AND (
- subq_5.metric_time__day = subq_17.metric_time__day
+ subq_6.metric_time__day = subq_16.metric_time__day
)
GROUP BY
- COALESCE(subq_5.metric_time__day, subq_17.metric_time__day)
- , COALESCE(subq_5.visit__referrer_id, subq_17.visit__referrer_id)
-) subq_18
+ COALESCE(subq_6.metric_time__day, subq_16.metric_time__day)
+ , COALESCE(subq_6.visit__referrer_id, subq_16.visit__referrer_id)
+) subq_17
diff --git a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window_and_time_constraint__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window_and_time_constraint__plan0_optimized.sql
index d252ddaed7..a6e9922aba 100644
--- a/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window_and_time_constraint__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metric_rendering.py/SqlPlan/DuckDB/test_conversion_metric_with_window_and_time_constraint__plan0_optimized.sql
@@ -25,10 +25,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_24.metric_time__day, subq_34.metric_time__day) AS metric_time__day
- , COALESCE(subq_24.visit__referrer_id, subq_34.visit__referrer_id) AS visit__referrer_id
- , MAX(subq_24.visits) AS visits
- , MAX(subq_34.buys) AS buys
+ COALESCE(subq_23.metric_time__day, subq_33.metric_time__day) AS metric_time__day
+ , COALESCE(subq_23.visit__referrer_id, subq_33.visit__referrer_id) AS visit__referrer_id
+ , MAX(subq_23.visits) AS visits
+ , MAX(subq_33.buys) AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day']
@@ -41,15 +41,16 @@ FROM (
-- Read From CTE For node_id=ctr_0
SELECT
metric_time__day
+ , ctr_0_cte.user
, visit__referrer_id
, visits
FROM ctr_0_cte ctr_0_cte
- ) subq_21
+ ) subq_20
WHERE visit__referrer_id = 'ref_id_01'
GROUP BY
metric_time__day
, visit__referrer_id
- ) subq_24
+ ) subq_23
FULL OUTER JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys', 'visit__referrer_id', 'metric_time__day']
@@ -61,46 +62,46 @@ FROM (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_27.visits) OVER (
+ FIRST_VALUE(subq_26.visits) OVER (
PARTITION BY
- subq_30.user
- , subq_30.metric_time__day
- , subq_30.mf_internal_uuid
- ORDER BY subq_27.metric_time__day DESC
+ subq_29.user
+ , subq_29.metric_time__day
+ , subq_29.mf_internal_uuid
+ ORDER BY subq_26.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_27.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_26.visit__referrer_id) OVER (
PARTITION BY
- subq_30.user
- , subq_30.metric_time__day
- , subq_30.mf_internal_uuid
- ORDER BY subq_27.metric_time__day DESC
+ subq_29.user
+ , subq_29.metric_time__day
+ , subq_29.mf_internal_uuid
+ ORDER BY subq_26.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_27.metric_time__day) OVER (
+ , FIRST_VALUE(subq_26.metric_time__day) OVER (
PARTITION BY
- subq_30.user
- , subq_30.metric_time__day
- , subq_30.mf_internal_uuid
- ORDER BY subq_27.metric_time__day DESC
+ subq_29.user
+ , subq_29.metric_time__day
+ , subq_29.mf_internal_uuid
+ ORDER BY subq_26.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_27.user) OVER (
+ , FIRST_VALUE(subq_26.user) OVER (
PARTITION BY
- subq_30.user
- , subq_30.metric_time__day
- , subq_30.mf_internal_uuid
- ORDER BY subq_27.metric_time__day DESC
+ subq_29.user
+ , subq_29.metric_time__day
+ , subq_29.mf_internal_uuid
+ ORDER BY subq_26.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_30.mf_internal_uuid AS mf_internal_uuid
- , subq_30.buys AS buys
+ , subq_29.mf_internal_uuid AS mf_internal_uuid
+ , subq_29.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
metric_time__day
- , subq_25.user
+ , subq_24.user
, visit__referrer_id
, visits
FROM (
@@ -111,9 +112,9 @@ FROM (
, visit__referrer_id
, visits
FROM ctr_0_cte ctr_0_cte
- ) subq_25
+ ) subq_24
WHERE visit__referrer_id = 'ref_id_01'
- ) subq_27
+ ) subq_26
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -124,29 +125,29 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_30
+ ) subq_29
ON
(
- subq_27.user = subq_30.user
+ subq_26.user = subq_29.user
) AND (
(
- subq_27.metric_time__day <= subq_30.metric_time__day
+ subq_26.metric_time__day <= subq_29.metric_time__day
) AND (
- subq_27.metric_time__day > subq_30.metric_time__day - INTERVAL 7 day
+ subq_26.metric_time__day > subq_29.metric_time__day - INTERVAL 7 day
)
)
- ) subq_31
+ ) subq_30
GROUP BY
metric_time__day
, visit__referrer_id
- ) subq_34
+ ) subq_33
ON
(
- subq_24.visit__referrer_id = subq_34.visit__referrer_id
+ subq_23.visit__referrer_id = subq_33.visit__referrer_id
) AND (
- subq_24.metric_time__day = subq_34.metric_time__day
+ subq_23.metric_time__day = subq_33.metric_time__day
)
GROUP BY
- COALESCE(subq_24.metric_time__day, subq_34.metric_time__day)
- , COALESCE(subq_24.visit__referrer_id, subq_34.visit__referrer_id)
-) subq_35
+ COALESCE(subq_23.metric_time__day, subq_33.metric_time__day)
+ , COALESCE(subq_23.visit__referrer_id, subq_33.visit__referrer_id)
+) subq_34
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_count_with_no_group_by__plan0.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_count_with_no_group_by__plan0.sql
index 1b86cca4bc..1dc319e367 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_count_with_no_group_by__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_count_with_no_group_by__plan0.sql
@@ -6,12 +6,12 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.buys AS visit_buy_conversions
+ subq_13.buys AS visit_buy_conversions
FROM (
-- Combine Aggregated Outputs
SELECT
MAX(subq_3.visits) AS visits
- , COALESCE(MAX(subq_13.buys), 0) AS buys
+ , COALESCE(MAX(subq_12.buys), 0) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -105,97 +105,97 @@ FROM (
CROSS JOIN (
-- Aggregate Measures
SELECT
- SUM(subq_12.buys) AS buys
+ SUM(subq_11.buys) AS buys
FROM (
-- Pass Only Elements: ['buys',]
SELECT
- subq_11.buys
+ subq_10.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_10.metric_time__day
- , subq_10.user
- , subq_10.buys
- , subq_10.visits
+ subq_9.metric_time__day
+ , subq_9.user
+ , subq_9.buys
+ , subq_9.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_6.visits) OVER (
+ FIRST_VALUE(subq_5.visits) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_6.metric_time__day) OVER (
+ , FIRST_VALUE(subq_5.metric_time__day) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_6.user) OVER (
+ , FIRST_VALUE(subq_5.user) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_9.mf_internal_uuid AS mf_internal_uuid
- , subq_9.buys AS buys
+ , subq_8.mf_internal_uuid AS mf_internal_uuid
+ , subq_8.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
- subq_5.metric_time__day
- , subq_5.user
- , subq_5.visits
+ subq_4.metric_time__day
+ , subq_4.user
+ , subq_4.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.visit__ds__day
- , subq_4.visit__ds__week
- , subq_4.visit__ds__month
- , subq_4.visit__ds__quarter
- , subq_4.visit__ds__year
- , subq_4.visit__ds__extract_year
- , subq_4.visit__ds__extract_quarter
- , subq_4.visit__ds__extract_month
- , subq_4.visit__ds__extract_day
- , subq_4.visit__ds__extract_dow
- , subq_4.visit__ds__extract_doy
- , subq_4.ds__day AS metric_time__day
- , subq_4.ds__week AS metric_time__week
- , subq_4.ds__month AS metric_time__month
- , subq_4.ds__quarter AS metric_time__quarter
- , subq_4.ds__year AS metric_time__year
- , subq_4.ds__extract_year AS metric_time__extract_year
- , subq_4.ds__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds__extract_month AS metric_time__extract_month
- , subq_4.ds__extract_day AS metric_time__extract_day
- , subq_4.ds__extract_dow AS metric_time__extract_dow
- , subq_4.ds__extract_doy AS metric_time__extract_doy
- , subq_4.user
- , subq_4.session
- , subq_4.visit__user
- , subq_4.visit__session
- , subq_4.referrer_id
- , subq_4.visit__referrer_id
- , subq_4.visits
- , subq_4.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -230,118 +230,118 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_4
+ ) subq_5
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_month__month
- , subq_8.ds_month__quarter
- , subq_8.ds_month__year
- , subq_8.ds_month__extract_year
- , subq_8.ds_month__extract_quarter
- , subq_8.ds_month__extract_month
- , subq_8.buy__ds__day
- , subq_8.buy__ds__week
- , subq_8.buy__ds__month
- , subq_8.buy__ds__quarter
- , subq_8.buy__ds__year
- , subq_8.buy__ds__extract_year
- , subq_8.buy__ds__extract_quarter
- , subq_8.buy__ds__extract_month
- , subq_8.buy__ds__extract_day
- , subq_8.buy__ds__extract_dow
- , subq_8.buy__ds__extract_doy
- , subq_8.buy__ds_month__month
- , subq_8.buy__ds_month__quarter
- , subq_8.buy__ds_month__year
- , subq_8.buy__ds_month__extract_year
- , subq_8.buy__ds_month__extract_quarter
- , subq_8.buy__ds_month__extract_month
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session_id
- , subq_8.buy__user
- , subq_8.buy__session_id
- , subq_8.buys
- , subq_8.buyers
+ subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds_month__month
+ , subq_7.ds_month__quarter
+ , subq_7.ds_month__year
+ , subq_7.ds_month__extract_year
+ , subq_7.ds_month__extract_quarter
+ , subq_7.ds_month__extract_month
+ , subq_7.buy__ds__day
+ , subq_7.buy__ds__week
+ , subq_7.buy__ds__month
+ , subq_7.buy__ds__quarter
+ , subq_7.buy__ds__year
+ , subq_7.buy__ds__extract_year
+ , subq_7.buy__ds__extract_quarter
+ , subq_7.buy__ds__extract_month
+ , subq_7.buy__ds__extract_day
+ , subq_7.buy__ds__extract_dow
+ , subq_7.buy__ds__extract_doy
+ , subq_7.buy__ds_month__month
+ , subq_7.buy__ds_month__quarter
+ , subq_7.buy__ds_month__year
+ , subq_7.buy__ds_month__extract_year
+ , subq_7.buy__ds_month__extract_quarter
+ , subq_7.buy__ds_month__extract_month
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session_id
+ , subq_7.buy__user
+ , subq_7.buy__session_id
+ , subq_7.buys
+ , subq_7.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds_month__month
- , subq_7.ds_month__quarter
- , subq_7.ds_month__year
- , subq_7.ds_month__extract_year
- , subq_7.ds_month__extract_quarter
- , subq_7.ds_month__extract_month
- , subq_7.buy__ds__day
- , subq_7.buy__ds__week
- , subq_7.buy__ds__month
- , subq_7.buy__ds__quarter
- , subq_7.buy__ds__year
- , subq_7.buy__ds__extract_year
- , subq_7.buy__ds__extract_quarter
- , subq_7.buy__ds__extract_month
- , subq_7.buy__ds__extract_day
- , subq_7.buy__ds__extract_dow
- , subq_7.buy__ds__extract_doy
- , subq_7.buy__ds_month__month
- , subq_7.buy__ds_month__quarter
- , subq_7.buy__ds_month__year
- , subq_7.buy__ds_month__extract_year
- , subq_7.buy__ds_month__extract_quarter
- , subq_7.buy__ds_month__extract_month
- , subq_7.ds__day AS metric_time__day
- , subq_7.ds__week AS metric_time__week
- , subq_7.ds__month AS metric_time__month
- , subq_7.ds__quarter AS metric_time__quarter
- , subq_7.ds__year AS metric_time__year
- , subq_7.ds__extract_year AS metric_time__extract_year
- , subq_7.ds__extract_quarter AS metric_time__extract_quarter
- , subq_7.ds__extract_month AS metric_time__extract_month
- , subq_7.ds__extract_day AS metric_time__extract_day
- , subq_7.ds__extract_dow AS metric_time__extract_dow
- , subq_7.ds__extract_doy AS metric_time__extract_doy
- , subq_7.user
- , subq_7.session_id
- , subq_7.buy__user
- , subq_7.buy__session_id
- , subq_7.buys
- , subq_7.buyers
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds_month__month
+ , subq_6.ds_month__quarter
+ , subq_6.ds_month__year
+ , subq_6.ds_month__extract_year
+ , subq_6.ds_month__extract_quarter
+ , subq_6.ds_month__extract_month
+ , subq_6.buy__ds__day
+ , subq_6.buy__ds__week
+ , subq_6.buy__ds__month
+ , subq_6.buy__ds__quarter
+ , subq_6.buy__ds__year
+ , subq_6.buy__ds__extract_year
+ , subq_6.buy__ds__extract_quarter
+ , subq_6.buy__ds__extract_month
+ , subq_6.buy__ds__extract_day
+ , subq_6.buy__ds__extract_dow
+ , subq_6.buy__ds__extract_doy
+ , subq_6.buy__ds_month__month
+ , subq_6.buy__ds_month__quarter
+ , subq_6.buy__ds_month__year
+ , subq_6.buy__ds_month__extract_year
+ , subq_6.buy__ds_month__extract_quarter
+ , subq_6.buy__ds_month__extract_month
+ , subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month AS metric_time__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year AS metric_time__year
+ , subq_6.ds__extract_year AS metric_time__extract_year
+ , subq_6.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds__extract_month AS metric_time__extract_month
+ , subq_6.ds__extract_day AS metric_time__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy AS metric_time__extract_doy
+ , subq_6.user
+ , subq_6.session_id
+ , subq_6.buy__user
+ , subq_6.buy__session_id
+ , subq_6.buys
+ , subq_6.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -387,21 +387,21 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
ON
(
- subq_6.user = subq_9.user
+ subq_5.user = subq_8.user
) AND (
(
- subq_6.metric_time__day <= subq_9.metric_time__day
+ subq_5.metric_time__day <= subq_8.metric_time__day
) AND (
- subq_6.metric_time__day > subq_9.metric_time__day - INTERVAL 7 day
+ subq_5.metric_time__day > subq_8.metric_time__day - INTERVAL 7 day
)
)
- ) subq_10
- ) subq_11
- ) subq_12
- ) subq_13
-) subq_14
+ ) subq_9
+ ) subq_10
+ ) subq_11
+ ) subq_12
+) subq_13
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_count_with_no_group_by__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_count_with_no_group_by__plan0_optimized.sql
index 8f9ca82ad0..03a8c48bac 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_count_with_no_group_by__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_count_with_no_group_by__plan0_optimized.sql
@@ -17,7 +17,7 @@ WITH sma_28019_cte AS (
)
SELECT
- COALESCE(MAX(subq_27.buys), 0) AS visit_buy_conversions
+ COALESCE(MAX(subq_26.buys), 0) AS visit_buy_conversions
FROM (
-- Read From CTE For node_id=sma_28019
-- Pass Only Elements: ['visits',]
@@ -25,7 +25,7 @@ FROM (
SELECT
SUM(visits) AS visits
FROM sma_28019_cte sma_28019_cte
-) subq_18
+) subq_17
CROSS JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys',]
@@ -37,30 +37,30 @@ CROSS JOIN (
SELECT DISTINCT
FIRST_VALUE(sma_28019_cte.visits) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
, FIRST_VALUE(sma_28019_cte.metric_time__day) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
, FIRST_VALUE(sma_28019_cte.user) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_23.mf_internal_uuid AS mf_internal_uuid
- , subq_23.buys AS buys
+ , subq_22.mf_internal_uuid AS mf_internal_uuid
+ , subq_22.buys AS buys
FROM sma_28019_cte sma_28019_cte
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
@@ -72,16 +72,16 @@ CROSS JOIN (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_23
+ ) subq_22
ON
(
- sma_28019_cte.user = subq_23.user
+ sma_28019_cte.user = subq_22.user
) AND (
(
- sma_28019_cte.metric_time__day <= subq_23.metric_time__day
+ sma_28019_cte.metric_time__day <= subq_22.metric_time__day
) AND (
- sma_28019_cte.metric_time__day > subq_23.metric_time__day - INTERVAL 7 day
+ sma_28019_cte.metric_time__day > subq_22.metric_time__day - INTERVAL 7 day
)
)
- ) subq_24
-) subq_27
+ ) subq_23
+) subq_26
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.sql
index 0640226e4d..6a14596773 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.sql
@@ -6,14 +6,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_22.metric_time__day
- , CAST(subq_22.buys AS DOUBLE) / CAST(NULLIF(subq_22.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days_fill_nulls_with_0
+ subq_21.metric_time__day
+ , CAST(subq_21.buys AS DOUBLE) / CAST(NULLIF(subq_21.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days_fill_nulls_with_0
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_7.metric_time__day, subq_21.metric_time__day) AS metric_time__day
+ COALESCE(subq_7.metric_time__day, subq_20.metric_time__day) AS metric_time__day
, COALESCE(MAX(subq_7.visits), 0) AS visits
- , COALESCE(MAX(subq_21.buys), 0) AS buys
+ , COALESCE(MAX(subq_20.buys), 0) AS buys
FROM (
-- Join to Time Spine Dataset
SELECT
@@ -157,27 +157,27 @@ FROM (
FULL OUTER JOIN (
-- Join to Time Spine Dataset
SELECT
- subq_20.metric_time__day AS metric_time__day
- , subq_17.buys AS buys
+ subq_19.metric_time__day AS metric_time__day
+ , subq_16.buys AS buys
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_19.metric_time__day
+ subq_18.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_18.ds__day AS metric_time__day
- , subq_18.ds__week
- , subq_18.ds__month
- , subq_18.ds__quarter
- , subq_18.ds__year
- , subq_18.ds__extract_year
- , subq_18.ds__extract_quarter
- , subq_18.ds__extract_month
- , subq_18.ds__extract_day
- , subq_18.ds__extract_dow
- , subq_18.ds__extract_doy
- , subq_18.ds__martian_day
+ subq_17.ds__day AS metric_time__day
+ , subq_17.ds__week
+ , subq_17.ds__month
+ , subq_17.ds__quarter
+ , subq_17.ds__year
+ , subq_17.ds__extract_year
+ , subq_17.ds__extract_quarter
+ , subq_17.ds__extract_month
+ , subq_17.ds__extract_day
+ , subq_17.ds__extract_dow
+ , subq_17.ds__extract_doy
+ , subq_17.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -194,105 +194,105 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_18
- ) subq_19
- ) subq_20
+ ) subq_17
+ ) subq_18
+ ) subq_19
LEFT OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_16.metric_time__day
- , SUM(subq_16.buys) AS buys
+ subq_15.metric_time__day
+ , SUM(subq_15.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'metric_time__day']
SELECT
- subq_15.metric_time__day
- , subq_15.buys
+ subq_14.metric_time__day
+ , subq_14.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_14.metric_time__day
- , subq_14.user
- , subq_14.buys
- , subq_14.visits
+ subq_13.metric_time__day
+ , subq_13.user
+ , subq_13.buys
+ , subq_13.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_10.visits) OVER (
+ FIRST_VALUE(subq_9.visits) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_10.metric_time__day) OVER (
+ , FIRST_VALUE(subq_9.metric_time__day) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_10.user) OVER (
+ , FIRST_VALUE(subq_9.user) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_13.mf_internal_uuid AS mf_internal_uuid
- , subq_13.buys AS buys
+ , subq_12.mf_internal_uuid AS mf_internal_uuid
+ , subq_12.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
- subq_9.metric_time__day
- , subq_9.user
- , subq_9.visits
+ subq_8.metric_time__day
+ , subq_8.user
+ , subq_8.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.visit__ds__day
- , subq_8.visit__ds__week
- , subq_8.visit__ds__month
- , subq_8.visit__ds__quarter
- , subq_8.visit__ds__year
- , subq_8.visit__ds__extract_year
- , subq_8.visit__ds__extract_quarter
- , subq_8.visit__ds__extract_month
- , subq_8.visit__ds__extract_day
- , subq_8.visit__ds__extract_dow
- , subq_8.visit__ds__extract_doy
- , subq_8.ds__day AS metric_time__day
- , subq_8.ds__week AS metric_time__week
- , subq_8.ds__month AS metric_time__month
- , subq_8.ds__quarter AS metric_time__quarter
- , subq_8.ds__year AS metric_time__year
- , subq_8.ds__extract_year AS metric_time__extract_year
- , subq_8.ds__extract_quarter AS metric_time__extract_quarter
- , subq_8.ds__extract_month AS metric_time__extract_month
- , subq_8.ds__extract_day AS metric_time__extract_day
- , subq_8.ds__extract_dow AS metric_time__extract_dow
- , subq_8.ds__extract_doy AS metric_time__extract_doy
- , subq_8.user
- , subq_8.session
- , subq_8.visit__user
- , subq_8.visit__session
- , subq_8.referrer_id
- , subq_8.visit__referrer_id
- , subq_8.visits
- , subq_8.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -327,118 +327,118 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_8
- ) subq_9
- ) subq_10
+ ) subq_0
+ ) subq_8
+ ) subq_9
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.ds_month__month
- , subq_12.ds_month__quarter
- , subq_12.ds_month__year
- , subq_12.ds_month__extract_year
- , subq_12.ds_month__extract_quarter
- , subq_12.ds_month__extract_month
- , subq_12.buy__ds__day
- , subq_12.buy__ds__week
- , subq_12.buy__ds__month
- , subq_12.buy__ds__quarter
- , subq_12.buy__ds__year
- , subq_12.buy__ds__extract_year
- , subq_12.buy__ds__extract_quarter
- , subq_12.buy__ds__extract_month
- , subq_12.buy__ds__extract_day
- , subq_12.buy__ds__extract_dow
- , subq_12.buy__ds__extract_doy
- , subq_12.buy__ds_month__month
- , subq_12.buy__ds_month__quarter
- , subq_12.buy__ds_month__year
- , subq_12.buy__ds_month__extract_year
- , subq_12.buy__ds_month__extract_quarter
- , subq_12.buy__ds_month__extract_month
- , subq_12.metric_time__day
- , subq_12.metric_time__week
- , subq_12.metric_time__month
- , subq_12.metric_time__quarter
- , subq_12.metric_time__year
- , subq_12.metric_time__extract_year
- , subq_12.metric_time__extract_quarter
- , subq_12.metric_time__extract_month
- , subq_12.metric_time__extract_day
- , subq_12.metric_time__extract_dow
- , subq_12.metric_time__extract_doy
- , subq_12.user
- , subq_12.session_id
- , subq_12.buy__user
- , subq_12.buy__session_id
- , subq_12.buys
- , subq_12.buyers
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds_month__month
+ , subq_11.ds_month__quarter
+ , subq_11.ds_month__year
+ , subq_11.ds_month__extract_year
+ , subq_11.ds_month__extract_quarter
+ , subq_11.ds_month__extract_month
+ , subq_11.buy__ds__day
+ , subq_11.buy__ds__week
+ , subq_11.buy__ds__month
+ , subq_11.buy__ds__quarter
+ , subq_11.buy__ds__year
+ , subq_11.buy__ds__extract_year
+ , subq_11.buy__ds__extract_quarter
+ , subq_11.buy__ds__extract_month
+ , subq_11.buy__ds__extract_day
+ , subq_11.buy__ds__extract_dow
+ , subq_11.buy__ds__extract_doy
+ , subq_11.buy__ds_month__month
+ , subq_11.buy__ds_month__quarter
+ , subq_11.buy__ds_month__year
+ , subq_11.buy__ds_month__extract_year
+ , subq_11.buy__ds_month__extract_quarter
+ , subq_11.buy__ds_month__extract_month
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.user
+ , subq_11.session_id
+ , subq_11.buy__user
+ , subq_11.buy__session_id
+ , subq_11.buys
+ , subq_11.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_11.ds__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds_month__month
- , subq_11.ds_month__quarter
- , subq_11.ds_month__year
- , subq_11.ds_month__extract_year
- , subq_11.ds_month__extract_quarter
- , subq_11.ds_month__extract_month
- , subq_11.buy__ds__day
- , subq_11.buy__ds__week
- , subq_11.buy__ds__month
- , subq_11.buy__ds__quarter
- , subq_11.buy__ds__year
- , subq_11.buy__ds__extract_year
- , subq_11.buy__ds__extract_quarter
- , subq_11.buy__ds__extract_month
- , subq_11.buy__ds__extract_day
- , subq_11.buy__ds__extract_dow
- , subq_11.buy__ds__extract_doy
- , subq_11.buy__ds_month__month
- , subq_11.buy__ds_month__quarter
- , subq_11.buy__ds_month__year
- , subq_11.buy__ds_month__extract_year
- , subq_11.buy__ds_month__extract_quarter
- , subq_11.buy__ds_month__extract_month
- , subq_11.ds__day AS metric_time__day
- , subq_11.ds__week AS metric_time__week
- , subq_11.ds__month AS metric_time__month
- , subq_11.ds__quarter AS metric_time__quarter
- , subq_11.ds__year AS metric_time__year
- , subq_11.ds__extract_year AS metric_time__extract_year
- , subq_11.ds__extract_quarter AS metric_time__extract_quarter
- , subq_11.ds__extract_month AS metric_time__extract_month
- , subq_11.ds__extract_day AS metric_time__extract_day
- , subq_11.ds__extract_dow AS metric_time__extract_dow
- , subq_11.ds__extract_doy AS metric_time__extract_doy
- , subq_11.user
- , subq_11.session_id
- , subq_11.buy__user
- , subq_11.buy__session_id
- , subq_11.buys
- , subq_11.buyers
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_month__month
+ , subq_10.ds_month__quarter
+ , subq_10.ds_month__year
+ , subq_10.ds_month__extract_year
+ , subq_10.ds_month__extract_quarter
+ , subq_10.ds_month__extract_month
+ , subq_10.buy__ds__day
+ , subq_10.buy__ds__week
+ , subq_10.buy__ds__month
+ , subq_10.buy__ds__quarter
+ , subq_10.buy__ds__year
+ , subq_10.buy__ds__extract_year
+ , subq_10.buy__ds__extract_quarter
+ , subq_10.buy__ds__extract_month
+ , subq_10.buy__ds__extract_day
+ , subq_10.buy__ds__extract_dow
+ , subq_10.buy__ds__extract_doy
+ , subq_10.buy__ds_month__month
+ , subq_10.buy__ds_month__quarter
+ , subq_10.buy__ds_month__year
+ , subq_10.buy__ds_month__extract_year
+ , subq_10.buy__ds_month__extract_quarter
+ , subq_10.buy__ds_month__extract_month
+ , subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week AS metric_time__week
+ , subq_10.ds__month AS metric_time__month
+ , subq_10.ds__quarter AS metric_time__quarter
+ , subq_10.ds__year AS metric_time__year
+ , subq_10.ds__extract_year AS metric_time__extract_year
+ , subq_10.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_10.ds__extract_month AS metric_time__extract_month
+ , subq_10.ds__extract_day AS metric_time__extract_day
+ , subq_10.ds__extract_dow AS metric_time__extract_dow
+ , subq_10.ds__extract_doy AS metric_time__extract_doy
+ , subq_10.user
+ , subq_10.session_id
+ , subq_10.buy__user
+ , subq_10.buy__session_id
+ , subq_10.buys
+ , subq_10.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -484,30 +484,30 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_10
+ ) subq_11
+ ) subq_12
ON
(
- subq_10.user = subq_13.user
+ subq_9.user = subq_12.user
) AND (
(
- subq_10.metric_time__day <= subq_13.metric_time__day
+ subq_9.metric_time__day <= subq_12.metric_time__day
) AND (
- subq_10.metric_time__day > subq_13.metric_time__day - INTERVAL 7 day
+ subq_9.metric_time__day > subq_12.metric_time__day - INTERVAL 7 day
)
)
- ) subq_14
- ) subq_15
- ) subq_16
+ ) subq_13
+ ) subq_14
+ ) subq_15
GROUP BY
- subq_16.metric_time__day
- ) subq_17
+ subq_15.metric_time__day
+ ) subq_16
ON
- subq_20.metric_time__day = subq_17.metric_time__day
- ) subq_21
+ subq_19.metric_time__day = subq_16.metric_time__day
+ ) subq_20
ON
- subq_7.metric_time__day = subq_21.metric_time__day
+ subq_7.metric_time__day = subq_20.metric_time__day
GROUP BY
- COALESCE(subq_7.metric_time__day, subq_21.metric_time__day)
-) subq_22
+ COALESCE(subq_7.metric_time__day, subq_20.metric_time__day)
+) subq_21
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0_optimized.sql
index 679bf3b37b..c4c649aef9 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0_optimized.sql
@@ -28,14 +28,14 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_30.metric_time__day, subq_43.metric_time__day) AS metric_time__day
- , COALESCE(MAX(subq_30.visits), 0) AS visits
- , COALESCE(MAX(subq_43.buys), 0) AS buys
+ COALESCE(subq_29.metric_time__day, subq_42.metric_time__day) AS metric_time__day
+ , COALESCE(MAX(subq_29.visits), 0) AS visits
+ , COALESCE(MAX(subq_42.buys), 0) AS buys
FROM (
-- Join to Time Spine Dataset
SELECT
rss_28018_cte.ds__day AS metric_time__day
- , subq_26.visits AS visits
+ , subq_25.visits AS visits
FROM rss_28018_cte rss_28018_cte
LEFT OUTER JOIN (
-- Read From CTE For node_id=sma_28019
@@ -47,15 +47,15 @@ FROM (
FROM sma_28019_cte sma_28019_cte
GROUP BY
metric_time__day
- ) subq_26
+ ) subq_25
ON
- rss_28018_cte.ds__day = subq_26.metric_time__day
- ) subq_30
+ rss_28018_cte.ds__day = subq_25.metric_time__day
+ ) subq_29
FULL OUTER JOIN (
-- Join to Time Spine Dataset
SELECT
rss_28018_cte.ds__day AS metric_time__day
- , subq_39.buys AS buys
+ , subq_38.buys AS buys
FROM rss_28018_cte rss_28018_cte
LEFT OUTER JOIN (
-- Find conversions for user within the range of 7 day
@@ -69,30 +69,30 @@ FROM (
SELECT DISTINCT
FIRST_VALUE(sma_28019_cte.visits) OVER (
PARTITION BY
- subq_35.user
- , subq_35.metric_time__day
- , subq_35.mf_internal_uuid
+ subq_34.user
+ , subq_34.metric_time__day
+ , subq_34.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
, FIRST_VALUE(sma_28019_cte.metric_time__day) OVER (
PARTITION BY
- subq_35.user
- , subq_35.metric_time__day
- , subq_35.mf_internal_uuid
+ subq_34.user
+ , subq_34.metric_time__day
+ , subq_34.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
, FIRST_VALUE(sma_28019_cte.user) OVER (
PARTITION BY
- subq_35.user
- , subq_35.metric_time__day
- , subq_35.mf_internal_uuid
+ subq_34.user
+ , subq_34.metric_time__day
+ , subq_34.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_35.mf_internal_uuid AS mf_internal_uuid
- , subq_35.buys AS buys
+ , subq_34.mf_internal_uuid AS mf_internal_uuid
+ , subq_34.buys AS buys
FROM sma_28019_cte sma_28019_cte
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
@@ -104,26 +104,26 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_35
+ ) subq_34
ON
(
- sma_28019_cte.user = subq_35.user
+ sma_28019_cte.user = subq_34.user
) AND (
(
- sma_28019_cte.metric_time__day <= subq_35.metric_time__day
+ sma_28019_cte.metric_time__day <= subq_34.metric_time__day
) AND (
- sma_28019_cte.metric_time__day > subq_35.metric_time__day - INTERVAL 7 day
+ sma_28019_cte.metric_time__day > subq_34.metric_time__day - INTERVAL 7 day
)
)
- ) subq_36
+ ) subq_35
GROUP BY
metric_time__day
- ) subq_39
+ ) subq_38
ON
- rss_28018_cte.ds__day = subq_39.metric_time__day
- ) subq_43
+ rss_28018_cte.ds__day = subq_38.metric_time__day
+ ) subq_42
ON
- subq_30.metric_time__day = subq_43.metric_time__day
+ subq_29.metric_time__day = subq_42.metric_time__day
GROUP BY
- COALESCE(subq_30.metric_time__day, subq_43.metric_time__day)
-) subq_44
+ COALESCE(subq_29.metric_time__day, subq_42.metric_time__day)
+) subq_43
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate__plan0.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate__plan0.sql
index b97de249e7..77ba751d65 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate__plan0.sql
@@ -6,14 +6,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.visit__referrer_id
- , CAST(subq_14.buys AS DOUBLE) / CAST(NULLIF(subq_14.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
+ subq_13.visit__referrer_id
+ , CAST(subq_13.buys AS DOUBLE) / CAST(NULLIF(subq_13.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_3.visit__referrer_id, subq_13.visit__referrer_id) AS visit__referrer_id
+ COALESCE(subq_3.visit__referrer_id, subq_12.visit__referrer_id) AS visit__referrer_id
, MAX(subq_3.visits) AS visits
- , MAX(subq_13.buys) AS buys
+ , MAX(subq_12.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -111,109 +111,109 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_12.visit__referrer_id
- , SUM(subq_12.buys) AS buys
+ subq_11.visit__referrer_id
+ , SUM(subq_11.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'visit__referrer_id']
SELECT
- subq_11.visit__referrer_id
- , subq_11.buys
+ subq_10.visit__referrer_id
+ , subq_10.buys
FROM (
-- Find conversions for user within the range of INF
SELECT
- subq_10.metric_time__day
- , subq_10.user
- , subq_10.visit__referrer_id
- , subq_10.buys
- , subq_10.visits
+ subq_9.metric_time__day
+ , subq_9.user
+ , subq_9.visit__referrer_id
+ , subq_9.buys
+ , subq_9.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_6.visits) OVER (
+ FIRST_VALUE(subq_5.visits) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_6.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_5.visit__referrer_id) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_6.metric_time__day) OVER (
+ , FIRST_VALUE(subq_5.metric_time__day) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_6.user) OVER (
+ , FIRST_VALUE(subq_5.user) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_9.mf_internal_uuid AS mf_internal_uuid
- , subq_9.buys AS buys
+ , subq_8.mf_internal_uuid AS mf_internal_uuid
+ , subq_8.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
- subq_5.metric_time__day
- , subq_5.user
- , subq_5.visit__referrer_id
- , subq_5.visits
+ subq_4.metric_time__day
+ , subq_4.user
+ , subq_4.visit__referrer_id
+ , subq_4.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.visit__ds__day
- , subq_4.visit__ds__week
- , subq_4.visit__ds__month
- , subq_4.visit__ds__quarter
- , subq_4.visit__ds__year
- , subq_4.visit__ds__extract_year
- , subq_4.visit__ds__extract_quarter
- , subq_4.visit__ds__extract_month
- , subq_4.visit__ds__extract_day
- , subq_4.visit__ds__extract_dow
- , subq_4.visit__ds__extract_doy
- , subq_4.ds__day AS metric_time__day
- , subq_4.ds__week AS metric_time__week
- , subq_4.ds__month AS metric_time__month
- , subq_4.ds__quarter AS metric_time__quarter
- , subq_4.ds__year AS metric_time__year
- , subq_4.ds__extract_year AS metric_time__extract_year
- , subq_4.ds__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds__extract_month AS metric_time__extract_month
- , subq_4.ds__extract_day AS metric_time__extract_day
- , subq_4.ds__extract_dow AS metric_time__extract_dow
- , subq_4.ds__extract_doy AS metric_time__extract_doy
- , subq_4.user
- , subq_4.session
- , subq_4.visit__user
- , subq_4.visit__session
- , subq_4.referrer_id
- , subq_4.visit__referrer_id
- , subq_4.visits
- , subq_4.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -248,118 +248,118 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_4
+ ) subq_5
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_month__month
- , subq_8.ds_month__quarter
- , subq_8.ds_month__year
- , subq_8.ds_month__extract_year
- , subq_8.ds_month__extract_quarter
- , subq_8.ds_month__extract_month
- , subq_8.buy__ds__day
- , subq_8.buy__ds__week
- , subq_8.buy__ds__month
- , subq_8.buy__ds__quarter
- , subq_8.buy__ds__year
- , subq_8.buy__ds__extract_year
- , subq_8.buy__ds__extract_quarter
- , subq_8.buy__ds__extract_month
- , subq_8.buy__ds__extract_day
- , subq_8.buy__ds__extract_dow
- , subq_8.buy__ds__extract_doy
- , subq_8.buy__ds_month__month
- , subq_8.buy__ds_month__quarter
- , subq_8.buy__ds_month__year
- , subq_8.buy__ds_month__extract_year
- , subq_8.buy__ds_month__extract_quarter
- , subq_8.buy__ds_month__extract_month
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session_id
- , subq_8.buy__user
- , subq_8.buy__session_id
- , subq_8.buys
- , subq_8.buyers
+ subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds_month__month
+ , subq_7.ds_month__quarter
+ , subq_7.ds_month__year
+ , subq_7.ds_month__extract_year
+ , subq_7.ds_month__extract_quarter
+ , subq_7.ds_month__extract_month
+ , subq_7.buy__ds__day
+ , subq_7.buy__ds__week
+ , subq_7.buy__ds__month
+ , subq_7.buy__ds__quarter
+ , subq_7.buy__ds__year
+ , subq_7.buy__ds__extract_year
+ , subq_7.buy__ds__extract_quarter
+ , subq_7.buy__ds__extract_month
+ , subq_7.buy__ds__extract_day
+ , subq_7.buy__ds__extract_dow
+ , subq_7.buy__ds__extract_doy
+ , subq_7.buy__ds_month__month
+ , subq_7.buy__ds_month__quarter
+ , subq_7.buy__ds_month__year
+ , subq_7.buy__ds_month__extract_year
+ , subq_7.buy__ds_month__extract_quarter
+ , subq_7.buy__ds_month__extract_month
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session_id
+ , subq_7.buy__user
+ , subq_7.buy__session_id
+ , subq_7.buys
+ , subq_7.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds_month__month
- , subq_7.ds_month__quarter
- , subq_7.ds_month__year
- , subq_7.ds_month__extract_year
- , subq_7.ds_month__extract_quarter
- , subq_7.ds_month__extract_month
- , subq_7.buy__ds__day
- , subq_7.buy__ds__week
- , subq_7.buy__ds__month
- , subq_7.buy__ds__quarter
- , subq_7.buy__ds__year
- , subq_7.buy__ds__extract_year
- , subq_7.buy__ds__extract_quarter
- , subq_7.buy__ds__extract_month
- , subq_7.buy__ds__extract_day
- , subq_7.buy__ds__extract_dow
- , subq_7.buy__ds__extract_doy
- , subq_7.buy__ds_month__month
- , subq_7.buy__ds_month__quarter
- , subq_7.buy__ds_month__year
- , subq_7.buy__ds_month__extract_year
- , subq_7.buy__ds_month__extract_quarter
- , subq_7.buy__ds_month__extract_month
- , subq_7.ds__day AS metric_time__day
- , subq_7.ds__week AS metric_time__week
- , subq_7.ds__month AS metric_time__month
- , subq_7.ds__quarter AS metric_time__quarter
- , subq_7.ds__year AS metric_time__year
- , subq_7.ds__extract_year AS metric_time__extract_year
- , subq_7.ds__extract_quarter AS metric_time__extract_quarter
- , subq_7.ds__extract_month AS metric_time__extract_month
- , subq_7.ds__extract_day AS metric_time__extract_day
- , subq_7.ds__extract_dow AS metric_time__extract_dow
- , subq_7.ds__extract_doy AS metric_time__extract_doy
- , subq_7.user
- , subq_7.session_id
- , subq_7.buy__user
- , subq_7.buy__session_id
- , subq_7.buys
- , subq_7.buyers
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds_month__month
+ , subq_6.ds_month__quarter
+ , subq_6.ds_month__year
+ , subq_6.ds_month__extract_year
+ , subq_6.ds_month__extract_quarter
+ , subq_6.ds_month__extract_month
+ , subq_6.buy__ds__day
+ , subq_6.buy__ds__week
+ , subq_6.buy__ds__month
+ , subq_6.buy__ds__quarter
+ , subq_6.buy__ds__year
+ , subq_6.buy__ds__extract_year
+ , subq_6.buy__ds__extract_quarter
+ , subq_6.buy__ds__extract_month
+ , subq_6.buy__ds__extract_day
+ , subq_6.buy__ds__extract_dow
+ , subq_6.buy__ds__extract_doy
+ , subq_6.buy__ds_month__month
+ , subq_6.buy__ds_month__quarter
+ , subq_6.buy__ds_month__year
+ , subq_6.buy__ds_month__extract_year
+ , subq_6.buy__ds_month__extract_quarter
+ , subq_6.buy__ds_month__extract_month
+ , subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month AS metric_time__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year AS metric_time__year
+ , subq_6.ds__extract_year AS metric_time__extract_year
+ , subq_6.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds__extract_month AS metric_time__extract_month
+ , subq_6.ds__extract_day AS metric_time__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy AS metric_time__extract_doy
+ , subq_6.user
+ , subq_6.session_id
+ , subq_6.buy__user
+ , subq_6.buy__session_id
+ , subq_6.buys
+ , subq_6.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -405,23 +405,23 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
ON
(
- subq_6.user = subq_9.user
+ subq_5.user = subq_8.user
) AND (
- (subq_6.metric_time__day <= subq_9.metric_time__day)
+ (subq_5.metric_time__day <= subq_8.metric_time__day)
)
- ) subq_10
- ) subq_11
- ) subq_12
+ ) subq_9
+ ) subq_10
+ ) subq_11
GROUP BY
- subq_12.visit__referrer_id
- ) subq_13
+ subq_11.visit__referrer_id
+ ) subq_12
ON
- subq_3.visit__referrer_id = subq_13.visit__referrer_id
+ subq_3.visit__referrer_id = subq_12.visit__referrer_id
GROUP BY
- COALESCE(subq_3.visit__referrer_id, subq_13.visit__referrer_id)
-) subq_14
+ COALESCE(subq_3.visit__referrer_id, subq_12.visit__referrer_id)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate__plan0_optimized.sql
index e681c6fd8c..6b76198de6 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate__plan0_optimized.sql
@@ -22,9 +22,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_18.visit__referrer_id, subq_27.visit__referrer_id) AS visit__referrer_id
- , MAX(subq_18.visits) AS visits
- , MAX(subq_27.buys) AS buys
+ COALESCE(subq_17.visit__referrer_id, subq_26.visit__referrer_id) AS visit__referrer_id
+ , MAX(subq_17.visits) AS visits
+ , MAX(subq_26.buys) AS buys
FROM (
-- Read From CTE For node_id=sma_28019
-- Pass Only Elements: ['visits', 'visit__referrer_id']
@@ -35,7 +35,7 @@ FROM (
FROM sma_28019_cte sma_28019_cte
GROUP BY
visit__referrer_id
- ) subq_18
+ ) subq_17
FULL OUTER JOIN (
-- Find conversions for user within the range of INF
-- Pass Only Elements: ['buys', 'visit__referrer_id']
@@ -48,38 +48,38 @@ FROM (
SELECT DISTINCT
FIRST_VALUE(sma_28019_cte.visits) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
, FIRST_VALUE(sma_28019_cte.visit__referrer_id) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
, FIRST_VALUE(sma_28019_cte.metric_time__day) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
, FIRST_VALUE(sma_28019_cte.user) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_23.mf_internal_uuid AS mf_internal_uuid
- , subq_23.buys AS buys
+ , subq_22.mf_internal_uuid AS mf_internal_uuid
+ , subq_22.buys AS buys
FROM sma_28019_cte sma_28019_cte
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
@@ -91,19 +91,19 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_23
+ ) subq_22
ON
(
- sma_28019_cte.user = subq_23.user
+ sma_28019_cte.user = subq_22.user
) AND (
- (sma_28019_cte.metric_time__day <= subq_23.metric_time__day)
+ (sma_28019_cte.metric_time__day <= subq_22.metric_time__day)
)
- ) subq_24
+ ) subq_23
GROUP BY
visit__referrer_id
- ) subq_27
+ ) subq_26
ON
- subq_18.visit__referrer_id = subq_27.visit__referrer_id
+ subq_17.visit__referrer_id = subq_26.visit__referrer_id
GROUP BY
- COALESCE(subq_18.visit__referrer_id, subq_27.visit__referrer_id)
-) subq_28
+ COALESCE(subq_17.visit__referrer_id, subq_26.visit__referrer_id)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_constant_properties__plan0.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_constant_properties__plan0.sql
index 78e4c8fe52..45117e07e2 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_constant_properties__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_constant_properties__plan0.sql
@@ -6,16 +6,16 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__day
- , subq_14.visit__referrer_id
- , CAST(subq_14.buys AS DOUBLE) / CAST(NULLIF(subq_14.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_by_session
+ subq_13.metric_time__day
+ , subq_13.visit__referrer_id
+ , CAST(subq_13.buys AS DOUBLE) / CAST(NULLIF(subq_13.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_by_session
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_3.metric_time__day, subq_13.metric_time__day) AS metric_time__day
- , COALESCE(subq_3.visit__referrer_id, subq_13.visit__referrer_id) AS visit__referrer_id
+ COALESCE(subq_3.metric_time__day, subq_12.metric_time__day) AS metric_time__day
+ , COALESCE(subq_3.visit__referrer_id, subq_12.visit__referrer_id) AS visit__referrer_id
, MAX(subq_3.visits) AS visits
- , MAX(subq_13.buys) AS buys
+ , MAX(subq_12.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -116,126 +116,126 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_12.metric_time__day
- , subq_12.visit__referrer_id
- , SUM(subq_12.buys) AS buys
+ subq_11.metric_time__day
+ , subq_11.visit__referrer_id
+ , SUM(subq_11.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'visit__referrer_id', 'metric_time__day']
SELECT
- subq_11.metric_time__day
- , subq_11.visit__referrer_id
- , subq_11.buys
+ subq_10.metric_time__day
+ , subq_10.visit__referrer_id
+ , subq_10.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_10.metric_time__day
- , subq_10.user
- , subq_10.session
- , subq_10.visit__referrer_id
- , subq_10.buys
- , subq_10.visits
+ subq_9.metric_time__day
+ , subq_9.user
+ , subq_9.session
+ , subq_9.visit__referrer_id
+ , subq_9.buys
+ , subq_9.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_6.visits) OVER (
+ FIRST_VALUE(subq_5.visits) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- , subq_9.session_id
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ , subq_8.session_id
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_6.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_5.visit__referrer_id) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- , subq_9.session_id
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ , subq_8.session_id
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_6.metric_time__day) OVER (
+ , FIRST_VALUE(subq_5.metric_time__day) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- , subq_9.session_id
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ , subq_8.session_id
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_6.user) OVER (
+ , FIRST_VALUE(subq_5.user) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- , subq_9.session_id
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ , subq_8.session_id
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , FIRST_VALUE(subq_6.session) OVER (
+ , FIRST_VALUE(subq_5.session) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- , subq_9.session_id
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ , subq_8.session_id
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS session
- , subq_9.mf_internal_uuid AS mf_internal_uuid
- , subq_9.buys AS buys
+ , subq_8.mf_internal_uuid AS mf_internal_uuid
+ , subq_8.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user', 'session']
SELECT
- subq_5.metric_time__day
- , subq_5.user
- , subq_5.session
- , subq_5.visit__referrer_id
- , subq_5.visits
+ subq_4.metric_time__day
+ , subq_4.user
+ , subq_4.session
+ , subq_4.visit__referrer_id
+ , subq_4.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.visit__ds__day
- , subq_4.visit__ds__week
- , subq_4.visit__ds__month
- , subq_4.visit__ds__quarter
- , subq_4.visit__ds__year
- , subq_4.visit__ds__extract_year
- , subq_4.visit__ds__extract_quarter
- , subq_4.visit__ds__extract_month
- , subq_4.visit__ds__extract_day
- , subq_4.visit__ds__extract_dow
- , subq_4.visit__ds__extract_doy
- , subq_4.ds__day AS metric_time__day
- , subq_4.ds__week AS metric_time__week
- , subq_4.ds__month AS metric_time__month
- , subq_4.ds__quarter AS metric_time__quarter
- , subq_4.ds__year AS metric_time__year
- , subq_4.ds__extract_year AS metric_time__extract_year
- , subq_4.ds__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds__extract_month AS metric_time__extract_month
- , subq_4.ds__extract_day AS metric_time__extract_day
- , subq_4.ds__extract_dow AS metric_time__extract_dow
- , subq_4.ds__extract_doy AS metric_time__extract_doy
- , subq_4.user
- , subq_4.session
- , subq_4.visit__user
- , subq_4.visit__session
- , subq_4.referrer_id
- , subq_4.visit__referrer_id
- , subq_4.visits
- , subq_4.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -270,118 +270,118 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_4
+ ) subq_5
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_month__month
- , subq_8.ds_month__quarter
- , subq_8.ds_month__year
- , subq_8.ds_month__extract_year
- , subq_8.ds_month__extract_quarter
- , subq_8.ds_month__extract_month
- , subq_8.buy__ds__day
- , subq_8.buy__ds__week
- , subq_8.buy__ds__month
- , subq_8.buy__ds__quarter
- , subq_8.buy__ds__year
- , subq_8.buy__ds__extract_year
- , subq_8.buy__ds__extract_quarter
- , subq_8.buy__ds__extract_month
- , subq_8.buy__ds__extract_day
- , subq_8.buy__ds__extract_dow
- , subq_8.buy__ds__extract_doy
- , subq_8.buy__ds_month__month
- , subq_8.buy__ds_month__quarter
- , subq_8.buy__ds_month__year
- , subq_8.buy__ds_month__extract_year
- , subq_8.buy__ds_month__extract_quarter
- , subq_8.buy__ds_month__extract_month
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session_id
- , subq_8.buy__user
- , subq_8.buy__session_id
- , subq_8.buys
- , subq_8.buyers
+ subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds_month__month
+ , subq_7.ds_month__quarter
+ , subq_7.ds_month__year
+ , subq_7.ds_month__extract_year
+ , subq_7.ds_month__extract_quarter
+ , subq_7.ds_month__extract_month
+ , subq_7.buy__ds__day
+ , subq_7.buy__ds__week
+ , subq_7.buy__ds__month
+ , subq_7.buy__ds__quarter
+ , subq_7.buy__ds__year
+ , subq_7.buy__ds__extract_year
+ , subq_7.buy__ds__extract_quarter
+ , subq_7.buy__ds__extract_month
+ , subq_7.buy__ds__extract_day
+ , subq_7.buy__ds__extract_dow
+ , subq_7.buy__ds__extract_doy
+ , subq_7.buy__ds_month__month
+ , subq_7.buy__ds_month__quarter
+ , subq_7.buy__ds_month__year
+ , subq_7.buy__ds_month__extract_year
+ , subq_7.buy__ds_month__extract_quarter
+ , subq_7.buy__ds_month__extract_month
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session_id
+ , subq_7.buy__user
+ , subq_7.buy__session_id
+ , subq_7.buys
+ , subq_7.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds_month__month
- , subq_7.ds_month__quarter
- , subq_7.ds_month__year
- , subq_7.ds_month__extract_year
- , subq_7.ds_month__extract_quarter
- , subq_7.ds_month__extract_month
- , subq_7.buy__ds__day
- , subq_7.buy__ds__week
- , subq_7.buy__ds__month
- , subq_7.buy__ds__quarter
- , subq_7.buy__ds__year
- , subq_7.buy__ds__extract_year
- , subq_7.buy__ds__extract_quarter
- , subq_7.buy__ds__extract_month
- , subq_7.buy__ds__extract_day
- , subq_7.buy__ds__extract_dow
- , subq_7.buy__ds__extract_doy
- , subq_7.buy__ds_month__month
- , subq_7.buy__ds_month__quarter
- , subq_7.buy__ds_month__year
- , subq_7.buy__ds_month__extract_year
- , subq_7.buy__ds_month__extract_quarter
- , subq_7.buy__ds_month__extract_month
- , subq_7.ds__day AS metric_time__day
- , subq_7.ds__week AS metric_time__week
- , subq_7.ds__month AS metric_time__month
- , subq_7.ds__quarter AS metric_time__quarter
- , subq_7.ds__year AS metric_time__year
- , subq_7.ds__extract_year AS metric_time__extract_year
- , subq_7.ds__extract_quarter AS metric_time__extract_quarter
- , subq_7.ds__extract_month AS metric_time__extract_month
- , subq_7.ds__extract_day AS metric_time__extract_day
- , subq_7.ds__extract_dow AS metric_time__extract_dow
- , subq_7.ds__extract_doy AS metric_time__extract_doy
- , subq_7.user
- , subq_7.session_id
- , subq_7.buy__user
- , subq_7.buy__session_id
- , subq_7.buys
- , subq_7.buyers
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds_month__month
+ , subq_6.ds_month__quarter
+ , subq_6.ds_month__year
+ , subq_6.ds_month__extract_year
+ , subq_6.ds_month__extract_quarter
+ , subq_6.ds_month__extract_month
+ , subq_6.buy__ds__day
+ , subq_6.buy__ds__week
+ , subq_6.buy__ds__month
+ , subq_6.buy__ds__quarter
+ , subq_6.buy__ds__year
+ , subq_6.buy__ds__extract_year
+ , subq_6.buy__ds__extract_quarter
+ , subq_6.buy__ds__extract_month
+ , subq_6.buy__ds__extract_day
+ , subq_6.buy__ds__extract_dow
+ , subq_6.buy__ds__extract_doy
+ , subq_6.buy__ds_month__month
+ , subq_6.buy__ds_month__quarter
+ , subq_6.buy__ds_month__year
+ , subq_6.buy__ds_month__extract_year
+ , subq_6.buy__ds_month__extract_quarter
+ , subq_6.buy__ds_month__extract_month
+ , subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month AS metric_time__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year AS metric_time__year
+ , subq_6.ds__extract_year AS metric_time__extract_year
+ , subq_6.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds__extract_month AS metric_time__extract_month
+ , subq_6.ds__extract_day AS metric_time__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy AS metric_time__extract_doy
+ , subq_6.user
+ , subq_6.session_id
+ , subq_6.buy__user
+ , subq_6.buy__session_id
+ , subq_6.buys
+ , subq_6.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -427,35 +427,35 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
ON
(
- subq_6.user = subq_9.user
+ subq_5.user = subq_8.user
) AND (
- subq_6.session = subq_9.session_id
+ subq_5.session = subq_8.session_id
) AND (
(
- subq_6.metric_time__day <= subq_9.metric_time__day
+ subq_5.metric_time__day <= subq_8.metric_time__day
) AND (
- subq_6.metric_time__day > subq_9.metric_time__day - INTERVAL 7 day
+ subq_5.metric_time__day > subq_8.metric_time__day - INTERVAL 7 day
)
)
- ) subq_10
- ) subq_11
- ) subq_12
+ ) subq_9
+ ) subq_10
+ ) subq_11
GROUP BY
- subq_12.metric_time__day
- , subq_12.visit__referrer_id
- ) subq_13
+ subq_11.metric_time__day
+ , subq_11.visit__referrer_id
+ ) subq_12
ON
(
- subq_3.visit__referrer_id = subq_13.visit__referrer_id
+ subq_3.visit__referrer_id = subq_12.visit__referrer_id
) AND (
- subq_3.metric_time__day = subq_13.metric_time__day
+ subq_3.metric_time__day = subq_12.metric_time__day
)
GROUP BY
- COALESCE(subq_3.metric_time__day, subq_13.metric_time__day)
- , COALESCE(subq_3.visit__referrer_id, subq_13.visit__referrer_id)
-) subq_14
+ COALESCE(subq_3.metric_time__day, subq_12.metric_time__day)
+ , COALESCE(subq_3.visit__referrer_id, subq_12.visit__referrer_id)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_constant_properties__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_constant_properties__plan0_optimized.sql
index c468e4c331..cc8ed25746 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_constant_properties__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_constant_properties__plan0_optimized.sql
@@ -24,10 +24,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_18.metric_time__day, subq_27.metric_time__day) AS metric_time__day
- , COALESCE(subq_18.visit__referrer_id, subq_27.visit__referrer_id) AS visit__referrer_id
- , MAX(subq_18.visits) AS visits
- , MAX(subq_27.buys) AS buys
+ COALESCE(subq_17.metric_time__day, subq_26.metric_time__day) AS metric_time__day
+ , COALESCE(subq_17.visit__referrer_id, subq_26.visit__referrer_id) AS visit__referrer_id
+ , MAX(subq_17.visits) AS visits
+ , MAX(subq_26.buys) AS buys
FROM (
-- Read From CTE For node_id=sma_28019
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day']
@@ -40,7 +40,7 @@ FROM (
GROUP BY
metric_time__day
, visit__referrer_id
- ) subq_18
+ ) subq_17
FULL OUTER JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys', 'visit__referrer_id', 'metric_time__day']
@@ -54,51 +54,51 @@ FROM (
SELECT DISTINCT
FIRST_VALUE(sma_28019_cte.visits) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
- , subq_23.session_id
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
+ , subq_22.session_id
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
, FIRST_VALUE(sma_28019_cte.visit__referrer_id) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
- , subq_23.session_id
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
+ , subq_22.session_id
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
, FIRST_VALUE(sma_28019_cte.metric_time__day) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
- , subq_23.session_id
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
+ , subq_22.session_id
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
, FIRST_VALUE(sma_28019_cte.user) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
- , subq_23.session_id
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
+ , subq_22.session_id
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
, FIRST_VALUE(sma_28019_cte.session) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
- , subq_23.session_id
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
+ , subq_22.session_id
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS session
- , subq_23.mf_internal_uuid AS mf_internal_uuid
- , subq_23.buys AS buys
+ , subq_22.mf_internal_uuid AS mf_internal_uuid
+ , subq_22.buys AS buys
FROM sma_28019_cte sma_28019_cte
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
@@ -111,31 +111,31 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_23
+ ) subq_22
ON
(
- sma_28019_cte.user = subq_23.user
+ sma_28019_cte.user = subq_22.user
) AND (
- sma_28019_cte.session = subq_23.session_id
+ sma_28019_cte.session = subq_22.session_id
) AND (
(
- sma_28019_cte.metric_time__day <= subq_23.metric_time__day
+ sma_28019_cte.metric_time__day <= subq_22.metric_time__day
) AND (
- sma_28019_cte.metric_time__day > subq_23.metric_time__day - INTERVAL 7 day
+ sma_28019_cte.metric_time__day > subq_22.metric_time__day - INTERVAL 7 day
)
)
- ) subq_24
+ ) subq_23
GROUP BY
metric_time__day
, visit__referrer_id
- ) subq_27
+ ) subq_26
ON
(
- subq_18.visit__referrer_id = subq_27.visit__referrer_id
+ subq_17.visit__referrer_id = subq_26.visit__referrer_id
) AND (
- subq_18.metric_time__day = subq_27.metric_time__day
+ subq_17.metric_time__day = subq_26.metric_time__day
)
GROUP BY
- COALESCE(subq_18.metric_time__day, subq_27.metric_time__day)
- , COALESCE(subq_18.visit__referrer_id, subq_27.visit__referrer_id)
-) subq_28
+ COALESCE(subq_17.metric_time__day, subq_26.metric_time__day)
+ , COALESCE(subq_17.visit__referrer_id, subq_26.visit__referrer_id)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_no_group_by__plan0.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_no_group_by__plan0.sql
index 8173623856..9c3903c3ab 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_no_group_by__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_no_group_by__plan0.sql
@@ -6,12 +6,12 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- CAST(subq_14.buys AS DOUBLE) / CAST(NULLIF(subq_14.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ CAST(subq_13.buys AS DOUBLE) / CAST(NULLIF(subq_13.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Combine Aggregated Outputs
SELECT
MAX(subq_3.visits) AS visits
- , MAX(subq_13.buys) AS buys
+ , MAX(subq_12.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -105,97 +105,97 @@ FROM (
CROSS JOIN (
-- Aggregate Measures
SELECT
- SUM(subq_12.buys) AS buys
+ SUM(subq_11.buys) AS buys
FROM (
-- Pass Only Elements: ['buys',]
SELECT
- subq_11.buys
+ subq_10.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_10.metric_time__day
- , subq_10.user
- , subq_10.buys
- , subq_10.visits
+ subq_9.metric_time__day
+ , subq_9.user
+ , subq_9.buys
+ , subq_9.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_6.visits) OVER (
+ FIRST_VALUE(subq_5.visits) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_6.metric_time__day) OVER (
+ , FIRST_VALUE(subq_5.metric_time__day) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_6.user) OVER (
+ , FIRST_VALUE(subq_5.user) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_9.mf_internal_uuid AS mf_internal_uuid
- , subq_9.buys AS buys
+ , subq_8.mf_internal_uuid AS mf_internal_uuid
+ , subq_8.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
- subq_5.metric_time__day
- , subq_5.user
- , subq_5.visits
+ subq_4.metric_time__day
+ , subq_4.user
+ , subq_4.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.visit__ds__day
- , subq_4.visit__ds__week
- , subq_4.visit__ds__month
- , subq_4.visit__ds__quarter
- , subq_4.visit__ds__year
- , subq_4.visit__ds__extract_year
- , subq_4.visit__ds__extract_quarter
- , subq_4.visit__ds__extract_month
- , subq_4.visit__ds__extract_day
- , subq_4.visit__ds__extract_dow
- , subq_4.visit__ds__extract_doy
- , subq_4.ds__day AS metric_time__day
- , subq_4.ds__week AS metric_time__week
- , subq_4.ds__month AS metric_time__month
- , subq_4.ds__quarter AS metric_time__quarter
- , subq_4.ds__year AS metric_time__year
- , subq_4.ds__extract_year AS metric_time__extract_year
- , subq_4.ds__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds__extract_month AS metric_time__extract_month
- , subq_4.ds__extract_day AS metric_time__extract_day
- , subq_4.ds__extract_dow AS metric_time__extract_dow
- , subq_4.ds__extract_doy AS metric_time__extract_doy
- , subq_4.user
- , subq_4.session
- , subq_4.visit__user
- , subq_4.visit__session
- , subq_4.referrer_id
- , subq_4.visit__referrer_id
- , subq_4.visits
- , subq_4.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -230,118 +230,118 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_4
+ ) subq_5
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_month__month
- , subq_8.ds_month__quarter
- , subq_8.ds_month__year
- , subq_8.ds_month__extract_year
- , subq_8.ds_month__extract_quarter
- , subq_8.ds_month__extract_month
- , subq_8.buy__ds__day
- , subq_8.buy__ds__week
- , subq_8.buy__ds__month
- , subq_8.buy__ds__quarter
- , subq_8.buy__ds__year
- , subq_8.buy__ds__extract_year
- , subq_8.buy__ds__extract_quarter
- , subq_8.buy__ds__extract_month
- , subq_8.buy__ds__extract_day
- , subq_8.buy__ds__extract_dow
- , subq_8.buy__ds__extract_doy
- , subq_8.buy__ds_month__month
- , subq_8.buy__ds_month__quarter
- , subq_8.buy__ds_month__year
- , subq_8.buy__ds_month__extract_year
- , subq_8.buy__ds_month__extract_quarter
- , subq_8.buy__ds_month__extract_month
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session_id
- , subq_8.buy__user
- , subq_8.buy__session_id
- , subq_8.buys
- , subq_8.buyers
+ subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds_month__month
+ , subq_7.ds_month__quarter
+ , subq_7.ds_month__year
+ , subq_7.ds_month__extract_year
+ , subq_7.ds_month__extract_quarter
+ , subq_7.ds_month__extract_month
+ , subq_7.buy__ds__day
+ , subq_7.buy__ds__week
+ , subq_7.buy__ds__month
+ , subq_7.buy__ds__quarter
+ , subq_7.buy__ds__year
+ , subq_7.buy__ds__extract_year
+ , subq_7.buy__ds__extract_quarter
+ , subq_7.buy__ds__extract_month
+ , subq_7.buy__ds__extract_day
+ , subq_7.buy__ds__extract_dow
+ , subq_7.buy__ds__extract_doy
+ , subq_7.buy__ds_month__month
+ , subq_7.buy__ds_month__quarter
+ , subq_7.buy__ds_month__year
+ , subq_7.buy__ds_month__extract_year
+ , subq_7.buy__ds_month__extract_quarter
+ , subq_7.buy__ds_month__extract_month
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session_id
+ , subq_7.buy__user
+ , subq_7.buy__session_id
+ , subq_7.buys
+ , subq_7.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds_month__month
- , subq_7.ds_month__quarter
- , subq_7.ds_month__year
- , subq_7.ds_month__extract_year
- , subq_7.ds_month__extract_quarter
- , subq_7.ds_month__extract_month
- , subq_7.buy__ds__day
- , subq_7.buy__ds__week
- , subq_7.buy__ds__month
- , subq_7.buy__ds__quarter
- , subq_7.buy__ds__year
- , subq_7.buy__ds__extract_year
- , subq_7.buy__ds__extract_quarter
- , subq_7.buy__ds__extract_month
- , subq_7.buy__ds__extract_day
- , subq_7.buy__ds__extract_dow
- , subq_7.buy__ds__extract_doy
- , subq_7.buy__ds_month__month
- , subq_7.buy__ds_month__quarter
- , subq_7.buy__ds_month__year
- , subq_7.buy__ds_month__extract_year
- , subq_7.buy__ds_month__extract_quarter
- , subq_7.buy__ds_month__extract_month
- , subq_7.ds__day AS metric_time__day
- , subq_7.ds__week AS metric_time__week
- , subq_7.ds__month AS metric_time__month
- , subq_7.ds__quarter AS metric_time__quarter
- , subq_7.ds__year AS metric_time__year
- , subq_7.ds__extract_year AS metric_time__extract_year
- , subq_7.ds__extract_quarter AS metric_time__extract_quarter
- , subq_7.ds__extract_month AS metric_time__extract_month
- , subq_7.ds__extract_day AS metric_time__extract_day
- , subq_7.ds__extract_dow AS metric_time__extract_dow
- , subq_7.ds__extract_doy AS metric_time__extract_doy
- , subq_7.user
- , subq_7.session_id
- , subq_7.buy__user
- , subq_7.buy__session_id
- , subq_7.buys
- , subq_7.buyers
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds_month__month
+ , subq_6.ds_month__quarter
+ , subq_6.ds_month__year
+ , subq_6.ds_month__extract_year
+ , subq_6.ds_month__extract_quarter
+ , subq_6.ds_month__extract_month
+ , subq_6.buy__ds__day
+ , subq_6.buy__ds__week
+ , subq_6.buy__ds__month
+ , subq_6.buy__ds__quarter
+ , subq_6.buy__ds__year
+ , subq_6.buy__ds__extract_year
+ , subq_6.buy__ds__extract_quarter
+ , subq_6.buy__ds__extract_month
+ , subq_6.buy__ds__extract_day
+ , subq_6.buy__ds__extract_dow
+ , subq_6.buy__ds__extract_doy
+ , subq_6.buy__ds_month__month
+ , subq_6.buy__ds_month__quarter
+ , subq_6.buy__ds_month__year
+ , subq_6.buy__ds_month__extract_year
+ , subq_6.buy__ds_month__extract_quarter
+ , subq_6.buy__ds_month__extract_month
+ , subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month AS metric_time__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year AS metric_time__year
+ , subq_6.ds__extract_year AS metric_time__extract_year
+ , subq_6.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds__extract_month AS metric_time__extract_month
+ , subq_6.ds__extract_day AS metric_time__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy AS metric_time__extract_doy
+ , subq_6.user
+ , subq_6.session_id
+ , subq_6.buy__user
+ , subq_6.buy__session_id
+ , subq_6.buys
+ , subq_6.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -387,21 +387,21 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
ON
(
- subq_6.user = subq_9.user
+ subq_5.user = subq_8.user
) AND (
(
- subq_6.metric_time__day <= subq_9.metric_time__day
+ subq_5.metric_time__day <= subq_8.metric_time__day
) AND (
- subq_6.metric_time__day > subq_9.metric_time__day - INTERVAL 7 day
+ subq_5.metric_time__day > subq_8.metric_time__day - INTERVAL 7 day
)
)
- ) subq_10
- ) subq_11
- ) subq_12
- ) subq_13
-) subq_14
+ ) subq_9
+ ) subq_10
+ ) subq_11
+ ) subq_12
+) subq_13
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_no_group_by__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_no_group_by__plan0_optimized.sql
index e3e36d963b..85c7a418cb 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_no_group_by__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_no_group_by__plan0_optimized.sql
@@ -17,7 +17,7 @@ WITH sma_28019_cte AS (
)
SELECT
- CAST(MAX(subq_27.buys) AS DOUBLE) / CAST(NULLIF(MAX(subq_18.visits), 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ CAST(MAX(subq_26.buys) AS DOUBLE) / CAST(NULLIF(MAX(subq_17.visits), 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Read From CTE For node_id=sma_28019
-- Pass Only Elements: ['visits',]
@@ -25,7 +25,7 @@ FROM (
SELECT
SUM(visits) AS visits
FROM sma_28019_cte sma_28019_cte
-) subq_18
+) subq_17
CROSS JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys',]
@@ -37,30 +37,30 @@ CROSS JOIN (
SELECT DISTINCT
FIRST_VALUE(sma_28019_cte.visits) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
, FIRST_VALUE(sma_28019_cte.metric_time__day) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
, FIRST_VALUE(sma_28019_cte.user) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_23.mf_internal_uuid AS mf_internal_uuid
- , subq_23.buys AS buys
+ , subq_22.mf_internal_uuid AS mf_internal_uuid
+ , subq_22.buys AS buys
FROM sma_28019_cte sma_28019_cte
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
@@ -72,16 +72,16 @@ CROSS JOIN (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_23
+ ) subq_22
ON
(
- sma_28019_cte.user = subq_23.user
+ sma_28019_cte.user = subq_22.user
) AND (
(
- sma_28019_cte.metric_time__day <= subq_23.metric_time__day
+ sma_28019_cte.metric_time__day <= subq_22.metric_time__day
) AND (
- sma_28019_cte.metric_time__day > subq_23.metric_time__day - INTERVAL 7 day
+ sma_28019_cte.metric_time__day > subq_22.metric_time__day - INTERVAL 7 day
)
)
- ) subq_24
-) subq_27
+ ) subq_23
+) subq_26
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_window__plan0.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_window__plan0.sql
index c5fa85c3fa..6b2092de64 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_window__plan0.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_window__plan0.sql
@@ -6,16 +6,16 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__day
- , subq_14.visit__referrer_id
- , CAST(subq_14.buys AS DOUBLE) / CAST(NULLIF(subq_14.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ subq_13.metric_time__day
+ , subq_13.visit__referrer_id
+ , CAST(subq_13.buys AS DOUBLE) / CAST(NULLIF(subq_13.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_3.metric_time__day, subq_13.metric_time__day) AS metric_time__day
- , COALESCE(subq_3.visit__referrer_id, subq_13.visit__referrer_id) AS visit__referrer_id
+ COALESCE(subq_3.metric_time__day, subq_12.metric_time__day) AS metric_time__day
+ , COALESCE(subq_3.visit__referrer_id, subq_12.visit__referrer_id) AS visit__referrer_id
, MAX(subq_3.visits) AS visits
- , MAX(subq_13.buys) AS buys
+ , MAX(subq_12.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -116,111 +116,111 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_12.metric_time__day
- , subq_12.visit__referrer_id
- , SUM(subq_12.buys) AS buys
+ subq_11.metric_time__day
+ , subq_11.visit__referrer_id
+ , SUM(subq_11.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'visit__referrer_id', 'metric_time__day']
SELECT
- subq_11.metric_time__day
- , subq_11.visit__referrer_id
- , subq_11.buys
+ subq_10.metric_time__day
+ , subq_10.visit__referrer_id
+ , subq_10.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_10.metric_time__day
- , subq_10.user
- , subq_10.visit__referrer_id
- , subq_10.buys
- , subq_10.visits
+ subq_9.metric_time__day
+ , subq_9.user
+ , subq_9.visit__referrer_id
+ , subq_9.buys
+ , subq_9.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_6.visits) OVER (
+ FIRST_VALUE(subq_5.visits) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_6.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_5.visit__referrer_id) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_6.metric_time__day) OVER (
+ , FIRST_VALUE(subq_5.metric_time__day) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_6.user) OVER (
+ , FIRST_VALUE(subq_5.user) OVER (
PARTITION BY
- subq_9.user
- , subq_9.metric_time__day
- , subq_9.mf_internal_uuid
- ORDER BY subq_6.metric_time__day DESC
+ subq_8.user
+ , subq_8.metric_time__day
+ , subq_8.mf_internal_uuid
+ ORDER BY subq_5.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_9.mf_internal_uuid AS mf_internal_uuid
- , subq_9.buys AS buys
+ , subq_8.mf_internal_uuid AS mf_internal_uuid
+ , subq_8.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day', 'user']
SELECT
- subq_5.metric_time__day
- , subq_5.user
- , subq_5.visit__referrer_id
- , subq_5.visits
+ subq_4.metric_time__day
+ , subq_4.user
+ , subq_4.visit__referrer_id
+ , subq_4.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.visit__ds__day
- , subq_4.visit__ds__week
- , subq_4.visit__ds__month
- , subq_4.visit__ds__quarter
- , subq_4.visit__ds__year
- , subq_4.visit__ds__extract_year
- , subq_4.visit__ds__extract_quarter
- , subq_4.visit__ds__extract_month
- , subq_4.visit__ds__extract_day
- , subq_4.visit__ds__extract_dow
- , subq_4.visit__ds__extract_doy
- , subq_4.ds__day AS metric_time__day
- , subq_4.ds__week AS metric_time__week
- , subq_4.ds__month AS metric_time__month
- , subq_4.ds__quarter AS metric_time__quarter
- , subq_4.ds__year AS metric_time__year
- , subq_4.ds__extract_year AS metric_time__extract_year
- , subq_4.ds__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds__extract_month AS metric_time__extract_month
- , subq_4.ds__extract_day AS metric_time__extract_day
- , subq_4.ds__extract_dow AS metric_time__extract_dow
- , subq_4.ds__extract_doy AS metric_time__extract_doy
- , subq_4.user
- , subq_4.session
- , subq_4.visit__user
- , subq_4.visit__session
- , subq_4.referrer_id
- , subq_4.visit__referrer_id
- , subq_4.visits
- , subq_4.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -255,118 +255,118 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_4
+ ) subq_5
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_month__month
- , subq_8.ds_month__quarter
- , subq_8.ds_month__year
- , subq_8.ds_month__extract_year
- , subq_8.ds_month__extract_quarter
- , subq_8.ds_month__extract_month
- , subq_8.buy__ds__day
- , subq_8.buy__ds__week
- , subq_8.buy__ds__month
- , subq_8.buy__ds__quarter
- , subq_8.buy__ds__year
- , subq_8.buy__ds__extract_year
- , subq_8.buy__ds__extract_quarter
- , subq_8.buy__ds__extract_month
- , subq_8.buy__ds__extract_day
- , subq_8.buy__ds__extract_dow
- , subq_8.buy__ds__extract_doy
- , subq_8.buy__ds_month__month
- , subq_8.buy__ds_month__quarter
- , subq_8.buy__ds_month__year
- , subq_8.buy__ds_month__extract_year
- , subq_8.buy__ds_month__extract_quarter
- , subq_8.buy__ds_month__extract_month
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session_id
- , subq_8.buy__user
- , subq_8.buy__session_id
- , subq_8.buys
- , subq_8.buyers
+ subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds_month__month
+ , subq_7.ds_month__quarter
+ , subq_7.ds_month__year
+ , subq_7.ds_month__extract_year
+ , subq_7.ds_month__extract_quarter
+ , subq_7.ds_month__extract_month
+ , subq_7.buy__ds__day
+ , subq_7.buy__ds__week
+ , subq_7.buy__ds__month
+ , subq_7.buy__ds__quarter
+ , subq_7.buy__ds__year
+ , subq_7.buy__ds__extract_year
+ , subq_7.buy__ds__extract_quarter
+ , subq_7.buy__ds__extract_month
+ , subq_7.buy__ds__extract_day
+ , subq_7.buy__ds__extract_dow
+ , subq_7.buy__ds__extract_doy
+ , subq_7.buy__ds_month__month
+ , subq_7.buy__ds_month__quarter
+ , subq_7.buy__ds_month__year
+ , subq_7.buy__ds_month__extract_year
+ , subq_7.buy__ds_month__extract_quarter
+ , subq_7.buy__ds_month__extract_month
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session_id
+ , subq_7.buy__user
+ , subq_7.buy__session_id
+ , subq_7.buys
+ , subq_7.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds_month__month
- , subq_7.ds_month__quarter
- , subq_7.ds_month__year
- , subq_7.ds_month__extract_year
- , subq_7.ds_month__extract_quarter
- , subq_7.ds_month__extract_month
- , subq_7.buy__ds__day
- , subq_7.buy__ds__week
- , subq_7.buy__ds__month
- , subq_7.buy__ds__quarter
- , subq_7.buy__ds__year
- , subq_7.buy__ds__extract_year
- , subq_7.buy__ds__extract_quarter
- , subq_7.buy__ds__extract_month
- , subq_7.buy__ds__extract_day
- , subq_7.buy__ds__extract_dow
- , subq_7.buy__ds__extract_doy
- , subq_7.buy__ds_month__month
- , subq_7.buy__ds_month__quarter
- , subq_7.buy__ds_month__year
- , subq_7.buy__ds_month__extract_year
- , subq_7.buy__ds_month__extract_quarter
- , subq_7.buy__ds_month__extract_month
- , subq_7.ds__day AS metric_time__day
- , subq_7.ds__week AS metric_time__week
- , subq_7.ds__month AS metric_time__month
- , subq_7.ds__quarter AS metric_time__quarter
- , subq_7.ds__year AS metric_time__year
- , subq_7.ds__extract_year AS metric_time__extract_year
- , subq_7.ds__extract_quarter AS metric_time__extract_quarter
- , subq_7.ds__extract_month AS metric_time__extract_month
- , subq_7.ds__extract_day AS metric_time__extract_day
- , subq_7.ds__extract_dow AS metric_time__extract_dow
- , subq_7.ds__extract_doy AS metric_time__extract_doy
- , subq_7.user
- , subq_7.session_id
- , subq_7.buy__user
- , subq_7.buy__session_id
- , subq_7.buys
- , subq_7.buyers
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds_month__month
+ , subq_6.ds_month__quarter
+ , subq_6.ds_month__year
+ , subq_6.ds_month__extract_year
+ , subq_6.ds_month__extract_quarter
+ , subq_6.ds_month__extract_month
+ , subq_6.buy__ds__day
+ , subq_6.buy__ds__week
+ , subq_6.buy__ds__month
+ , subq_6.buy__ds__quarter
+ , subq_6.buy__ds__year
+ , subq_6.buy__ds__extract_year
+ , subq_6.buy__ds__extract_quarter
+ , subq_6.buy__ds__extract_month
+ , subq_6.buy__ds__extract_day
+ , subq_6.buy__ds__extract_dow
+ , subq_6.buy__ds__extract_doy
+ , subq_6.buy__ds_month__month
+ , subq_6.buy__ds_month__quarter
+ , subq_6.buy__ds_month__year
+ , subq_6.buy__ds_month__extract_year
+ , subq_6.buy__ds_month__extract_quarter
+ , subq_6.buy__ds_month__extract_month
+ , subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month AS metric_time__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year AS metric_time__year
+ , subq_6.ds__extract_year AS metric_time__extract_year
+ , subq_6.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds__extract_month AS metric_time__extract_month
+ , subq_6.ds__extract_day AS metric_time__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy AS metric_time__extract_doy
+ , subq_6.user
+ , subq_6.session_id
+ , subq_6.buy__user
+ , subq_6.buy__session_id
+ , subq_6.buys
+ , subq_6.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -412,33 +412,33 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
ON
(
- subq_6.user = subq_9.user
+ subq_5.user = subq_8.user
) AND (
(
- subq_6.metric_time__day <= subq_9.metric_time__day
+ subq_5.metric_time__day <= subq_8.metric_time__day
) AND (
- subq_6.metric_time__day > subq_9.metric_time__day - INTERVAL 7 day
+ subq_5.metric_time__day > subq_8.metric_time__day - INTERVAL 7 day
)
)
- ) subq_10
- ) subq_11
- ) subq_12
+ ) subq_9
+ ) subq_10
+ ) subq_11
GROUP BY
- subq_12.metric_time__day
- , subq_12.visit__referrer_id
- ) subq_13
+ subq_11.metric_time__day
+ , subq_11.visit__referrer_id
+ ) subq_12
ON
(
- subq_3.visit__referrer_id = subq_13.visit__referrer_id
+ subq_3.visit__referrer_id = subq_12.visit__referrer_id
) AND (
- subq_3.metric_time__day = subq_13.metric_time__day
+ subq_3.metric_time__day = subq_12.metric_time__day
)
GROUP BY
- COALESCE(subq_3.metric_time__day, subq_13.metric_time__day)
- , COALESCE(subq_3.visit__referrer_id, subq_13.visit__referrer_id)
-) subq_14
+ COALESCE(subq_3.metric_time__day, subq_12.metric_time__day)
+ , COALESCE(subq_3.visit__referrer_id, subq_12.visit__referrer_id)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_window__plan0_optimized.sql b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_window__plan0_optimized.sql
index 6a5a0bb6fd..4fc8163265 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_window__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/DuckDB/test_conversion_rate_with_window__plan0_optimized.sql
@@ -23,10 +23,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_18.metric_time__day, subq_27.metric_time__day) AS metric_time__day
- , COALESCE(subq_18.visit__referrer_id, subq_27.visit__referrer_id) AS visit__referrer_id
- , MAX(subq_18.visits) AS visits
- , MAX(subq_27.buys) AS buys
+ COALESCE(subq_17.metric_time__day, subq_26.metric_time__day) AS metric_time__day
+ , COALESCE(subq_17.visit__referrer_id, subq_26.visit__referrer_id) AS visit__referrer_id
+ , MAX(subq_17.visits) AS visits
+ , MAX(subq_26.buys) AS buys
FROM (
-- Read From CTE For node_id=sma_28019
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'metric_time__day']
@@ -39,7 +39,7 @@ FROM (
GROUP BY
metric_time__day
, visit__referrer_id
- ) subq_18
+ ) subq_17
FULL OUTER JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys', 'visit__referrer_id', 'metric_time__day']
@@ -53,38 +53,38 @@ FROM (
SELECT DISTINCT
FIRST_VALUE(sma_28019_cte.visits) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
, FIRST_VALUE(sma_28019_cte.visit__referrer_id) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
, FIRST_VALUE(sma_28019_cte.metric_time__day) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
, FIRST_VALUE(sma_28019_cte.user) OVER (
PARTITION BY
- subq_23.user
- , subq_23.metric_time__day
- , subq_23.mf_internal_uuid
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_23.mf_internal_uuid AS mf_internal_uuid
- , subq_23.buys AS buys
+ , subq_22.mf_internal_uuid AS mf_internal_uuid
+ , subq_22.buys AS buys
FROM sma_28019_cte sma_28019_cte
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
@@ -96,29 +96,29 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_23
+ ) subq_22
ON
(
- sma_28019_cte.user = subq_23.user
+ sma_28019_cte.user = subq_22.user
) AND (
(
- sma_28019_cte.metric_time__day <= subq_23.metric_time__day
+ sma_28019_cte.metric_time__day <= subq_22.metric_time__day
) AND (
- sma_28019_cte.metric_time__day > subq_23.metric_time__day - INTERVAL 7 day
+ sma_28019_cte.metric_time__day > subq_22.metric_time__day - INTERVAL 7 day
)
)
- ) subq_24
+ ) subq_23
GROUP BY
metric_time__day
, visit__referrer_id
- ) subq_27
+ ) subq_26
ON
(
- subq_18.visit__referrer_id = subq_27.visit__referrer_id
+ subq_17.visit__referrer_id = subq_26.visit__referrer_id
) AND (
- subq_18.metric_time__day = subq_27.metric_time__day
+ subq_17.metric_time__day = subq_26.metric_time__day
)
GROUP BY
- COALESCE(subq_18.metric_time__day, subq_27.metric_time__day)
- , COALESCE(subq_18.visit__referrer_id, subq_27.visit__referrer_id)
-) subq_28
+ COALESCE(subq_17.metric_time__day, subq_26.metric_time__day)
+ , COALESCE(subq_17.visit__referrer_id, subq_26.visit__referrer_id)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_count_with_no_group_by__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_count_with_no_group_by__plan0.xml
index 76441e3b99..615237c76d 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_count_with_no_group_by__plan0.xml
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_count_with_no_group_by__plan0.xml
@@ -6,15 +6,15 @@ docstring:
-
+
-
-
+
+
-
+
@@ -28,8 +28,8 @@ docstring:
-
-
+
+
@@ -397,42 +397,42 @@ docstring:
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -450,16 +450,16 @@ docstring:
-
+
-
-
+
+
-
-
+
+
@@ -467,239 +467,239 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -863,534 +863,534 @@ docstring:
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.xml
index 298eed6bc2..3f937b4292 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.xml
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_metric_join_to_timespine_and_fill_nulls_with_0__plan0.xml
@@ -6,19 +6,19 @@ docstring:
-
-
+
+
-
+
-
+
@@ -34,11 +34,11 @@ docstring:
-
+
-
-
+
+
@@ -51,14 +51,14 @@ docstring:
-
+
-
+
-
+
@@ -67,18 +67,18 @@ docstring:
-
+
-
+
-
+
@@ -130,12 +130,12 @@ docstring:
-
+
-
+
@@ -203,7 +203,7 @@ docstring:
-
+
@@ -214,7 +214,7 @@ docstring:
-
+
@@ -224,7 +224,7 @@ docstring:
-
+
@@ -232,12 +232,12 @@ docstring:
-
+
-
+
@@ -437,12 +437,12 @@ docstring:
-
+
-
+
@@ -608,15 +608,15 @@ docstring:
-
+
-
-
-
+
+
+
-
-
+
+
@@ -624,78 +624,78 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -763,10 +763,10 @@ docstring:
-
+
-
+
@@ -774,50 +774,50 @@ docstring:
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -835,19 +835,19 @@ docstring:
-
+
-
+
-
+
-
-
+
+
@@ -855,239 +855,239 @@ docstring:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -1251,260 +1251,260 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1512,273 +1512,273 @@ docstring:
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate__plan0.xml
index ce9268fdfa..7a71a3e79b 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate__plan0.xml
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate__plan0.xml
@@ -6,17 +6,17 @@ docstring:
-
+
-
+
-
+
-
+
@@ -35,8 +35,8 @@ docstring:
-
-
+
+
@@ -425,10 +425,10 @@ docstring:
-
+
-
+
@@ -436,51 +436,51 @@ docstring:
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -503,16 +503,16 @@ docstring:
-
+
-
-
+
+
-
-
+
+
@@ -521,244 +521,244 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -922,260 +922,260 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1183,273 +1183,273 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_constant_properties__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_constant_properties__plan0.xml
index b1300974bd..210ffdc888 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_constant_properties__plan0.xml
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_constant_properties__plan0.xml
@@ -6,21 +6,21 @@ docstring:
-
-
+
+
-
+
-
+
-
+
@@ -44,8 +44,8 @@ docstring:
-
-
+
+
@@ -448,12 +448,12 @@ docstring:
-
+
-
+
-
+
@@ -461,60 +461,60 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -542,16 +542,16 @@ docstring:
-
+
-
-
+
+
-
-
+
+
@@ -561,249 +561,249 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -967,260 +967,260 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1228,273 +1228,273 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_no_group_by__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_no_group_by__plan0.xml
index 3c270d9a90..c7b444e00c 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_no_group_by__plan0.xml
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_no_group_by__plan0.xml
@@ -6,18 +6,18 @@ docstring:
-
+
-
+
-
+
@@ -31,8 +31,8 @@ docstring:
-
-
+
+
@@ -400,42 +400,42 @@ docstring:
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -453,16 +453,16 @@ docstring:
-
+
-
-
+
+
-
-
+
+
@@ -470,239 +470,239 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -866,534 +866,534 @@ docstring:
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
diff --git a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_window__plan0.xml b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_window__plan0.xml
index 272d8cfa23..149672390e 100644
--- a/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_window__plan0.xml
+++ b/tests_metricflow/snapshots/test_conversion_metrics_to_sql.py/SqlPlan/test_conversion_rate_with_window__plan0.xml
@@ -6,21 +6,21 @@ docstring:
-
-
+
+
-
+
-
+
-
+
@@ -44,8 +44,8 @@ docstring:
-
-
+
+
@@ -448,12 +448,12 @@ docstring:
-
+
-
+
-
+
@@ -461,58 +461,58 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -535,16 +535,16 @@ docstring:
-
+
-
-
+
+
-
-
+
+
@@ -553,244 +553,244 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -954,260 +954,260 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1215,273 +1215,273 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/tests_metricflow/snapshots/test_cte_sql.py/str/test_cte_for_shared_metrics__result.txt b/tests_metricflow/snapshots/test_cte_sql.py/str/test_cte_for_shared_metrics__result.txt
index 237da5c0be..c58143f060 100644
--- a/tests_metricflow/snapshots/test_cte_sql.py/str/test_cte_for_shared_metrics__result.txt
+++ b/tests_metricflow/snapshots/test_cte_sql.py/str/test_cte_for_shared_metrics__result.txt
@@ -6,11 +6,11 @@ docstring:
sql_without_cte:
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day, subq_36.metric_time__day) AS metric_time__day
- , COALESCE(subq_8.listing__country_latest, subq_17.listing__country_latest, subq_36.listing__country_latest) AS listing__country_latest
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day, subq_19.metric_time__day) AS metric_time__day
+ , COALESCE(subq_8.listing__country_latest, subq_16.listing__country_latest, subq_19.listing__country_latest) AS listing__country_latest
, MAX(subq_8.bookings) AS bookings
- , MAX(subq_17.views) AS views
- , MAX(CAST(subq_36.bookings AS DOUBLE) / CAST(NULLIF(subq_36.views, 0) AS DOUBLE)) AS bookings_per_view
+ , MAX(subq_16.views) AS views
+ , MAX(CAST(subq_19.bookings AS DOUBLE) / CAST(NULLIF(subq_19.views, 0) AS DOUBLE)) AS bookings_per_view
FROM (
-- Join Standard Outputs
-- Pass Only Elements: ['bookings', 'listing__country_latest', 'metric_time__day']
@@ -62,29 +62,29 @@ sql_without_cte:
GROUP BY
subq_10.metric_time__day
, listings_latest_src_28000.country
- ) subq_17
+ ) subq_16
ON
(
- subq_8.listing__country_latest = subq_17.listing__country_latest
+ subq_8.listing__country_latest = subq_16.listing__country_latest
) AND (
- subq_8.metric_time__day = subq_17.metric_time__day
+ subq_8.metric_time__day = subq_16.metric_time__day
)
FULL OUTER JOIN (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_26.metric_time__day, subq_35.metric_time__day) AS metric_time__day
- , COALESCE(subq_26.listing__country_latest, subq_35.listing__country_latest) AS listing__country_latest
- , MAX(subq_26.bookings) AS bookings
- , MAX(subq_35.views) AS views
+ COALESCE(subq_17.metric_time__day, subq_18.metric_time__day) AS metric_time__day
+ , COALESCE(subq_17.listing__country_latest, subq_18.listing__country_latest) AS listing__country_latest
+ , MAX(subq_17.bookings) AS bookings
+ , MAX(subq_18.views) AS views
FROM (
-- Join Standard Outputs
-- Pass Only Elements: ['bookings', 'listing__country_latest', 'metric_time__day']
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_19.metric_time__day AS metric_time__day
+ subq_1.metric_time__day AS metric_time__day
, listings_latest_src_28000.country AS listing__country_latest
- , SUM(subq_19.bookings) AS bookings
+ , SUM(subq_1.bookings) AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -93,24 +93,24 @@ sql_without_cte:
, listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_19
+ ) subq_1
LEFT OUTER JOIN
***************************.dim_listings_latest listings_latest_src_28000
ON
- subq_19.listing = listings_latest_src_28000.listing_id
+ subq_1.listing = listings_latest_src_28000.listing_id
GROUP BY
- subq_19.metric_time__day
+ subq_1.metric_time__day
, listings_latest_src_28000.country
- ) subq_26
+ ) subq_17
FULL OUTER JOIN (
-- Join Standard Outputs
-- Pass Only Elements: ['views', 'listing__country_latest', 'metric_time__day']
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_28.metric_time__day AS metric_time__day
+ subq_10.metric_time__day AS metric_time__day
, listings_latest_src_28000.country AS listing__country_latest
- , SUM(subq_28.views) AS views
+ , SUM(subq_10.views) AS views
FROM (
-- Read Elements From Semantic Model 'views_source'
-- Metric Time Dimension 'ds'
@@ -119,34 +119,34 @@ sql_without_cte:
, listing_id AS listing
, 1 AS views
FROM ***************************.fct_views views_source_src_28000
- ) subq_28
+ ) subq_10
LEFT OUTER JOIN
***************************.dim_listings_latest listings_latest_src_28000
ON
- subq_28.listing = listings_latest_src_28000.listing_id
+ subq_10.listing = listings_latest_src_28000.listing_id
GROUP BY
- subq_28.metric_time__day
+ subq_10.metric_time__day
, listings_latest_src_28000.country
- ) subq_35
+ ) subq_18
ON
(
- subq_26.listing__country_latest = subq_35.listing__country_latest
+ subq_17.listing__country_latest = subq_18.listing__country_latest
) AND (
- subq_26.metric_time__day = subq_35.metric_time__day
+ subq_17.metric_time__day = subq_18.metric_time__day
)
GROUP BY
- COALESCE(subq_26.metric_time__day, subq_35.metric_time__day)
- , COALESCE(subq_26.listing__country_latest, subq_35.listing__country_latest)
- ) subq_36
+ COALESCE(subq_17.metric_time__day, subq_18.metric_time__day)
+ , COALESCE(subq_17.listing__country_latest, subq_18.listing__country_latest)
+ ) subq_19
ON
(
- COALESCE(subq_8.listing__country_latest, subq_17.listing__country_latest) = subq_36.listing__country_latest
+ COALESCE(subq_8.listing__country_latest, subq_16.listing__country_latest) = subq_19.listing__country_latest
) AND (
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day) = subq_36.metric_time__day
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day) = subq_19.metric_time__day
)
GROUP BY
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day, subq_36.metric_time__day)
- , COALESCE(subq_8.listing__country_latest, subq_17.listing__country_latest, subq_36.listing__country_latest)
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day, subq_19.metric_time__day)
+ , COALESCE(subq_8.listing__country_latest, subq_16.listing__country_latest, subq_19.listing__country_latest)
sql_with_cte:
@@ -157,9 +157,9 @@ sql_with_cte:
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_39.metric_time__day AS metric_time__day
+ subq_22.metric_time__day AS metric_time__day
, listings_latest_src_28000.country AS listing__country_latest
- , SUM(subq_39.bookings) AS bookings
+ , SUM(subq_22.bookings) AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -168,13 +168,13 @@ sql_with_cte:
, listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_39
+ ) subq_22
LEFT OUTER JOIN
***************************.dim_listings_latest listings_latest_src_28000
ON
- subq_39.listing = listings_latest_src_28000.listing_id
+ subq_22.listing = listings_latest_src_28000.listing_id
GROUP BY
- subq_39.metric_time__day
+ subq_22.metric_time__day
, listings_latest_src_28000.country
)
@@ -184,9 +184,9 @@ sql_with_cte:
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_48.metric_time__day AS metric_time__day
+ subq_31.metric_time__day AS metric_time__day
, listings_latest_src_28000.country AS listing__country_latest
- , SUM(subq_48.views) AS views
+ , SUM(subq_31.views) AS views
FROM (
-- Read Elements From Semantic Model 'views_source'
-- Metric Time Dimension 'ds'
@@ -195,22 +195,22 @@ sql_with_cte:
, listing_id AS listing
, 1 AS views
FROM ***************************.fct_views views_source_src_28000
- ) subq_48
+ ) subq_31
LEFT OUTER JOIN
***************************.dim_listings_latest listings_latest_src_28000
ON
- subq_48.listing = listings_latest_src_28000.listing_id
+ subq_31.listing = listings_latest_src_28000.listing_id
GROUP BY
- subq_48.metric_time__day
+ subq_31.metric_time__day
, listings_latest_src_28000.country
)
SELECT
- COALESCE(cm_0_cte.metric_time__day, cm_1_cte.metric_time__day, subq_58.metric_time__day) AS metric_time__day
- , COALESCE(cm_0_cte.listing__country_latest, cm_1_cte.listing__country_latest, subq_58.listing__country_latest) AS listing__country_latest
+ COALESCE(cm_0_cte.metric_time__day, cm_1_cte.metric_time__day, subq_40.metric_time__day) AS metric_time__day
+ , COALESCE(cm_0_cte.listing__country_latest, cm_1_cte.listing__country_latest, subq_40.listing__country_latest) AS listing__country_latest
, MAX(cm_0_cte.bookings) AS bookings
, MAX(cm_1_cte.views) AS views
- , MAX(CAST(subq_58.bookings AS DOUBLE) / CAST(NULLIF(subq_58.views, 0) AS DOUBLE)) AS bookings_per_view
+ , MAX(CAST(subq_40.bookings AS DOUBLE) / CAST(NULLIF(subq_40.views, 0) AS DOUBLE)) AS bookings_per_view
FROM cm_0_cte cm_0_cte
FULL OUTER JOIN
cm_1_cte cm_1_cte
@@ -239,13 +239,13 @@ sql_with_cte:
GROUP BY
COALESCE(cm_0_cte.metric_time__day, cm_1_cte.metric_time__day)
, COALESCE(cm_0_cte.listing__country_latest, cm_1_cte.listing__country_latest)
- ) subq_58
+ ) subq_40
ON
(
- COALESCE(cm_0_cte.listing__country_latest, cm_1_cte.listing__country_latest) = subq_58.listing__country_latest
+ COALESCE(cm_0_cte.listing__country_latest, cm_1_cte.listing__country_latest) = subq_40.listing__country_latest
) AND (
- COALESCE(cm_0_cte.metric_time__day, cm_1_cte.metric_time__day) = subq_58.metric_time__day
+ COALESCE(cm_0_cte.metric_time__day, cm_1_cte.metric_time__day) = subq_40.metric_time__day
)
GROUP BY
- COALESCE(cm_0_cte.metric_time__day, cm_1_cte.metric_time__day, subq_58.metric_time__day)
- , COALESCE(cm_0_cte.listing__country_latest, cm_1_cte.listing__country_latest, subq_58.listing__country_latest)
+ COALESCE(cm_0_cte.metric_time__day, cm_1_cte.metric_time__day, subq_40.metric_time__day)
+ , COALESCE(cm_0_cte.listing__country_latest, cm_1_cte.listing__country_latest, subq_40.listing__country_latest)
diff --git a/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_no_window_with_time_constraint__plan0.sql b/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_no_window_with_time_constraint__plan0.sql
index c9d4da08c5..35f8d3db33 100644
--- a/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_no_window_with_time_constraint__plan0.sql
+++ b/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_no_window_with_time_constraint__plan0.sql
@@ -6,181 +6,181 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_8.metric_time__day
- , subq_8.txn_revenue AS revenue_all_time
+ subq_9.metric_time__day
+ , subq_9.txn_revenue AS revenue_all_time
FROM (
-- Aggregate Measures
SELECT
- subq_7.metric_time__day
- , SUM(subq_7.txn_revenue) AS txn_revenue
+ subq_8.metric_time__day
+ , SUM(subq_8.txn_revenue) AS txn_revenue
FROM (
-- Pass Only Elements: ['txn_revenue', 'metric_time__day']
SELECT
- subq_6.metric_time__day
- , subq_6.txn_revenue
+ subq_7.metric_time__day
+ , subq_7.txn_revenue
FROM (
-- Constrain Time Range to [2020-01-01T00:00:00, 2020-01-01T00:00:00]
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.revenue_instance__ds__day
- , subq_5.revenue_instance__ds__week
- , subq_5.revenue_instance__ds__month
- , subq_5.revenue_instance__ds__quarter
- , subq_5.revenue_instance__ds__year
- , subq_5.revenue_instance__ds__extract_year
- , subq_5.revenue_instance__ds__extract_quarter
- , subq_5.revenue_instance__ds__extract_month
- , subq_5.revenue_instance__ds__extract_day
- , subq_5.revenue_instance__ds__extract_dow
- , subq_5.revenue_instance__ds__extract_doy
- , subq_5.metric_time__day
- , subq_5.metric_time__week
- , subq_5.metric_time__month
- , subq_5.metric_time__quarter
- , subq_5.metric_time__year
- , subq_5.metric_time__extract_year
- , subq_5.metric_time__extract_quarter
- , subq_5.metric_time__extract_month
- , subq_5.metric_time__extract_day
- , subq_5.metric_time__extract_dow
- , subq_5.metric_time__extract_doy
- , subq_5.user
- , subq_5.revenue_instance__user
- , subq_5.txn_revenue
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.revenue_instance__ds__day
+ , subq_6.revenue_instance__ds__week
+ , subq_6.revenue_instance__ds__month
+ , subq_6.revenue_instance__ds__quarter
+ , subq_6.revenue_instance__ds__year
+ , subq_6.revenue_instance__ds__extract_year
+ , subq_6.revenue_instance__ds__extract_quarter
+ , subq_6.revenue_instance__ds__extract_month
+ , subq_6.revenue_instance__ds__extract_day
+ , subq_6.revenue_instance__ds__extract_dow
+ , subq_6.revenue_instance__ds__extract_doy
+ , subq_6.metric_time__day
+ , subq_6.metric_time__week
+ , subq_6.metric_time__month
+ , subq_6.metric_time__quarter
+ , subq_6.metric_time__year
+ , subq_6.metric_time__extract_year
+ , subq_6.metric_time__extract_quarter
+ , subq_6.metric_time__extract_month
+ , subq_6.metric_time__extract_day
+ , subq_6.metric_time__extract_dow
+ , subq_6.metric_time__extract_doy
+ , subq_6.user
+ , subq_6.revenue_instance__user
+ , subq_6.txn_revenue
FROM (
-- Join Self Over Time Range
SELECT
- subq_3.metric_time__day AS metric_time__day
- , subq_2.ds__day AS ds__day
- , subq_2.ds__week AS ds__week
- , subq_2.ds__month AS ds__month
- , subq_2.ds__quarter AS ds__quarter
- , subq_2.ds__year AS ds__year
- , subq_2.ds__extract_year AS ds__extract_year
- , subq_2.ds__extract_quarter AS ds__extract_quarter
- , subq_2.ds__extract_month AS ds__extract_month
- , subq_2.ds__extract_day AS ds__extract_day
- , subq_2.ds__extract_dow AS ds__extract_dow
- , subq_2.ds__extract_doy AS ds__extract_doy
- , subq_2.revenue_instance__ds__day AS revenue_instance__ds__day
- , subq_2.revenue_instance__ds__week AS revenue_instance__ds__week
- , subq_2.revenue_instance__ds__month AS revenue_instance__ds__month
- , subq_2.revenue_instance__ds__quarter AS revenue_instance__ds__quarter
- , subq_2.revenue_instance__ds__year AS revenue_instance__ds__year
- , subq_2.revenue_instance__ds__extract_year AS revenue_instance__ds__extract_year
- , subq_2.revenue_instance__ds__extract_quarter AS revenue_instance__ds__extract_quarter
- , subq_2.revenue_instance__ds__extract_month AS revenue_instance__ds__extract_month
- , subq_2.revenue_instance__ds__extract_day AS revenue_instance__ds__extract_day
- , subq_2.revenue_instance__ds__extract_dow AS revenue_instance__ds__extract_dow
- , subq_2.revenue_instance__ds__extract_doy AS revenue_instance__ds__extract_doy
- , subq_2.metric_time__week AS metric_time__week
- , subq_2.metric_time__month AS metric_time__month
- , subq_2.metric_time__quarter AS metric_time__quarter
- , subq_2.metric_time__year AS metric_time__year
- , subq_2.metric_time__extract_year AS metric_time__extract_year
- , subq_2.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_2.metric_time__extract_month AS metric_time__extract_month
- , subq_2.metric_time__extract_day AS metric_time__extract_day
- , subq_2.metric_time__extract_dow AS metric_time__extract_dow
- , subq_2.metric_time__extract_doy AS metric_time__extract_doy
- , subq_2.user AS user
- , subq_2.revenue_instance__user AS revenue_instance__user
- , subq_2.txn_revenue AS txn_revenue
+ subq_4.metric_time__day AS metric_time__day
+ , subq_3.ds__day AS ds__day
+ , subq_3.ds__week AS ds__week
+ , subq_3.ds__month AS ds__month
+ , subq_3.ds__quarter AS ds__quarter
+ , subq_3.ds__year AS ds__year
+ , subq_3.ds__extract_year AS ds__extract_year
+ , subq_3.ds__extract_quarter AS ds__extract_quarter
+ , subq_3.ds__extract_month AS ds__extract_month
+ , 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.revenue_instance__ds__day AS revenue_instance__ds__day
+ , subq_3.revenue_instance__ds__week AS revenue_instance__ds__week
+ , subq_3.revenue_instance__ds__month AS revenue_instance__ds__month
+ , subq_3.revenue_instance__ds__quarter AS revenue_instance__ds__quarter
+ , subq_3.revenue_instance__ds__year AS revenue_instance__ds__year
+ , subq_3.revenue_instance__ds__extract_year AS revenue_instance__ds__extract_year
+ , subq_3.revenue_instance__ds__extract_quarter AS revenue_instance__ds__extract_quarter
+ , subq_3.revenue_instance__ds__extract_month AS revenue_instance__ds__extract_month
+ , subq_3.revenue_instance__ds__extract_day AS revenue_instance__ds__extract_day
+ , subq_3.revenue_instance__ds__extract_dow AS revenue_instance__ds__extract_dow
+ , subq_3.revenue_instance__ds__extract_doy AS revenue_instance__ds__extract_doy
+ , subq_3.metric_time__week AS metric_time__week
+ , subq_3.metric_time__month AS metric_time__month
+ , subq_3.metric_time__quarter AS metric_time__quarter
+ , subq_3.metric_time__year AS metric_time__year
+ , subq_3.metric_time__extract_year AS metric_time__extract_year
+ , subq_3.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_3.metric_time__extract_month AS metric_time__extract_month
+ , subq_3.metric_time__extract_day AS metric_time__extract_day
+ , subq_3.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_3.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_3.user AS user
+ , subq_3.revenue_instance__user AS revenue_instance__user
+ , subq_3.txn_revenue AS txn_revenue
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
- subq_4.ds AS metric_time__day
- FROM ***************************.mf_time_spine subq_4
- WHERE subq_4.ds BETWEEN '2020-01-01' AND '2020-01-01'
- ) subq_3
+ subq_5.ds AS metric_time__day
+ FROM ***************************.mf_time_spine subq_5
+ WHERE subq_5.ds BETWEEN '2020-01-01' AND '2020-01-01'
+ ) subq_4
INNER JOIN (
-- Constrain Time Range to [2000-01-01T00:00:00, 2020-01-01T00:00:00]
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.revenue_instance__ds__day
- , subq_1.revenue_instance__ds__week
- , subq_1.revenue_instance__ds__month
- , subq_1.revenue_instance__ds__quarter
- , subq_1.revenue_instance__ds__year
- , subq_1.revenue_instance__ds__extract_year
- , subq_1.revenue_instance__ds__extract_quarter
- , subq_1.revenue_instance__ds__extract_month
- , subq_1.revenue_instance__ds__extract_day
- , subq_1.revenue_instance__ds__extract_dow
- , subq_1.revenue_instance__ds__extract_doy
- , subq_1.metric_time__day
- , subq_1.metric_time__week
- , subq_1.metric_time__month
- , subq_1.metric_time__quarter
- , subq_1.metric_time__year
- , subq_1.metric_time__extract_year
- , subq_1.metric_time__extract_quarter
- , subq_1.metric_time__extract_month
- , subq_1.metric_time__extract_day
- , subq_1.metric_time__extract_dow
- , subq_1.metric_time__extract_doy
- , subq_1.user
- , subq_1.revenue_instance__user
- , subq_1.txn_revenue
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.revenue_instance__ds__day
+ , subq_2.revenue_instance__ds__week
+ , subq_2.revenue_instance__ds__month
+ , subq_2.revenue_instance__ds__quarter
+ , subq_2.revenue_instance__ds__year
+ , subq_2.revenue_instance__ds__extract_year
+ , subq_2.revenue_instance__ds__extract_quarter
+ , subq_2.revenue_instance__ds__extract_month
+ , subq_2.revenue_instance__ds__extract_day
+ , subq_2.revenue_instance__ds__extract_dow
+ , subq_2.revenue_instance__ds__extract_doy
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.user
+ , subq_2.revenue_instance__user
+ , subq_2.txn_revenue
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.revenue_instance__ds__day
- , subq_0.revenue_instance__ds__week
- , subq_0.revenue_instance__ds__month
- , subq_0.revenue_instance__ds__quarter
- , subq_0.revenue_instance__ds__year
- , subq_0.revenue_instance__ds__extract_year
- , subq_0.revenue_instance__ds__extract_quarter
- , subq_0.revenue_instance__ds__extract_month
- , subq_0.revenue_instance__ds__extract_day
- , subq_0.revenue_instance__ds__extract_dow
- , subq_0.revenue_instance__ds__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.user
- , subq_0.revenue_instance__user
- , subq_0.txn_revenue
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.revenue_instance__ds__day
+ , subq_1.revenue_instance__ds__week
+ , subq_1.revenue_instance__ds__month
+ , subq_1.revenue_instance__ds__quarter
+ , subq_1.revenue_instance__ds__year
+ , subq_1.revenue_instance__ds__extract_year
+ , subq_1.revenue_instance__ds__extract_quarter
+ , subq_1.revenue_instance__ds__extract_month
+ , subq_1.revenue_instance__ds__extract_day
+ , subq_1.revenue_instance__ds__extract_dow
+ , subq_1.revenue_instance__ds__extract_doy
+ , subq_1.ds__day AS metric_time__day
+ , subq_1.ds__week AS metric_time__week
+ , subq_1.ds__month AS metric_time__month
+ , subq_1.ds__quarter AS metric_time__quarter
+ , subq_1.ds__year AS metric_time__year
+ , subq_1.ds__extract_year AS metric_time__extract_year
+ , subq_1.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_1.ds__extract_month AS metric_time__extract_month
+ , subq_1.ds__extract_day AS metric_time__extract_day
+ , subq_1.ds__extract_dow AS metric_time__extract_dow
+ , subq_1.ds__extract_doy AS metric_time__extract_doy
+ , subq_1.user
+ , subq_1.revenue_instance__user
+ , subq_1.txn_revenue
FROM (
-- Read Elements From Semantic Model 'revenue'
SELECT
@@ -210,16 +210,16 @@ FROM (
, revenue_src_28000.user_id AS user
, revenue_src_28000.user_id AS revenue_instance__user
FROM ***************************.fct_revenue revenue_src_28000
- ) subq_0
- ) subq_1
- WHERE subq_1.metric_time__day BETWEEN '2000-01-01' AND '2020-01-01'
- ) subq_2
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__day BETWEEN '2000-01-01' AND '2020-01-01'
+ ) subq_3
ON
- (subq_2.metric_time__day <= subq_3.metric_time__day)
- ) subq_5
- WHERE subq_5.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
- ) subq_6
- ) subq_7
+ (subq_3.metric_time__day <= subq_4.metric_time__day)
+ ) subq_6
+ WHERE subq_6.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
+ ) subq_7
+ ) subq_8
GROUP BY
- subq_7.metric_time__day
-) subq_8
+ subq_8.metric_time__day
+) subq_9
diff --git a/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_no_window_with_time_constraint__plan0_optimized.sql b/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_no_window_with_time_constraint__plan0_optimized.sql
index b9b94ef7a7..e3da558dd6 100644
--- a/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_no_window_with_time_constraint__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_no_window_with_time_constraint__plan0_optimized.sql
@@ -10,15 +10,15 @@ sql_engine: DuckDB
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__day AS metric_time__day
- , SUM(subq_11.txn_revenue) AS revenue_all_time
+ subq_13.metric_time__day AS metric_time__day
+ , SUM(subq_12.txn_revenue) AS revenue_all_time
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
ds AS metric_time__day
- FROM ***************************.mf_time_spine subq_13
+ FROM ***************************.mf_time_spine subq_14
WHERE ds BETWEEN '2020-01-01' AND '2020-01-01'
-) subq_12
+) subq_13
INNER JOIN (
-- Read Elements From Semantic Model 'revenue'
-- Metric Time Dimension 'ds'
@@ -28,9 +28,9 @@ INNER JOIN (
, revenue AS txn_revenue
FROM ***************************.fct_revenue revenue_src_28000
WHERE DATE_TRUNC('day', created_at) BETWEEN '2000-01-01' AND '2020-01-01'
-) subq_11
+) subq_12
ON
- (subq_11.metric_time__day <= subq_12.metric_time__day)
-WHERE subq_12.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
+ (subq_12.metric_time__day <= subq_13.metric_time__day)
+WHERE subq_13.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
GROUP BY
- subq_12.metric_time__day
+ subq_13.metric_time__day
diff --git a/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_with_time_constraint__plan0.sql b/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_with_time_constraint__plan0.sql
index b2b07b6456..743b8112d6 100644
--- a/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_with_time_constraint__plan0.sql
+++ b/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_with_time_constraint__plan0.sql
@@ -10,181 +10,181 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_8.metric_time__day
- , subq_8.txn_revenue AS trailing_2_months_revenue
+ subq_9.metric_time__day
+ , subq_9.txn_revenue AS trailing_2_months_revenue
FROM (
-- Aggregate Measures
SELECT
- subq_7.metric_time__day
- , SUM(subq_7.txn_revenue) AS txn_revenue
+ subq_8.metric_time__day
+ , SUM(subq_8.txn_revenue) AS txn_revenue
FROM (
-- Pass Only Elements: ['txn_revenue', 'metric_time__day']
SELECT
- subq_6.metric_time__day
- , subq_6.txn_revenue
+ subq_7.metric_time__day
+ , subq_7.txn_revenue
FROM (
-- Constrain Time Range to [2020-01-01T00:00:00, 2020-01-01T00:00:00]
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.revenue_instance__ds__day
- , subq_5.revenue_instance__ds__week
- , subq_5.revenue_instance__ds__month
- , subq_5.revenue_instance__ds__quarter
- , subq_5.revenue_instance__ds__year
- , subq_5.revenue_instance__ds__extract_year
- , subq_5.revenue_instance__ds__extract_quarter
- , subq_5.revenue_instance__ds__extract_month
- , subq_5.revenue_instance__ds__extract_day
- , subq_5.revenue_instance__ds__extract_dow
- , subq_5.revenue_instance__ds__extract_doy
- , subq_5.metric_time__day
- , subq_5.metric_time__week
- , subq_5.metric_time__month
- , subq_5.metric_time__quarter
- , subq_5.metric_time__year
- , subq_5.metric_time__extract_year
- , subq_5.metric_time__extract_quarter
- , subq_5.metric_time__extract_month
- , subq_5.metric_time__extract_day
- , subq_5.metric_time__extract_dow
- , subq_5.metric_time__extract_doy
- , subq_5.user
- , subq_5.revenue_instance__user
- , subq_5.txn_revenue
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.revenue_instance__ds__day
+ , subq_6.revenue_instance__ds__week
+ , subq_6.revenue_instance__ds__month
+ , subq_6.revenue_instance__ds__quarter
+ , subq_6.revenue_instance__ds__year
+ , subq_6.revenue_instance__ds__extract_year
+ , subq_6.revenue_instance__ds__extract_quarter
+ , subq_6.revenue_instance__ds__extract_month
+ , subq_6.revenue_instance__ds__extract_day
+ , subq_6.revenue_instance__ds__extract_dow
+ , subq_6.revenue_instance__ds__extract_doy
+ , subq_6.metric_time__day
+ , subq_6.metric_time__week
+ , subq_6.metric_time__month
+ , subq_6.metric_time__quarter
+ , subq_6.metric_time__year
+ , subq_6.metric_time__extract_year
+ , subq_6.metric_time__extract_quarter
+ , subq_6.metric_time__extract_month
+ , subq_6.metric_time__extract_day
+ , subq_6.metric_time__extract_dow
+ , subq_6.metric_time__extract_doy
+ , subq_6.user
+ , subq_6.revenue_instance__user
+ , subq_6.txn_revenue
FROM (
-- Join Self Over Time Range
SELECT
- subq_3.metric_time__day AS metric_time__day
- , subq_2.ds__day AS ds__day
- , subq_2.ds__week AS ds__week
- , subq_2.ds__month AS ds__month
- , subq_2.ds__quarter AS ds__quarter
- , subq_2.ds__year AS ds__year
- , subq_2.ds__extract_year AS ds__extract_year
- , subq_2.ds__extract_quarter AS ds__extract_quarter
- , subq_2.ds__extract_month AS ds__extract_month
- , subq_2.ds__extract_day AS ds__extract_day
- , subq_2.ds__extract_dow AS ds__extract_dow
- , subq_2.ds__extract_doy AS ds__extract_doy
- , subq_2.revenue_instance__ds__day AS revenue_instance__ds__day
- , subq_2.revenue_instance__ds__week AS revenue_instance__ds__week
- , subq_2.revenue_instance__ds__month AS revenue_instance__ds__month
- , subq_2.revenue_instance__ds__quarter AS revenue_instance__ds__quarter
- , subq_2.revenue_instance__ds__year AS revenue_instance__ds__year
- , subq_2.revenue_instance__ds__extract_year AS revenue_instance__ds__extract_year
- , subq_2.revenue_instance__ds__extract_quarter AS revenue_instance__ds__extract_quarter
- , subq_2.revenue_instance__ds__extract_month AS revenue_instance__ds__extract_month
- , subq_2.revenue_instance__ds__extract_day AS revenue_instance__ds__extract_day
- , subq_2.revenue_instance__ds__extract_dow AS revenue_instance__ds__extract_dow
- , subq_2.revenue_instance__ds__extract_doy AS revenue_instance__ds__extract_doy
- , subq_2.metric_time__week AS metric_time__week
- , subq_2.metric_time__month AS metric_time__month
- , subq_2.metric_time__quarter AS metric_time__quarter
- , subq_2.metric_time__year AS metric_time__year
- , subq_2.metric_time__extract_year AS metric_time__extract_year
- , subq_2.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_2.metric_time__extract_month AS metric_time__extract_month
- , subq_2.metric_time__extract_day AS metric_time__extract_day
- , subq_2.metric_time__extract_dow AS metric_time__extract_dow
- , subq_2.metric_time__extract_doy AS metric_time__extract_doy
- , subq_2.user AS user
- , subq_2.revenue_instance__user AS revenue_instance__user
- , subq_2.txn_revenue AS txn_revenue
+ subq_4.metric_time__day AS metric_time__day
+ , subq_3.ds__day AS ds__day
+ , subq_3.ds__week AS ds__week
+ , subq_3.ds__month AS ds__month
+ , subq_3.ds__quarter AS ds__quarter
+ , subq_3.ds__year AS ds__year
+ , subq_3.ds__extract_year AS ds__extract_year
+ , subq_3.ds__extract_quarter AS ds__extract_quarter
+ , subq_3.ds__extract_month AS ds__extract_month
+ , 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.revenue_instance__ds__day AS revenue_instance__ds__day
+ , subq_3.revenue_instance__ds__week AS revenue_instance__ds__week
+ , subq_3.revenue_instance__ds__month AS revenue_instance__ds__month
+ , subq_3.revenue_instance__ds__quarter AS revenue_instance__ds__quarter
+ , subq_3.revenue_instance__ds__year AS revenue_instance__ds__year
+ , subq_3.revenue_instance__ds__extract_year AS revenue_instance__ds__extract_year
+ , subq_3.revenue_instance__ds__extract_quarter AS revenue_instance__ds__extract_quarter
+ , subq_3.revenue_instance__ds__extract_month AS revenue_instance__ds__extract_month
+ , subq_3.revenue_instance__ds__extract_day AS revenue_instance__ds__extract_day
+ , subq_3.revenue_instance__ds__extract_dow AS revenue_instance__ds__extract_dow
+ , subq_3.revenue_instance__ds__extract_doy AS revenue_instance__ds__extract_doy
+ , subq_3.metric_time__week AS metric_time__week
+ , subq_3.metric_time__month AS metric_time__month
+ , subq_3.metric_time__quarter AS metric_time__quarter
+ , subq_3.metric_time__year AS metric_time__year
+ , subq_3.metric_time__extract_year AS metric_time__extract_year
+ , subq_3.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_3.metric_time__extract_month AS metric_time__extract_month
+ , subq_3.metric_time__extract_day AS metric_time__extract_day
+ , subq_3.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_3.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_3.user AS user
+ , subq_3.revenue_instance__user AS revenue_instance__user
+ , subq_3.txn_revenue AS txn_revenue
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
- subq_4.ds AS metric_time__day
- FROM ***************************.mf_time_spine subq_4
- WHERE subq_4.ds BETWEEN '2020-01-01' AND '2020-01-01'
- ) subq_3
+ subq_5.ds AS metric_time__day
+ FROM ***************************.mf_time_spine subq_5
+ WHERE subq_5.ds BETWEEN '2020-01-01' AND '2020-01-01'
+ ) subq_4
INNER JOIN (
-- Constrain Time Range to [2019-11-01T00:00:00, 2020-01-01T00:00:00]
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.revenue_instance__ds__day
- , subq_1.revenue_instance__ds__week
- , subq_1.revenue_instance__ds__month
- , subq_1.revenue_instance__ds__quarter
- , subq_1.revenue_instance__ds__year
- , subq_1.revenue_instance__ds__extract_year
- , subq_1.revenue_instance__ds__extract_quarter
- , subq_1.revenue_instance__ds__extract_month
- , subq_1.revenue_instance__ds__extract_day
- , subq_1.revenue_instance__ds__extract_dow
- , subq_1.revenue_instance__ds__extract_doy
- , subq_1.metric_time__day
- , subq_1.metric_time__week
- , subq_1.metric_time__month
- , subq_1.metric_time__quarter
- , subq_1.metric_time__year
- , subq_1.metric_time__extract_year
- , subq_1.metric_time__extract_quarter
- , subq_1.metric_time__extract_month
- , subq_1.metric_time__extract_day
- , subq_1.metric_time__extract_dow
- , subq_1.metric_time__extract_doy
- , subq_1.user
- , subq_1.revenue_instance__user
- , subq_1.txn_revenue
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.revenue_instance__ds__day
+ , subq_2.revenue_instance__ds__week
+ , subq_2.revenue_instance__ds__month
+ , subq_2.revenue_instance__ds__quarter
+ , subq_2.revenue_instance__ds__year
+ , subq_2.revenue_instance__ds__extract_year
+ , subq_2.revenue_instance__ds__extract_quarter
+ , subq_2.revenue_instance__ds__extract_month
+ , subq_2.revenue_instance__ds__extract_day
+ , subq_2.revenue_instance__ds__extract_dow
+ , subq_2.revenue_instance__ds__extract_doy
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.user
+ , subq_2.revenue_instance__user
+ , subq_2.txn_revenue
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.revenue_instance__ds__day
- , subq_0.revenue_instance__ds__week
- , subq_0.revenue_instance__ds__month
- , subq_0.revenue_instance__ds__quarter
- , subq_0.revenue_instance__ds__year
- , subq_0.revenue_instance__ds__extract_year
- , subq_0.revenue_instance__ds__extract_quarter
- , subq_0.revenue_instance__ds__extract_month
- , subq_0.revenue_instance__ds__extract_day
- , subq_0.revenue_instance__ds__extract_dow
- , subq_0.revenue_instance__ds__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.user
- , subq_0.revenue_instance__user
- , subq_0.txn_revenue
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.revenue_instance__ds__day
+ , subq_1.revenue_instance__ds__week
+ , subq_1.revenue_instance__ds__month
+ , subq_1.revenue_instance__ds__quarter
+ , subq_1.revenue_instance__ds__year
+ , subq_1.revenue_instance__ds__extract_year
+ , subq_1.revenue_instance__ds__extract_quarter
+ , subq_1.revenue_instance__ds__extract_month
+ , subq_1.revenue_instance__ds__extract_day
+ , subq_1.revenue_instance__ds__extract_dow
+ , subq_1.revenue_instance__ds__extract_doy
+ , subq_1.ds__day AS metric_time__day
+ , subq_1.ds__week AS metric_time__week
+ , subq_1.ds__month AS metric_time__month
+ , subq_1.ds__quarter AS metric_time__quarter
+ , subq_1.ds__year AS metric_time__year
+ , subq_1.ds__extract_year AS metric_time__extract_year
+ , subq_1.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_1.ds__extract_month AS metric_time__extract_month
+ , subq_1.ds__extract_day AS metric_time__extract_day
+ , subq_1.ds__extract_dow AS metric_time__extract_dow
+ , subq_1.ds__extract_doy AS metric_time__extract_doy
+ , subq_1.user
+ , subq_1.revenue_instance__user
+ , subq_1.txn_revenue
FROM (
-- Read Elements From Semantic Model 'revenue'
SELECT
@@ -214,20 +214,20 @@ FROM (
, revenue_src_28000.user_id AS user
, revenue_src_28000.user_id AS revenue_instance__user
FROM ***************************.fct_revenue revenue_src_28000
- ) subq_0
- ) subq_1
- WHERE subq_1.metric_time__day BETWEEN '2019-11-01' AND '2020-01-01'
- ) subq_2
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__day BETWEEN '2019-11-01' AND '2020-01-01'
+ ) subq_3
ON
(
- subq_2.metric_time__day <= subq_3.metric_time__day
+ subq_3.metric_time__day <= subq_4.metric_time__day
) AND (
- subq_2.metric_time__day > subq_3.metric_time__day - INTERVAL 2 month
+ subq_3.metric_time__day > subq_4.metric_time__day - INTERVAL 2 month
)
- ) subq_5
- WHERE subq_5.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
- ) subq_6
- ) subq_7
+ ) subq_6
+ WHERE subq_6.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
+ ) subq_7
+ ) subq_8
GROUP BY
- subq_7.metric_time__day
-) subq_8
+ subq_8.metric_time__day
+) subq_9
diff --git a/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_with_time_constraint__plan0_optimized.sql b/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_with_time_constraint__plan0_optimized.sql
index 2bc9d97bd0..c747035989 100644
--- a/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_with_time_constraint__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_cumulative_metric_rendering.py/SqlPlan/DuckDB/test_cumulative_metric_with_time_constraint__plan0_optimized.sql
@@ -14,15 +14,15 @@ sql_engine: DuckDB
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__day AS metric_time__day
- , SUM(subq_11.txn_revenue) AS trailing_2_months_revenue
+ subq_13.metric_time__day AS metric_time__day
+ , SUM(subq_12.txn_revenue) AS trailing_2_months_revenue
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
ds AS metric_time__day
- FROM ***************************.mf_time_spine subq_13
+ FROM ***************************.mf_time_spine subq_14
WHERE ds BETWEEN '2020-01-01' AND '2020-01-01'
-) subq_12
+) subq_13
INNER JOIN (
-- Read Elements From Semantic Model 'revenue'
-- Metric Time Dimension 'ds'
@@ -32,13 +32,13 @@ INNER JOIN (
, revenue AS txn_revenue
FROM ***************************.fct_revenue revenue_src_28000
WHERE DATE_TRUNC('day', created_at) BETWEEN '2019-11-01' AND '2020-01-01'
-) subq_11
+) subq_12
ON
(
- subq_11.metric_time__day <= subq_12.metric_time__day
+ subq_12.metric_time__day <= subq_13.metric_time__day
) AND (
- subq_11.metric_time__day > subq_12.metric_time__day - INTERVAL 2 month
+ subq_12.metric_time__day > subq_13.metric_time__day - INTERVAL 2 month
)
-WHERE subq_12.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
+WHERE subq_13.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
GROUP BY
- subq_12.metric_time__day
+ subq_13.metric_time__day
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity__plan0.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity__plan0.sql
index 2fd1b887cc..bcab7c7c12 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity__plan0.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__martian_day
- , CAST(subq_16.buys AS DOUBLE) / CAST(NULLIF(subq_16.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ subq_15.metric_time__martian_day
+ , CAST(subq_15.buys AS DOUBLE) / CAST(NULLIF(subq_15.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__martian_day, subq_15.metric_time__martian_day) AS metric_time__martian_day
+ COALESCE(subq_4.metric_time__martian_day, subq_14.metric_time__martian_day) AS metric_time__martian_day
, MAX(subq_4.visits) AS visits
- , MAX(subq_15.buys) AS buys
+ , MAX(subq_14.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -115,111 +115,111 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_14.metric_time__martian_day
- , SUM(subq_14.buys) AS buys
+ subq_13.metric_time__martian_day
+ , SUM(subq_13.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'metric_time__martian_day']
SELECT
- subq_13.metric_time__martian_day
- , subq_13.buys
+ subq_12.metric_time__martian_day
+ , subq_12.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_12.metric_time__martian_day
- , subq_12.metric_time__day
- , subq_12.user
- , subq_12.buys
- , subq_12.visits
+ subq_11.metric_time__martian_day
+ , subq_11.metric_time__day
+ , subq_11.user
+ , subq_11.buys
+ , subq_11.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_8.visits) OVER (
+ FIRST_VALUE(subq_7.visits) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_8.metric_time__martian_day) OVER (
+ , FIRST_VALUE(subq_7.metric_time__martian_day) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__martian_day
- , FIRST_VALUE(subq_8.metric_time__day) OVER (
+ , FIRST_VALUE(subq_7.metric_time__day) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_8.user) OVER (
+ , FIRST_VALUE(subq_7.user) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_10.user
+ , subq_10.metric_time__day
+ , subq_10.mf_internal_uuid
+ ORDER BY subq_7.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_11.mf_internal_uuid AS mf_internal_uuid
- , subq_11.buys AS buys
+ , subq_10.mf_internal_uuid AS mf_internal_uuid
+ , subq_10.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'metric_time__martian_day', 'user']
SELECT
- subq_7.metric_time__martian_day
- , subq_7.metric_time__day
- , subq_7.user
- , subq_7.visits
+ subq_6.metric_time__martian_day
+ , subq_6.metric_time__day
+ , subq_6.user
+ , subq_6.visits
FROM (
-- Metric Time Dimension 'ds'
-- Join to Custom Granularity Dataset
SELECT
- subq_5.ds__day AS ds__day
- , subq_5.ds__week AS ds__week
- , subq_5.ds__month AS ds__month
- , subq_5.ds__quarter AS ds__quarter
- , subq_5.ds__year AS ds__year
- , subq_5.ds__extract_year AS ds__extract_year
- , subq_5.ds__extract_quarter AS ds__extract_quarter
- , subq_5.ds__extract_month AS ds__extract_month
- , subq_5.ds__extract_day AS ds__extract_day
- , subq_5.ds__extract_dow AS ds__extract_dow
- , subq_5.ds__extract_doy AS ds__extract_doy
- , subq_5.visit__ds__day AS visit__ds__day
- , subq_5.visit__ds__week AS visit__ds__week
- , subq_5.visit__ds__month AS visit__ds__month
- , subq_5.visit__ds__quarter AS visit__ds__quarter
- , subq_5.visit__ds__year AS visit__ds__year
- , subq_5.visit__ds__extract_year AS visit__ds__extract_year
- , subq_5.visit__ds__extract_quarter AS visit__ds__extract_quarter
- , subq_5.visit__ds__extract_month AS visit__ds__extract_month
- , subq_5.visit__ds__extract_day AS visit__ds__extract_day
- , subq_5.visit__ds__extract_dow AS visit__ds__extract_dow
- , subq_5.visit__ds__extract_doy AS visit__ds__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.user AS user
- , subq_5.session AS session
- , subq_5.visit__user AS visit__user
- , subq_5.visit__session AS visit__session
- , subq_5.referrer_id AS referrer_id
- , subq_5.visit__referrer_id AS visit__referrer_id
- , subq_5.visits AS visits
- , subq_5.visitors AS visitors
- , subq_6.martian_day AS metric_time__martian_day
+ subq_0.ds__day AS ds__day
+ , subq_0.ds__week AS ds__week
+ , subq_0.ds__month AS ds__month
+ , subq_0.ds__quarter AS ds__quarter
+ , subq_0.ds__year AS ds__year
+ , subq_0.ds__extract_year AS ds__extract_year
+ , subq_0.ds__extract_quarter AS ds__extract_quarter
+ , subq_0.ds__extract_month AS ds__extract_month
+ , 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.visit__ds__day AS visit__ds__day
+ , subq_0.visit__ds__week AS visit__ds__week
+ , subq_0.visit__ds__month AS visit__ds__month
+ , subq_0.visit__ds__quarter AS visit__ds__quarter
+ , subq_0.visit__ds__year AS visit__ds__year
+ , subq_0.visit__ds__extract_year AS visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter AS visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month AS visit__ds__extract_month
+ , subq_0.visit__ds__extract_day AS visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow AS visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy AS visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user AS user
+ , subq_0.session AS session
+ , subq_0.visit__user AS visit__user
+ , subq_0.visit__session AS visit__session
+ , subq_0.referrer_id AS referrer_id
+ , subq_0.visit__referrer_id AS visit__referrer_id
+ , subq_0.visits AS visits
+ , subq_0.visitors AS visitors
+ , subq_5.martian_day AS metric_time__martian_day
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -254,122 +254,122 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_5
+ ) subq_0
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_6
+ ***************************.mf_time_spine subq_5
ON
- subq_5.ds__day = subq_6.ds
- ) subq_7
- ) subq_8
+ subq_0.ds__day = subq_5.ds
+ ) subq_6
+ ) subq_7
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_month__month
- , subq_10.ds_month__quarter
- , subq_10.ds_month__year
- , subq_10.ds_month__extract_year
- , subq_10.ds_month__extract_quarter
- , subq_10.ds_month__extract_month
- , subq_10.buy__ds__day
- , subq_10.buy__ds__week
- , subq_10.buy__ds__month
- , subq_10.buy__ds__quarter
- , subq_10.buy__ds__year
- , subq_10.buy__ds__extract_year
- , subq_10.buy__ds__extract_quarter
- , subq_10.buy__ds__extract_month
- , subq_10.buy__ds__extract_day
- , subq_10.buy__ds__extract_dow
- , subq_10.buy__ds__extract_doy
- , subq_10.buy__ds_month__month
- , subq_10.buy__ds_month__quarter
- , subq_10.buy__ds_month__year
- , subq_10.buy__ds_month__extract_year
- , subq_10.buy__ds_month__extract_quarter
- , subq_10.buy__ds_month__extract_month
- , subq_10.metric_time__day
- , subq_10.metric_time__week
- , subq_10.metric_time__month
- , subq_10.metric_time__quarter
- , subq_10.metric_time__year
- , subq_10.metric_time__extract_year
- , subq_10.metric_time__extract_quarter
- , subq_10.metric_time__extract_month
- , subq_10.metric_time__extract_day
- , subq_10.metric_time__extract_dow
- , subq_10.metric_time__extract_doy
- , subq_10.user
- , subq_10.session_id
- , subq_10.buy__user
- , subq_10.buy__session_id
- , subq_10.buys
- , subq_10.buyers
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.ds_month__month
+ , subq_9.ds_month__quarter
+ , subq_9.ds_month__year
+ , subq_9.ds_month__extract_year
+ , subq_9.ds_month__extract_quarter
+ , subq_9.ds_month__extract_month
+ , subq_9.buy__ds__day
+ , subq_9.buy__ds__week
+ , subq_9.buy__ds__month
+ , subq_9.buy__ds__quarter
+ , subq_9.buy__ds__year
+ , subq_9.buy__ds__extract_year
+ , subq_9.buy__ds__extract_quarter
+ , subq_9.buy__ds__extract_month
+ , subq_9.buy__ds__extract_day
+ , subq_9.buy__ds__extract_dow
+ , subq_9.buy__ds__extract_doy
+ , subq_9.buy__ds_month__month
+ , subq_9.buy__ds_month__quarter
+ , subq_9.buy__ds_month__year
+ , subq_9.buy__ds_month__extract_year
+ , subq_9.buy__ds_month__extract_quarter
+ , subq_9.buy__ds_month__extract_month
+ , subq_9.metric_time__day
+ , subq_9.metric_time__week
+ , subq_9.metric_time__month
+ , subq_9.metric_time__quarter
+ , subq_9.metric_time__year
+ , subq_9.metric_time__extract_year
+ , subq_9.metric_time__extract_quarter
+ , subq_9.metric_time__extract_month
+ , subq_9.metric_time__extract_day
+ , subq_9.metric_time__extract_dow
+ , subq_9.metric_time__extract_doy
+ , subq_9.user
+ , subq_9.session_id
+ , subq_9.buy__user
+ , subq_9.buy__session_id
+ , subq_9.buys
+ , subq_9.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_month__month
- , subq_9.ds_month__quarter
- , subq_9.ds_month__year
- , subq_9.ds_month__extract_year
- , subq_9.ds_month__extract_quarter
- , subq_9.ds_month__extract_month
- , subq_9.buy__ds__day
- , subq_9.buy__ds__week
- , subq_9.buy__ds__month
- , subq_9.buy__ds__quarter
- , subq_9.buy__ds__year
- , subq_9.buy__ds__extract_year
- , subq_9.buy__ds__extract_quarter
- , subq_9.buy__ds__extract_month
- , subq_9.buy__ds__extract_day
- , subq_9.buy__ds__extract_dow
- , subq_9.buy__ds__extract_doy
- , subq_9.buy__ds_month__month
- , subq_9.buy__ds_month__quarter
- , subq_9.buy__ds_month__year
- , subq_9.buy__ds_month__extract_year
- , subq_9.buy__ds_month__extract_quarter
- , subq_9.buy__ds_month__extract_month
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.user
- , subq_9.session_id
- , subq_9.buy__user
- , subq_9.buy__session_id
- , subq_9.buys
- , subq_9.buyers
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds_month__month
+ , subq_8.ds_month__quarter
+ , subq_8.ds_month__year
+ , subq_8.ds_month__extract_year
+ , subq_8.ds_month__extract_quarter
+ , subq_8.ds_month__extract_month
+ , subq_8.buy__ds__day
+ , subq_8.buy__ds__week
+ , subq_8.buy__ds__month
+ , subq_8.buy__ds__quarter
+ , subq_8.buy__ds__year
+ , subq_8.buy__ds__extract_year
+ , subq_8.buy__ds__extract_quarter
+ , subq_8.buy__ds__extract_month
+ , subq_8.buy__ds__extract_day
+ , subq_8.buy__ds__extract_dow
+ , subq_8.buy__ds__extract_doy
+ , subq_8.buy__ds_month__month
+ , subq_8.buy__ds_month__quarter
+ , subq_8.buy__ds_month__year
+ , subq_8.buy__ds_month__extract_year
+ , subq_8.buy__ds_month__extract_quarter
+ , subq_8.buy__ds_month__extract_month
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.user
+ , subq_8.session_id
+ , subq_8.buy__user
+ , subq_8.buy__session_id
+ , subq_8.buys
+ , subq_8.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -415,27 +415,27 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
(
- subq_8.user = subq_11.user
+ subq_7.user = subq_10.user
) AND (
(
- subq_8.metric_time__day <= subq_11.metric_time__day
+ subq_7.metric_time__day <= subq_10.metric_time__day
) AND (
- subq_8.metric_time__day > subq_11.metric_time__day - INTERVAL 7 day
+ subq_7.metric_time__day > subq_10.metric_time__day - INTERVAL 7 day
)
)
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_11
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_14.metric_time__martian_day
- ) subq_15
+ subq_13.metric_time__martian_day
+ ) subq_14
ON
- subq_4.metric_time__martian_day = subq_15.metric_time__martian_day
+ subq_4.metric_time__martian_day = subq_14.metric_time__martian_day
GROUP BY
- COALESCE(subq_4.metric_time__martian_day, subq_15.metric_time__martian_day)
-) subq_16
+ COALESCE(subq_4.metric_time__martian_day, subq_14.metric_time__martian_day)
+) subq_15
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity__plan0_optimized.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity__plan0_optimized.sql
index f752973ec4..8cc7e5e079 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity__plan0_optimized.sql
@@ -19,25 +19,25 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_21.metric_time__martian_day, subq_31.metric_time__martian_day) AS metric_time__martian_day
- , MAX(subq_21.visits) AS visits
- , MAX(subq_31.buys) AS buys
+ COALESCE(subq_20.metric_time__martian_day, subq_30.metric_time__martian_day) AS metric_time__martian_day
+ , MAX(subq_20.visits) AS visits
+ , MAX(subq_30.buys) AS buys
FROM (
-- Read From CTE For node_id=sma_28019
-- Join to Custom Granularity Dataset
-- Pass Only Elements: ['visits', 'metric_time__martian_day']
-- Aggregate Measures
SELECT
- subq_18.martian_day AS metric_time__martian_day
+ subq_17.martian_day AS metric_time__martian_day
, SUM(sma_28019_cte.visits) AS visits
FROM sma_28019_cte sma_28019_cte
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_18
+ ***************************.mf_time_spine subq_17
ON
- sma_28019_cte.metric_time__day = subq_18.ds
+ sma_28019_cte.metric_time__day = subq_17.ds
GROUP BY
- subq_18.martian_day
- ) subq_21
+ subq_17.martian_day
+ ) subq_20
FULL OUTER JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys', 'metric_time__martian_day']
@@ -48,55 +48,55 @@ FROM (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_24.visits) OVER (
+ FIRST_VALUE(subq_23.visits) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_24.metric_time__martian_day) OVER (
+ , FIRST_VALUE(subq_23.metric_time__martian_day) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__martian_day
- , FIRST_VALUE(subq_24.metric_time__day) OVER (
+ , FIRST_VALUE(subq_23.metric_time__day) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_24.user) OVER (
+ , FIRST_VALUE(subq_23.user) OVER (
PARTITION BY
- subq_27.user
- , subq_27.metric_time__day
- , subq_27.mf_internal_uuid
- ORDER BY subq_24.metric_time__day DESC
+ subq_26.user
+ , subq_26.metric_time__day
+ , subq_26.mf_internal_uuid
+ ORDER BY subq_23.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_27.mf_internal_uuid AS mf_internal_uuid
- , subq_27.buys AS buys
+ , subq_26.mf_internal_uuid AS mf_internal_uuid
+ , subq_26.buys AS buys
FROM (
-- Read From CTE For node_id=sma_28019
-- Join to Custom Granularity Dataset
-- Pass Only Elements: ['visits', 'metric_time__day', 'metric_time__martian_day', 'user']
SELECT
- subq_22.martian_day AS metric_time__martian_day
+ subq_21.martian_day AS metric_time__martian_day
, sma_28019_cte.metric_time__day AS metric_time__day
, sma_28019_cte.user AS user
, sma_28019_cte.visits AS visits
FROM sma_28019_cte sma_28019_cte
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_22
+ ***************************.mf_time_spine subq_21
ON
- sma_28019_cte.metric_time__day = subq_22.ds
- ) subq_24
+ sma_28019_cte.metric_time__day = subq_21.ds
+ ) subq_23
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -107,23 +107,23 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_27
+ ) subq_26
ON
(
- subq_24.user = subq_27.user
+ subq_23.user = subq_26.user
) AND (
(
- subq_24.metric_time__day <= subq_27.metric_time__day
+ subq_23.metric_time__day <= subq_26.metric_time__day
) AND (
- subq_24.metric_time__day > subq_27.metric_time__day - INTERVAL 7 day
+ subq_23.metric_time__day > subq_26.metric_time__day - INTERVAL 7 day
)
)
- ) subq_28
+ ) subq_27
GROUP BY
metric_time__martian_day
- ) subq_31
+ ) subq_30
ON
- subq_21.metric_time__martian_day = subq_31.metric_time__martian_day
+ subq_20.metric_time__martian_day = subq_30.metric_time__martian_day
GROUP BY
- COALESCE(subq_21.metric_time__martian_day, subq_31.metric_time__martian_day)
-) subq_32
+ COALESCE(subq_20.metric_time__martian_day, subq_30.metric_time__martian_day)
+) subq_31
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter__plan0.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter__plan0.sql
index 35481ddb4a..aa232a090b 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.metric_time__martian_day
- , CAST(subq_18.buys AS DOUBLE) / CAST(NULLIF(subq_18.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ subq_17.metric_time__martian_day
+ , CAST(subq_17.buys AS DOUBLE) / CAST(NULLIF(subq_17.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.metric_time__martian_day, subq_17.metric_time__martian_day) AS metric_time__martian_day
+ COALESCE(subq_5.metric_time__martian_day, subq_16.metric_time__martian_day) AS metric_time__martian_day
, MAX(subq_5.visits) AS visits
- , MAX(subq_17.buys) AS buys
+ , MAX(subq_16.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -162,156 +162,156 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_16.metric_time__martian_day
- , SUM(subq_16.buys) AS buys
+ subq_15.metric_time__martian_day
+ , SUM(subq_15.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'metric_time__martian_day']
SELECT
- subq_15.metric_time__martian_day
- , subq_15.buys
+ subq_14.metric_time__martian_day
+ , subq_14.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_14.metric_time__martian_day
- , subq_14.metric_time__day
- , subq_14.user
- , subq_14.buys
- , subq_14.visits
+ subq_13.metric_time__martian_day
+ , subq_13.metric_time__day
+ , subq_13.user
+ , subq_13.buys
+ , subq_13.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_10.visits) OVER (
+ FIRST_VALUE(subq_9.visits) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_10.metric_time__martian_day) OVER (
+ , FIRST_VALUE(subq_9.metric_time__martian_day) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__martian_day
- , FIRST_VALUE(subq_10.metric_time__day) OVER (
+ , FIRST_VALUE(subq_9.metric_time__day) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_10.user) OVER (
+ , FIRST_VALUE(subq_9.user) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_13.mf_internal_uuid AS mf_internal_uuid
- , subq_13.buys AS buys
+ , subq_12.mf_internal_uuid AS mf_internal_uuid
+ , subq_12.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'metric_time__martian_day', 'user']
SELECT
- subq_9.metric_time__martian_day
- , subq_9.metric_time__day
- , subq_9.user
- , subq_9.visits
+ subq_8.metric_time__martian_day
+ , subq_8.metric_time__day
+ , subq_8.user
+ , subq_8.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.metric_time__martian_day
- , subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.visit__ds__day
- , subq_8.visit__ds__week
- , subq_8.visit__ds__month
- , subq_8.visit__ds__quarter
- , subq_8.visit__ds__year
- , subq_8.visit__ds__extract_year
- , subq_8.visit__ds__extract_quarter
- , subq_8.visit__ds__extract_month
- , subq_8.visit__ds__extract_day
- , subq_8.visit__ds__extract_dow
- , subq_8.visit__ds__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session
- , subq_8.visit__user
- , subq_8.visit__session
- , subq_8.referrer_id
- , subq_8.visit__referrer_id
- , subq_8.visits
- , subq_8.visitors
+ subq_7.metric_time__martian_day
+ , subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.visit__ds__day
+ , subq_7.visit__ds__week
+ , subq_7.visit__ds__month
+ , subq_7.visit__ds__quarter
+ , subq_7.visit__ds__year
+ , subq_7.visit__ds__extract_year
+ , subq_7.visit__ds__extract_quarter
+ , subq_7.visit__ds__extract_month
+ , subq_7.visit__ds__extract_day
+ , subq_7.visit__ds__extract_dow
+ , subq_7.visit__ds__extract_doy
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session
+ , subq_7.visit__user
+ , subq_7.visit__session
+ , subq_7.referrer_id
+ , subq_7.visit__referrer_id
+ , subq_7.visits
+ , subq_7.visitors
FROM (
-- Metric Time Dimension 'ds'
-- Join to Custom Granularity Dataset
SELECT
- subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.visit__ds__day AS visit__ds__day
- , subq_6.visit__ds__week AS visit__ds__week
- , subq_6.visit__ds__month AS visit__ds__month
- , subq_6.visit__ds__quarter AS visit__ds__quarter
- , subq_6.visit__ds__year AS visit__ds__year
- , subq_6.visit__ds__extract_year AS visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter AS visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month AS visit__ds__extract_month
- , subq_6.visit__ds__extract_day AS visit__ds__extract_day
- , subq_6.visit__ds__extract_dow AS visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy AS visit__ds__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.user AS user
- , subq_6.session AS session
- , subq_6.visit__user AS visit__user
- , subq_6.visit__session AS visit__session
- , subq_6.referrer_id AS referrer_id
- , subq_6.visit__referrer_id AS visit__referrer_id
- , subq_6.visits AS visits
- , subq_6.visitors AS visitors
- , subq_7.martian_day AS metric_time__martian_day
+ subq_0.ds__day AS ds__day
+ , subq_0.ds__week AS ds__week
+ , subq_0.ds__month AS ds__month
+ , subq_0.ds__quarter AS ds__quarter
+ , subq_0.ds__year AS ds__year
+ , subq_0.ds__extract_year AS ds__extract_year
+ , subq_0.ds__extract_quarter AS ds__extract_quarter
+ , subq_0.ds__extract_month AS ds__extract_month
+ , 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.visit__ds__day AS visit__ds__day
+ , subq_0.visit__ds__week AS visit__ds__week
+ , subq_0.visit__ds__month AS visit__ds__month
+ , subq_0.visit__ds__quarter AS visit__ds__quarter
+ , subq_0.visit__ds__year AS visit__ds__year
+ , subq_0.visit__ds__extract_year AS visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter AS visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month AS visit__ds__extract_month
+ , subq_0.visit__ds__extract_day AS visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow AS visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy AS visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user AS user
+ , subq_0.session AS session
+ , subq_0.visit__user AS visit__user
+ , subq_0.visit__session AS visit__session
+ , subq_0.referrer_id AS referrer_id
+ , subq_0.visit__referrer_id AS visit__referrer_id
+ , subq_0.visits AS visits
+ , subq_0.visitors AS visitors
+ , subq_6.martian_day AS metric_time__martian_day
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -346,124 +346,124 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_6
+ ) subq_0
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_7
+ ***************************.mf_time_spine subq_6
ON
- subq_6.ds__day = subq_7.ds
- ) subq_8
+ subq_0.ds__day = subq_6.ds
+ ) subq_7
WHERE metric_time__martian_day = '2020-01-01'
- ) subq_9
- ) subq_10
+ ) subq_8
+ ) subq_9
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.ds_month__month
- , subq_12.ds_month__quarter
- , subq_12.ds_month__year
- , subq_12.ds_month__extract_year
- , subq_12.ds_month__extract_quarter
- , subq_12.ds_month__extract_month
- , subq_12.buy__ds__day
- , subq_12.buy__ds__week
- , subq_12.buy__ds__month
- , subq_12.buy__ds__quarter
- , subq_12.buy__ds__year
- , subq_12.buy__ds__extract_year
- , subq_12.buy__ds__extract_quarter
- , subq_12.buy__ds__extract_month
- , subq_12.buy__ds__extract_day
- , subq_12.buy__ds__extract_dow
- , subq_12.buy__ds__extract_doy
- , subq_12.buy__ds_month__month
- , subq_12.buy__ds_month__quarter
- , subq_12.buy__ds_month__year
- , subq_12.buy__ds_month__extract_year
- , subq_12.buy__ds_month__extract_quarter
- , subq_12.buy__ds_month__extract_month
- , subq_12.metric_time__day
- , subq_12.metric_time__week
- , subq_12.metric_time__month
- , subq_12.metric_time__quarter
- , subq_12.metric_time__year
- , subq_12.metric_time__extract_year
- , subq_12.metric_time__extract_quarter
- , subq_12.metric_time__extract_month
- , subq_12.metric_time__extract_day
- , subq_12.metric_time__extract_dow
- , subq_12.metric_time__extract_doy
- , subq_12.user
- , subq_12.session_id
- , subq_12.buy__user
- , subq_12.buy__session_id
- , subq_12.buys
- , subq_12.buyers
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds_month__month
+ , subq_11.ds_month__quarter
+ , subq_11.ds_month__year
+ , subq_11.ds_month__extract_year
+ , subq_11.ds_month__extract_quarter
+ , subq_11.ds_month__extract_month
+ , subq_11.buy__ds__day
+ , subq_11.buy__ds__week
+ , subq_11.buy__ds__month
+ , subq_11.buy__ds__quarter
+ , subq_11.buy__ds__year
+ , subq_11.buy__ds__extract_year
+ , subq_11.buy__ds__extract_quarter
+ , subq_11.buy__ds__extract_month
+ , subq_11.buy__ds__extract_day
+ , subq_11.buy__ds__extract_dow
+ , subq_11.buy__ds__extract_doy
+ , subq_11.buy__ds_month__month
+ , subq_11.buy__ds_month__quarter
+ , subq_11.buy__ds_month__year
+ , subq_11.buy__ds_month__extract_year
+ , subq_11.buy__ds_month__extract_quarter
+ , subq_11.buy__ds_month__extract_month
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.user
+ , subq_11.session_id
+ , subq_11.buy__user
+ , subq_11.buy__session_id
+ , subq_11.buys
+ , subq_11.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_11.ds__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds_month__month
- , subq_11.ds_month__quarter
- , subq_11.ds_month__year
- , subq_11.ds_month__extract_year
- , subq_11.ds_month__extract_quarter
- , subq_11.ds_month__extract_month
- , subq_11.buy__ds__day
- , subq_11.buy__ds__week
- , subq_11.buy__ds__month
- , subq_11.buy__ds__quarter
- , subq_11.buy__ds__year
- , subq_11.buy__ds__extract_year
- , subq_11.buy__ds__extract_quarter
- , subq_11.buy__ds__extract_month
- , subq_11.buy__ds__extract_day
- , subq_11.buy__ds__extract_dow
- , subq_11.buy__ds__extract_doy
- , subq_11.buy__ds_month__month
- , subq_11.buy__ds_month__quarter
- , subq_11.buy__ds_month__year
- , subq_11.buy__ds_month__extract_year
- , subq_11.buy__ds_month__extract_quarter
- , subq_11.buy__ds_month__extract_month
- , subq_11.ds__day AS metric_time__day
- , subq_11.ds__week AS metric_time__week
- , subq_11.ds__month AS metric_time__month
- , subq_11.ds__quarter AS metric_time__quarter
- , subq_11.ds__year AS metric_time__year
- , subq_11.ds__extract_year AS metric_time__extract_year
- , subq_11.ds__extract_quarter AS metric_time__extract_quarter
- , subq_11.ds__extract_month AS metric_time__extract_month
- , subq_11.ds__extract_day AS metric_time__extract_day
- , subq_11.ds__extract_dow AS metric_time__extract_dow
- , subq_11.ds__extract_doy AS metric_time__extract_doy
- , subq_11.user
- , subq_11.session_id
- , subq_11.buy__user
- , subq_11.buy__session_id
- , subq_11.buys
- , subq_11.buyers
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_month__month
+ , subq_10.ds_month__quarter
+ , subq_10.ds_month__year
+ , subq_10.ds_month__extract_year
+ , subq_10.ds_month__extract_quarter
+ , subq_10.ds_month__extract_month
+ , subq_10.buy__ds__day
+ , subq_10.buy__ds__week
+ , subq_10.buy__ds__month
+ , subq_10.buy__ds__quarter
+ , subq_10.buy__ds__year
+ , subq_10.buy__ds__extract_year
+ , subq_10.buy__ds__extract_quarter
+ , subq_10.buy__ds__extract_month
+ , subq_10.buy__ds__extract_day
+ , subq_10.buy__ds__extract_dow
+ , subq_10.buy__ds__extract_doy
+ , subq_10.buy__ds_month__month
+ , subq_10.buy__ds_month__quarter
+ , subq_10.buy__ds_month__year
+ , subq_10.buy__ds_month__extract_year
+ , subq_10.buy__ds_month__extract_quarter
+ , subq_10.buy__ds_month__extract_month
+ , subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week AS metric_time__week
+ , subq_10.ds__month AS metric_time__month
+ , subq_10.ds__quarter AS metric_time__quarter
+ , subq_10.ds__year AS metric_time__year
+ , subq_10.ds__extract_year AS metric_time__extract_year
+ , subq_10.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_10.ds__extract_month AS metric_time__extract_month
+ , subq_10.ds__extract_day AS metric_time__extract_day
+ , subq_10.ds__extract_dow AS metric_time__extract_dow
+ , subq_10.ds__extract_doy AS metric_time__extract_doy
+ , subq_10.user
+ , subq_10.session_id
+ , subq_10.buy__user
+ , subq_10.buy__session_id
+ , subq_10.buys
+ , subq_10.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -509,27 +509,27 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_10
+ ) subq_11
+ ) subq_12
ON
(
- subq_10.user = subq_13.user
+ subq_9.user = subq_12.user
) AND (
(
- subq_10.metric_time__day <= subq_13.metric_time__day
+ subq_9.metric_time__day <= subq_12.metric_time__day
) AND (
- subq_10.metric_time__day > subq_13.metric_time__day - INTERVAL 7 day
+ subq_9.metric_time__day > subq_12.metric_time__day - INTERVAL 7 day
)
)
- ) subq_14
- ) subq_15
- ) subq_16
+ ) subq_13
+ ) subq_14
+ ) subq_15
GROUP BY
- subq_16.metric_time__martian_day
- ) subq_17
+ subq_15.metric_time__martian_day
+ ) subq_16
ON
- subq_5.metric_time__martian_day = subq_17.metric_time__martian_day
+ subq_5.metric_time__martian_day = subq_16.metric_time__martian_day
GROUP BY
- COALESCE(subq_5.metric_time__martian_day, subq_17.metric_time__martian_day)
-) subq_18
+ COALESCE(subq_5.metric_time__martian_day, subq_16.metric_time__martian_day)
+) subq_17
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter__plan0_optimized.sql
index a42790cb01..2aea7a1ccd 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter__plan0_optimized.sql
@@ -19,9 +19,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_24.metric_time__martian_day, subq_35.metric_time__martian_day) AS metric_time__martian_day
- , MAX(subq_24.visits) AS visits
- , MAX(subq_35.buys) AS buys
+ COALESCE(subq_23.metric_time__martian_day, subq_34.metric_time__martian_day) AS metric_time__martian_day
+ , MAX(subq_23.visits) AS visits
+ , MAX(subq_34.buys) AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'metric_time__martian_day']
@@ -34,17 +34,17 @@ FROM (
-- Join to Custom Granularity Dataset
SELECT
sma_28019_cte.visits AS visits
- , subq_20.martian_day AS metric_time__martian_day
+ , subq_19.martian_day AS metric_time__martian_day
FROM sma_28019_cte sma_28019_cte
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_20
+ ***************************.mf_time_spine subq_19
ON
- sma_28019_cte.metric_time__day = subq_20.ds
- ) subq_21
+ sma_28019_cte.metric_time__day = subq_19.ds
+ ) subq_20
WHERE metric_time__martian_day = '2020-01-01'
GROUP BY
metric_time__martian_day
- ) subq_24
+ ) subq_23
FULL OUTER JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys', 'metric_time__martian_day']
@@ -55,47 +55,47 @@ FROM (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_28.visits) OVER (
+ FIRST_VALUE(subq_27.visits) OVER (
PARTITION BY
- subq_31.user
- , subq_31.metric_time__day
- , subq_31.mf_internal_uuid
- ORDER BY subq_28.metric_time__day DESC
+ subq_30.user
+ , subq_30.metric_time__day
+ , subq_30.mf_internal_uuid
+ ORDER BY subq_27.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_28.metric_time__martian_day) OVER (
+ , FIRST_VALUE(subq_27.metric_time__martian_day) OVER (
PARTITION BY
- subq_31.user
- , subq_31.metric_time__day
- , subq_31.mf_internal_uuid
- ORDER BY subq_28.metric_time__day DESC
+ subq_30.user
+ , subq_30.metric_time__day
+ , subq_30.mf_internal_uuid
+ ORDER BY subq_27.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__martian_day
- , FIRST_VALUE(subq_28.metric_time__day) OVER (
+ , FIRST_VALUE(subq_27.metric_time__day) OVER (
PARTITION BY
- subq_31.user
- , subq_31.metric_time__day
- , subq_31.mf_internal_uuid
- ORDER BY subq_28.metric_time__day DESC
+ subq_30.user
+ , subq_30.metric_time__day
+ , subq_30.mf_internal_uuid
+ ORDER BY subq_27.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_28.user) OVER (
+ , FIRST_VALUE(subq_27.user) OVER (
PARTITION BY
- subq_31.user
- , subq_31.metric_time__day
- , subq_31.mf_internal_uuid
- ORDER BY subq_28.metric_time__day DESC
+ subq_30.user
+ , subq_30.metric_time__day
+ , subq_30.mf_internal_uuid
+ ORDER BY subq_27.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_31.mf_internal_uuid AS mf_internal_uuid
- , subq_31.buys AS buys
+ , subq_30.mf_internal_uuid AS mf_internal_uuid
+ , subq_30.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'metric_time__day', 'metric_time__martian_day', 'user']
SELECT
metric_time__martian_day
, metric_time__day
- , subq_26.user
+ , subq_25.user
, visits
FROM (
-- Read From CTE For node_id=sma_28019
@@ -104,15 +104,15 @@ FROM (
sma_28019_cte.metric_time__day AS metric_time__day
, sma_28019_cte.user AS user
, sma_28019_cte.visits AS visits
- , subq_25.martian_day AS metric_time__martian_day
+ , subq_24.martian_day AS metric_time__martian_day
FROM sma_28019_cte sma_28019_cte
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_25
+ ***************************.mf_time_spine subq_24
ON
- sma_28019_cte.metric_time__day = subq_25.ds
- ) subq_26
+ sma_28019_cte.metric_time__day = subq_24.ds
+ ) subq_25
WHERE metric_time__martian_day = '2020-01-01'
- ) subq_28
+ ) subq_27
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -123,23 +123,23 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_31
+ ) subq_30
ON
(
- subq_28.user = subq_31.user
+ subq_27.user = subq_30.user
) AND (
(
- subq_28.metric_time__day <= subq_31.metric_time__day
+ subq_27.metric_time__day <= subq_30.metric_time__day
) AND (
- subq_28.metric_time__day > subq_31.metric_time__day - INTERVAL 7 day
+ subq_27.metric_time__day > subq_30.metric_time__day - INTERVAL 7 day
)
)
- ) subq_32
+ ) subq_31
GROUP BY
metric_time__martian_day
- ) subq_35
+ ) subq_34
ON
- subq_24.metric_time__martian_day = subq_35.metric_time__martian_day
+ subq_23.metric_time__martian_day = subq_34.metric_time__martian_day
GROUP BY
- COALESCE(subq_24.metric_time__martian_day, subq_35.metric_time__martian_day)
-) subq_36
+ COALESCE(subq_23.metric_time__martian_day, subq_34.metric_time__martian_day)
+) subq_35
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter_not_in_group_by__plan0.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter_not_in_group_by__plan0.sql
index 712e6681d8..c3f277248c 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter_not_in_group_by__plan0.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter_not_in_group_by__plan0.sql
@@ -4,12 +4,12 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- CAST(subq_18.buys AS DOUBLE) / CAST(NULLIF(subq_18.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ CAST(subq_17.buys AS DOUBLE) / CAST(NULLIF(subq_17.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Combine Aggregated Outputs
SELECT
MAX(subq_5.visits) AS visits
- , MAX(subq_17.buys) AS buys
+ , MAX(subq_16.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -156,154 +156,154 @@ FROM (
CROSS JOIN (
-- Aggregate Measures
SELECT
- SUM(subq_16.buys) AS buys
+ SUM(subq_15.buys) AS buys
FROM (
-- Pass Only Elements: ['buys',]
SELECT
- subq_15.buys
+ subq_14.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_14.metric_time__martian_day
- , subq_14.metric_time__day
- , subq_14.user
- , subq_14.buys
- , subq_14.visits
+ subq_13.metric_time__martian_day
+ , subq_13.metric_time__day
+ , subq_13.user
+ , subq_13.buys
+ , subq_13.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_10.visits) OVER (
+ FIRST_VALUE(subq_9.visits) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_10.metric_time__martian_day) OVER (
+ , FIRST_VALUE(subq_9.metric_time__martian_day) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__martian_day
- , FIRST_VALUE(subq_10.metric_time__day) OVER (
+ , FIRST_VALUE(subq_9.metric_time__day) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_10.user) OVER (
+ , FIRST_VALUE(subq_9.user) OVER (
PARTITION BY
- subq_13.user
- , subq_13.metric_time__day
- , subq_13.mf_internal_uuid
- ORDER BY subq_10.metric_time__day DESC
+ subq_12.user
+ , subq_12.metric_time__day
+ , subq_12.mf_internal_uuid
+ ORDER BY subq_9.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_13.mf_internal_uuid AS mf_internal_uuid
- , subq_13.buys AS buys
+ , subq_12.mf_internal_uuid AS mf_internal_uuid
+ , subq_12.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'metric_time__martian_day', 'user']
SELECT
- subq_9.metric_time__martian_day
- , subq_9.metric_time__day
- , subq_9.user
- , subq_9.visits
+ subq_8.metric_time__martian_day
+ , subq_8.metric_time__day
+ , subq_8.user
+ , subq_8.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.metric_time__martian_day
- , subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.visit__ds__day
- , subq_8.visit__ds__week
- , subq_8.visit__ds__month
- , subq_8.visit__ds__quarter
- , subq_8.visit__ds__year
- , subq_8.visit__ds__extract_year
- , subq_8.visit__ds__extract_quarter
- , subq_8.visit__ds__extract_month
- , subq_8.visit__ds__extract_day
- , subq_8.visit__ds__extract_dow
- , subq_8.visit__ds__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.user
- , subq_8.session
- , subq_8.visit__user
- , subq_8.visit__session
- , subq_8.referrer_id
- , subq_8.visit__referrer_id
- , subq_8.visits
- , subq_8.visitors
+ subq_7.metric_time__martian_day
+ , subq_7.ds__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.visit__ds__day
+ , subq_7.visit__ds__week
+ , subq_7.visit__ds__month
+ , subq_7.visit__ds__quarter
+ , subq_7.visit__ds__year
+ , subq_7.visit__ds__extract_year
+ , subq_7.visit__ds__extract_quarter
+ , subq_7.visit__ds__extract_month
+ , subq_7.visit__ds__extract_day
+ , subq_7.visit__ds__extract_dow
+ , subq_7.visit__ds__extract_doy
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.user
+ , subq_7.session
+ , subq_7.visit__user
+ , subq_7.visit__session
+ , subq_7.referrer_id
+ , subq_7.visit__referrer_id
+ , subq_7.visits
+ , subq_7.visitors
FROM (
-- Metric Time Dimension 'ds'
-- Join to Custom Granularity Dataset
SELECT
- subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.visit__ds__day AS visit__ds__day
- , subq_6.visit__ds__week AS visit__ds__week
- , subq_6.visit__ds__month AS visit__ds__month
- , subq_6.visit__ds__quarter AS visit__ds__quarter
- , subq_6.visit__ds__year AS visit__ds__year
- , subq_6.visit__ds__extract_year AS visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter AS visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month AS visit__ds__extract_month
- , subq_6.visit__ds__extract_day AS visit__ds__extract_day
- , subq_6.visit__ds__extract_dow AS visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy AS visit__ds__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.user AS user
- , subq_6.session AS session
- , subq_6.visit__user AS visit__user
- , subq_6.visit__session AS visit__session
- , subq_6.referrer_id AS referrer_id
- , subq_6.visit__referrer_id AS visit__referrer_id
- , subq_6.visits AS visits
- , subq_6.visitors AS visitors
- , subq_7.martian_day AS metric_time__martian_day
+ subq_0.ds__day AS ds__day
+ , subq_0.ds__week AS ds__week
+ , subq_0.ds__month AS ds__month
+ , subq_0.ds__quarter AS ds__quarter
+ , subq_0.ds__year AS ds__year
+ , subq_0.ds__extract_year AS ds__extract_year
+ , subq_0.ds__extract_quarter AS ds__extract_quarter
+ , subq_0.ds__extract_month AS ds__extract_month
+ , 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.visit__ds__day AS visit__ds__day
+ , subq_0.visit__ds__week AS visit__ds__week
+ , subq_0.visit__ds__month AS visit__ds__month
+ , subq_0.visit__ds__quarter AS visit__ds__quarter
+ , subq_0.visit__ds__year AS visit__ds__year
+ , subq_0.visit__ds__extract_year AS visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter AS visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month AS visit__ds__extract_month
+ , subq_0.visit__ds__extract_day AS visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow AS visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy AS visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user AS user
+ , subq_0.session AS session
+ , subq_0.visit__user AS visit__user
+ , subq_0.visit__session AS visit__session
+ , subq_0.referrer_id AS referrer_id
+ , subq_0.visit__referrer_id AS visit__referrer_id
+ , subq_0.visits AS visits
+ , subq_0.visitors AS visitors
+ , subq_6.martian_day AS metric_time__martian_day
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -338,124 +338,124 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_6
+ ) subq_0
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_7
+ ***************************.mf_time_spine subq_6
ON
- subq_6.ds__day = subq_7.ds
- ) subq_8
+ subq_0.ds__day = subq_6.ds
+ ) subq_7
WHERE metric_time__martian_day = '2020-01-01'
- ) subq_9
- ) subq_10
+ ) subq_8
+ ) subq_9
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.ds_month__month
- , subq_12.ds_month__quarter
- , subq_12.ds_month__year
- , subq_12.ds_month__extract_year
- , subq_12.ds_month__extract_quarter
- , subq_12.ds_month__extract_month
- , subq_12.buy__ds__day
- , subq_12.buy__ds__week
- , subq_12.buy__ds__month
- , subq_12.buy__ds__quarter
- , subq_12.buy__ds__year
- , subq_12.buy__ds__extract_year
- , subq_12.buy__ds__extract_quarter
- , subq_12.buy__ds__extract_month
- , subq_12.buy__ds__extract_day
- , subq_12.buy__ds__extract_dow
- , subq_12.buy__ds__extract_doy
- , subq_12.buy__ds_month__month
- , subq_12.buy__ds_month__quarter
- , subq_12.buy__ds_month__year
- , subq_12.buy__ds_month__extract_year
- , subq_12.buy__ds_month__extract_quarter
- , subq_12.buy__ds_month__extract_month
- , subq_12.metric_time__day
- , subq_12.metric_time__week
- , subq_12.metric_time__month
- , subq_12.metric_time__quarter
- , subq_12.metric_time__year
- , subq_12.metric_time__extract_year
- , subq_12.metric_time__extract_quarter
- , subq_12.metric_time__extract_month
- , subq_12.metric_time__extract_day
- , subq_12.metric_time__extract_dow
- , subq_12.metric_time__extract_doy
- , subq_12.user
- , subq_12.session_id
- , subq_12.buy__user
- , subq_12.buy__session_id
- , subq_12.buys
- , subq_12.buyers
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds_month__month
+ , subq_11.ds_month__quarter
+ , subq_11.ds_month__year
+ , subq_11.ds_month__extract_year
+ , subq_11.ds_month__extract_quarter
+ , subq_11.ds_month__extract_month
+ , subq_11.buy__ds__day
+ , subq_11.buy__ds__week
+ , subq_11.buy__ds__month
+ , subq_11.buy__ds__quarter
+ , subq_11.buy__ds__year
+ , subq_11.buy__ds__extract_year
+ , subq_11.buy__ds__extract_quarter
+ , subq_11.buy__ds__extract_month
+ , subq_11.buy__ds__extract_day
+ , subq_11.buy__ds__extract_dow
+ , subq_11.buy__ds__extract_doy
+ , subq_11.buy__ds_month__month
+ , subq_11.buy__ds_month__quarter
+ , subq_11.buy__ds_month__year
+ , subq_11.buy__ds_month__extract_year
+ , subq_11.buy__ds_month__extract_quarter
+ , subq_11.buy__ds_month__extract_month
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.user
+ , subq_11.session_id
+ , subq_11.buy__user
+ , subq_11.buy__session_id
+ , subq_11.buys
+ , subq_11.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_11.ds__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds_month__month
- , subq_11.ds_month__quarter
- , subq_11.ds_month__year
- , subq_11.ds_month__extract_year
- , subq_11.ds_month__extract_quarter
- , subq_11.ds_month__extract_month
- , subq_11.buy__ds__day
- , subq_11.buy__ds__week
- , subq_11.buy__ds__month
- , subq_11.buy__ds__quarter
- , subq_11.buy__ds__year
- , subq_11.buy__ds__extract_year
- , subq_11.buy__ds__extract_quarter
- , subq_11.buy__ds__extract_month
- , subq_11.buy__ds__extract_day
- , subq_11.buy__ds__extract_dow
- , subq_11.buy__ds__extract_doy
- , subq_11.buy__ds_month__month
- , subq_11.buy__ds_month__quarter
- , subq_11.buy__ds_month__year
- , subq_11.buy__ds_month__extract_year
- , subq_11.buy__ds_month__extract_quarter
- , subq_11.buy__ds_month__extract_month
- , subq_11.ds__day AS metric_time__day
- , subq_11.ds__week AS metric_time__week
- , subq_11.ds__month AS metric_time__month
- , subq_11.ds__quarter AS metric_time__quarter
- , subq_11.ds__year AS metric_time__year
- , subq_11.ds__extract_year AS metric_time__extract_year
- , subq_11.ds__extract_quarter AS metric_time__extract_quarter
- , subq_11.ds__extract_month AS metric_time__extract_month
- , subq_11.ds__extract_day AS metric_time__extract_day
- , subq_11.ds__extract_dow AS metric_time__extract_dow
- , subq_11.ds__extract_doy AS metric_time__extract_doy
- , subq_11.user
- , subq_11.session_id
- , subq_11.buy__user
- , subq_11.buy__session_id
- , subq_11.buys
- , subq_11.buyers
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_month__month
+ , subq_10.ds_month__quarter
+ , subq_10.ds_month__year
+ , subq_10.ds_month__extract_year
+ , subq_10.ds_month__extract_quarter
+ , subq_10.ds_month__extract_month
+ , subq_10.buy__ds__day
+ , subq_10.buy__ds__week
+ , subq_10.buy__ds__month
+ , subq_10.buy__ds__quarter
+ , subq_10.buy__ds__year
+ , subq_10.buy__ds__extract_year
+ , subq_10.buy__ds__extract_quarter
+ , subq_10.buy__ds__extract_month
+ , subq_10.buy__ds__extract_day
+ , subq_10.buy__ds__extract_dow
+ , subq_10.buy__ds__extract_doy
+ , subq_10.buy__ds_month__month
+ , subq_10.buy__ds_month__quarter
+ , subq_10.buy__ds_month__year
+ , subq_10.buy__ds_month__extract_year
+ , subq_10.buy__ds_month__extract_quarter
+ , subq_10.buy__ds_month__extract_month
+ , subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week AS metric_time__week
+ , subq_10.ds__month AS metric_time__month
+ , subq_10.ds__quarter AS metric_time__quarter
+ , subq_10.ds__year AS metric_time__year
+ , subq_10.ds__extract_year AS metric_time__extract_year
+ , subq_10.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_10.ds__extract_month AS metric_time__extract_month
+ , subq_10.ds__extract_day AS metric_time__extract_day
+ , subq_10.ds__extract_dow AS metric_time__extract_dow
+ , subq_10.ds__extract_doy AS metric_time__extract_doy
+ , subq_10.user
+ , subq_10.session_id
+ , subq_10.buy__user
+ , subq_10.buy__session_id
+ , subq_10.buys
+ , subq_10.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -501,21 +501,21 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_10
+ ) subq_11
+ ) subq_12
ON
(
- subq_10.user = subq_13.user
+ subq_9.user = subq_12.user
) AND (
(
- subq_10.metric_time__day <= subq_13.metric_time__day
+ subq_9.metric_time__day <= subq_12.metric_time__day
) AND (
- subq_10.metric_time__day > subq_13.metric_time__day - INTERVAL 7 day
+ subq_9.metric_time__day > subq_12.metric_time__day - INTERVAL 7 day
)
)
- ) subq_14
- ) subq_15
- ) subq_16
- ) subq_17
-) subq_18
+ ) subq_13
+ ) subq_14
+ ) subq_15
+ ) subq_16
+) subq_17
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter_not_in_group_by__plan0_optimized.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter_not_in_group_by__plan0_optimized.sql
index 6bda1913ba..01085ca8c9 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter_not_in_group_by__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_conversion_metric_with_custom_granularity_filter_not_in_group_by__plan0_optimized.sql
@@ -15,7 +15,7 @@ WITH sma_28019_cte AS (
)
SELECT
- CAST(MAX(subq_35.buys) AS DOUBLE) / CAST(NULLIF(MAX(subq_24.visits), 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ CAST(MAX(subq_34.buys) AS DOUBLE) / CAST(NULLIF(MAX(subq_23.visits), 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits',]
@@ -27,15 +27,15 @@ FROM (
-- Join to Custom Granularity Dataset
SELECT
sma_28019_cte.visits AS visits
- , subq_20.martian_day AS metric_time__martian_day
+ , subq_19.martian_day AS metric_time__martian_day
FROM sma_28019_cte sma_28019_cte
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_20
+ ***************************.mf_time_spine subq_19
ON
- sma_28019_cte.metric_time__day = subq_20.ds
- ) subq_21
+ sma_28019_cte.metric_time__day = subq_19.ds
+ ) subq_20
WHERE metric_time__martian_day = '2020-01-01'
-) subq_24
+) subq_23
CROSS JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys',]
@@ -45,47 +45,47 @@ CROSS JOIN (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_28.visits) OVER (
+ FIRST_VALUE(subq_27.visits) OVER (
PARTITION BY
- subq_31.user
- , subq_31.metric_time__day
- , subq_31.mf_internal_uuid
- ORDER BY subq_28.metric_time__day DESC
+ subq_30.user
+ , subq_30.metric_time__day
+ , subq_30.mf_internal_uuid
+ ORDER BY subq_27.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_28.metric_time__martian_day) OVER (
+ , FIRST_VALUE(subq_27.metric_time__martian_day) OVER (
PARTITION BY
- subq_31.user
- , subq_31.metric_time__day
- , subq_31.mf_internal_uuid
- ORDER BY subq_28.metric_time__day DESC
+ subq_30.user
+ , subq_30.metric_time__day
+ , subq_30.mf_internal_uuid
+ ORDER BY subq_27.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__martian_day
- , FIRST_VALUE(subq_28.metric_time__day) OVER (
+ , FIRST_VALUE(subq_27.metric_time__day) OVER (
PARTITION BY
- subq_31.user
- , subq_31.metric_time__day
- , subq_31.mf_internal_uuid
- ORDER BY subq_28.metric_time__day DESC
+ subq_30.user
+ , subq_30.metric_time__day
+ , subq_30.mf_internal_uuid
+ ORDER BY subq_27.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_28.user) OVER (
+ , FIRST_VALUE(subq_27.user) OVER (
PARTITION BY
- subq_31.user
- , subq_31.metric_time__day
- , subq_31.mf_internal_uuid
- ORDER BY subq_28.metric_time__day DESC
+ subq_30.user
+ , subq_30.metric_time__day
+ , subq_30.mf_internal_uuid
+ ORDER BY subq_27.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_31.mf_internal_uuid AS mf_internal_uuid
- , subq_31.buys AS buys
+ , subq_30.mf_internal_uuid AS mf_internal_uuid
+ , subq_30.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'metric_time__day', 'metric_time__martian_day', 'user']
SELECT
metric_time__martian_day
, metric_time__day
- , subq_26.user
+ , subq_25.user
, visits
FROM (
-- Read From CTE For node_id=sma_28019
@@ -94,15 +94,15 @@ CROSS JOIN (
sma_28019_cte.metric_time__day AS metric_time__day
, sma_28019_cte.user AS user
, sma_28019_cte.visits AS visits
- , subq_25.martian_day AS metric_time__martian_day
+ , subq_24.martian_day AS metric_time__martian_day
FROM sma_28019_cte sma_28019_cte
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_25
+ ***************************.mf_time_spine subq_24
ON
- sma_28019_cte.metric_time__day = subq_25.ds
- ) subq_26
+ sma_28019_cte.metric_time__day = subq_24.ds
+ ) subq_25
WHERE metric_time__martian_day = '2020-01-01'
- ) subq_28
+ ) subq_27
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -113,16 +113,16 @@ CROSS JOIN (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_31
+ ) subq_30
ON
(
- subq_28.user = subq_31.user
+ subq_27.user = subq_30.user
) AND (
(
- subq_28.metric_time__day <= subq_31.metric_time__day
+ subq_27.metric_time__day <= subq_30.metric_time__day
) AND (
- subq_28.metric_time__day > subq_31.metric_time__day - INTERVAL 7 day
+ subq_27.metric_time__day > subq_30.metric_time__day - INTERVAL 7 day
)
)
- ) subq_32
-) subq_35
+ ) subq_31
+) subq_34
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window__plan0.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window__plan0.sql
index 0f65b8b553..88fcec93e1 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window__plan0.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window__plan0.sql
@@ -4,134 +4,134 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.metric_time__day
+ subq_15.metric_time__day
, bookings AS bookings_offset_one_martian_day
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_10.metric_time__day
- , subq_10.bookings
+ subq_14.metric_time__day
+ , subq_14.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_9.metric_time__day
- , SUM(subq_9.bookings) AS bookings
+ subq_13.metric_time__day
+ , SUM(subq_13.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_8.metric_time__day
- , subq_8.bookings
+ subq_12.metric_time__day
+ , subq_12.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_7.metric_time__day AS metric_time__day
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.max_booking_value AS max_booking_value
- , subq_1.min_booking_value AS min_booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
- , subq_1.referred_bookings AS referred_bookings
- , subq_1.median_booking_value AS median_booking_value
- , subq_1.booking_value_p99 AS booking_value_p99
- , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_11.metric_time__day AS metric_time__day
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__day AS booking__ds__day
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['ds__day', 'metric_time__day']
SELECT
- subq_6.ds__day
- , subq_6.metric_time__day
+ subq_10.ds__day
+ , subq_10.metric_time__day
FROM (
-- Apply Requested Granularities
SELECT
- subq_5.ds__day
- , subq_5.ds__day__lead AS metric_time__day
+ subq_9.ds__day
+ , subq_9.ds__day__lead AS metric_time__day
FROM (
-- Offset Base Granularity By Custom Granularity Period(s)
WITH cte_2 AS (
@@ -149,19 +149,19 @@ FROM (
, EXTRACT(isodow FROM time_spine_src_28006.ds) AS ds__extract_dow
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
- , FIRST_VALUE(subq_2.ds__day) OVER (
- PARTITION BY subq_2.ds__martian_day
- ORDER BY subq_2.ds__day
+ , FIRST_VALUE(subq_6.ds__day) OVER (
+ PARTITION BY subq_6.ds__martian_day
+ ORDER BY subq_6.ds__day
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS ds__martian_day__first_value
- , LAST_VALUE(subq_2.ds__day) OVER (
- PARTITION BY subq_2.ds__martian_day
- ORDER BY subq_2.ds__day
+ , LAST_VALUE(subq_6.ds__day) OVER (
+ PARTITION BY subq_6.ds__martian_day
+ ORDER BY subq_6.ds__day
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS ds__martian_day__last_value
, ROW_NUMBER() OVER (
- PARTITION BY subq_2.ds__martian_day
- ORDER BY subq_2.ds__day
+ PARTITION BY subq_6.ds__martian_day
+ ORDER BY subq_6.ds__day
) AS ds__day__row_number
FROM (
-- Read From Time Spine 'mf_time_spine'
@@ -179,23 +179,23 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_2
+ ) subq_6
)
SELECT
cte_2.ds__day AS ds__day
, CASE
- WHEN subq_4.ds__martian_day__first_value__lead + INTERVAL (cte_2.ds__day__row_number - 1) day <= subq_4.ds__martian_day__last_value__lead
- THEN subq_4.ds__martian_day__first_value__lead + INTERVAL (cte_2.ds__day__row_number - 1) day
+ WHEN subq_8.ds__martian_day__first_value__lead + INTERVAL (cte_2.ds__day__row_number - 1) day <= subq_8.ds__martian_day__last_value__lead
+ THEN subq_8.ds__martian_day__first_value__lead + INTERVAL (cte_2.ds__day__row_number - 1) day
ELSE NULL
END AS ds__day__lead
FROM cte_2 cte_2
INNER JOIN (
-- Offset Custom Granularity Bounds
SELECT
- subq_3.ds__martian_day
- , LEAD(subq_3.ds__martian_day__first_value, 1) OVER (ORDER BY subq_3.ds__martian_day) AS ds__martian_day__first_value__lead
- , LEAD(subq_3.ds__martian_day__last_value, 1) OVER (ORDER BY subq_3.ds__martian_day) AS ds__martian_day__last_value__lead
+ subq_7.ds__martian_day
+ , LEAD(subq_7.ds__martian_day__first_value, 1) OVER (ORDER BY subq_7.ds__martian_day) AS ds__martian_day__first_value__lead
+ , LEAD(subq_7.ds__martian_day__last_value, 1) OVER (ORDER BY subq_7.ds__martian_day) AS ds__martian_day__last_value__lead
FROM (
-- Get Unique Rows for Custom Granularity Bounds
SELECT
@@ -207,114 +207,114 @@ FROM (
cte_2.ds__martian_day
, cte_2.ds__martian_day__first_value
, cte_2.ds__martian_day__last_value
- ) subq_3
- ) subq_4
+ ) subq_7
+ ) subq_8
ON
- cte_2.ds__martian_day = subq_4.ds__martian_day
- ) subq_5
- ) subq_6
- ) subq_7
+ cte_2.ds__martian_day = subq_8.ds__martian_day
+ ) subq_9
+ ) subq_10
+ ) subq_11
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_4.ds__day
+ , subq_4.ds__week
+ , subq_4.ds__month
+ , subq_4.ds__quarter
+ , subq_4.ds__year
+ , subq_4.ds__extract_year
+ , subq_4.ds__extract_quarter
+ , subq_4.ds__extract_month
+ , subq_4.ds__extract_day
+ , subq_4.ds__extract_dow
+ , subq_4.ds__extract_doy
+ , subq_4.ds_partitioned__day
+ , subq_4.ds_partitioned__week
+ , subq_4.ds_partitioned__month
+ , subq_4.ds_partitioned__quarter
+ , subq_4.ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy
+ , subq_4.paid_at__day
+ , subq_4.paid_at__week
+ , subq_4.paid_at__month
+ , subq_4.paid_at__quarter
+ , subq_4.paid_at__year
+ , subq_4.paid_at__extract_year
+ , subq_4.paid_at__extract_quarter
+ , subq_4.paid_at__extract_month
+ , subq_4.paid_at__extract_day
+ , subq_4.paid_at__extract_dow
+ , subq_4.paid_at__extract_doy
+ , subq_4.booking__ds__day
+ , subq_4.booking__ds__week
+ , subq_4.booking__ds__month
+ , subq_4.booking__ds__quarter
+ , subq_4.booking__ds__year
+ , subq_4.booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month
+ , subq_4.booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day
+ , subq_4.booking__paid_at__week
+ , subq_4.booking__paid_at__month
+ , subq_4.booking__paid_at__quarter
+ , subq_4.booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy
+ , subq_4.ds__day AS metric_time__day
+ , subq_4.ds__week AS metric_time__week
+ , subq_4.ds__month AS metric_time__month
+ , subq_4.ds__quarter AS metric_time__quarter
+ , subq_4.ds__year AS metric_time__year
+ , subq_4.ds__extract_year AS metric_time__extract_year
+ , subq_4.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_4.ds__extract_month AS metric_time__extract_month
+ , subq_4.ds__extract_day AS metric_time__extract_day
+ , subq_4.ds__extract_dow AS metric_time__extract_dow
+ , subq_4.ds__extract_doy AS metric_time__extract_doy
+ , subq_4.listing
+ , subq_4.guest
+ , subq_4.host
+ , subq_4.booking__listing
+ , subq_4.booking__guest
+ , subq_4.booking__host
+ , subq_4.is_instant
+ , subq_4.booking__is_instant
+ , subq_4.bookings
+ , subq_4.instant_bookings
+ , subq_4.booking_value
+ , subq_4.max_booking_value
+ , subq_4.min_booking_value
+ , subq_4.bookers
+ , subq_4.average_booking_value
+ , subq_4.referred_bookings
+ , subq_4.median_booking_value
+ , subq_4.booking_value_p99
+ , subq_4.discrete_booking_value_p99
+ , subq_4.approximate_continuous_booking_value_p99
+ , subq_4.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -407,13 +407,13 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
+ ) subq_4
+ ) subq_5
ON
- subq_7.ds__day = subq_1.metric_time__day
- ) subq_8
- ) subq_9
+ subq_11.ds__day = subq_5.metric_time__day
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_9.metric_time__day
- ) subq_10
-) subq_11
+ subq_13.metric_time__day
+ ) subq_14
+) subq_15
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window__plan0_optimized.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window__plan0_optimized.sql
index 60c350ffa7..263af333e8 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window__plan0_optimized.sql
@@ -12,8 +12,8 @@ FROM (
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_17.ds__day__lead AS metric_time__day
- , SUM(subq_13.bookings) AS bookings
+ subq_25.ds__day__lead AS metric_time__day
+ , SUM(subq_21.bookings) AS bookings
FROM (
-- Offset Base Granularity By Custom Granularity Period(s)
WITH cte_6 AS (
@@ -42,8 +42,8 @@ FROM (
SELECT
cte_6.ds__day AS ds__day
, CASE
- WHEN subq_16.ds__martian_day__first_value__lead + INTERVAL (cte_6.ds__day__row_number - 1) day <= subq_16.ds__martian_day__last_value__lead
- THEN subq_16.ds__martian_day__first_value__lead + INTERVAL (cte_6.ds__day__row_number - 1) day
+ WHEN subq_24.ds__martian_day__first_value__lead + INTERVAL (cte_6.ds__day__row_number - 1) day <= subq_24.ds__martian_day__last_value__lead
+ THEN subq_24.ds__martian_day__first_value__lead + INTERVAL (cte_6.ds__day__row_number - 1) day
ELSE NULL
END AS ds__day__lead
FROM cte_6 cte_6
@@ -64,11 +64,11 @@ FROM (
ds__martian_day
, ds__martian_day__first_value
, ds__martian_day__last_value
- ) subq_15
- ) subq_16
+ ) subq_23
+ ) subq_24
ON
- cte_6.ds__martian_day = subq_16.ds__martian_day
- ) subq_17
+ cte_6.ds__martian_day = subq_24.ds__martian_day
+ ) subq_25
INNER JOIN (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -76,9 +76,9 @@ FROM (
DATE_TRUNC('day', ds) AS metric_time__day
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_13
+ ) subq_21
ON
- subq_17.ds__day = subq_13.metric_time__day
+ subq_25.ds__day = subq_21.metric_time__day
GROUP BY
- subq_17.ds__day__lead
-) subq_23
+ subq_25.ds__day__lead
+) subq_31
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window_with_granularity_and_date_part__plan0.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window_with_granularity_and_date_part__plan0.sql
index ecb783d475..7462d3616b 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window_with_granularity_and_date_part__plan0.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window_with_granularity_and_date_part__plan0.sql
@@ -4,148 +4,148 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__martian_day
- , subq_12.booking__ds__month
- , subq_12.metric_time__extract_year
+ subq_16.metric_time__martian_day
+ , subq_16.booking__ds__month
+ , subq_16.metric_time__extract_year
, bookings AS bookings_offset_one_martian_day
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_11.metric_time__martian_day
- , subq_11.booking__ds__month
- , subq_11.metric_time__extract_year
- , subq_11.bookings
+ subq_15.metric_time__martian_day
+ , subq_15.booking__ds__month
+ , subq_15.metric_time__extract_year
+ , subq_15.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_10.metric_time__martian_day
- , subq_10.booking__ds__month
- , subq_10.metric_time__extract_year
- , SUM(subq_10.bookings) AS bookings
+ subq_14.metric_time__martian_day
+ , subq_14.booking__ds__month
+ , subq_14.metric_time__extract_year
+ , SUM(subq_14.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'booking__ds__month', 'metric_time__extract_year', 'metric_time__martian_day']
SELECT
- subq_9.metric_time__martian_day
- , subq_9.booking__ds__month
- , subq_9.metric_time__extract_year
- , subq_9.bookings
+ subq_13.metric_time__martian_day
+ , subq_13.booking__ds__month
+ , subq_13.metric_time__extract_year
+ , subq_13.bookings
FROM (
-- Join to Time Spine Dataset
-- Join to Custom Granularity Dataset
SELECT
- subq_7.booking__ds__month AS booking__ds__month
- , subq_7.metric_time__extract_year AS metric_time__extract_year
- , subq_7.metric_time__day AS metric_time__day
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.max_booking_value AS max_booking_value
- , subq_1.min_booking_value AS min_booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
- , subq_1.referred_bookings AS referred_bookings
- , subq_1.median_booking_value AS median_booking_value
- , subq_1.booking_value_p99 AS booking_value_p99
- , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
- , subq_8.martian_day AS metric_time__martian_day
+ subq_11.booking__ds__month AS booking__ds__month
+ , subq_11.metric_time__extract_year AS metric_time__extract_year
+ , subq_11.metric_time__day AS metric_time__day
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__day AS booking__ds__day
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ , subq_12.martian_day AS metric_time__martian_day
FROM (
-- Pass Only Elements: ['ds__day', 'booking__ds__month', 'metric_time__extract_year', 'metric_time__day']
SELECT
- subq_6.ds__day
- , subq_6.booking__ds__month
- , subq_6.metric_time__extract_year
- , subq_6.metric_time__day
+ subq_10.ds__day
+ , subq_10.booking__ds__month
+ , subq_10.metric_time__extract_year
+ , subq_10.metric_time__day
FROM (
-- Apply Requested Granularities
SELECT
- subq_5.ds__day
- , DATE_TRUNC('month', subq_5.ds__day__lead) AS booking__ds__month
- , EXTRACT(year FROM subq_5.ds__day__lead) AS metric_time__extract_year
- , subq_5.ds__day__lead AS metric_time__day
+ subq_9.ds__day
+ , DATE_TRUNC('month', subq_9.ds__day__lead) AS booking__ds__month
+ , EXTRACT(year FROM subq_9.ds__day__lead) AS metric_time__extract_year
+ , subq_9.ds__day__lead AS metric_time__day
FROM (
-- Offset Base Granularity By Custom Granularity Period(s)
WITH cte_2 AS (
@@ -163,19 +163,19 @@ FROM (
, EXTRACT(isodow FROM time_spine_src_28006.ds) AS ds__extract_dow
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
- , FIRST_VALUE(subq_2.ds__day) OVER (
- PARTITION BY subq_2.ds__martian_day
- ORDER BY subq_2.ds__day
+ , FIRST_VALUE(subq_6.ds__day) OVER (
+ PARTITION BY subq_6.ds__martian_day
+ ORDER BY subq_6.ds__day
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS ds__martian_day__first_value
- , LAST_VALUE(subq_2.ds__day) OVER (
- PARTITION BY subq_2.ds__martian_day
- ORDER BY subq_2.ds__day
+ , LAST_VALUE(subq_6.ds__day) OVER (
+ PARTITION BY subq_6.ds__martian_day
+ ORDER BY subq_6.ds__day
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS ds__martian_day__last_value
, ROW_NUMBER() OVER (
- PARTITION BY subq_2.ds__martian_day
- ORDER BY subq_2.ds__day
+ PARTITION BY subq_6.ds__martian_day
+ ORDER BY subq_6.ds__day
) AS ds__day__row_number
FROM (
-- Read From Time Spine 'mf_time_spine'
@@ -193,23 +193,23 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_2
+ ) subq_6
)
SELECT
cte_2.ds__day AS ds__day
, CASE
- WHEN subq_4.ds__martian_day__first_value__lead + INTERVAL (cte_2.ds__day__row_number - 1) day <= subq_4.ds__martian_day__last_value__lead
- THEN subq_4.ds__martian_day__first_value__lead + INTERVAL (cte_2.ds__day__row_number - 1) day
+ WHEN subq_8.ds__martian_day__first_value__lead + INTERVAL (cte_2.ds__day__row_number - 1) day <= subq_8.ds__martian_day__last_value__lead
+ THEN subq_8.ds__martian_day__first_value__lead + INTERVAL (cte_2.ds__day__row_number - 1) day
ELSE NULL
END AS ds__day__lead
FROM cte_2 cte_2
INNER JOIN (
-- Offset Custom Granularity Bounds
SELECT
- subq_3.ds__martian_day
- , LEAD(subq_3.ds__martian_day__first_value, 1) OVER (ORDER BY subq_3.ds__martian_day) AS ds__martian_day__first_value__lead
- , LEAD(subq_3.ds__martian_day__last_value, 1) OVER (ORDER BY subq_3.ds__martian_day) AS ds__martian_day__last_value__lead
+ subq_7.ds__martian_day
+ , LEAD(subq_7.ds__martian_day__first_value, 1) OVER (ORDER BY subq_7.ds__martian_day) AS ds__martian_day__first_value__lead
+ , LEAD(subq_7.ds__martian_day__last_value, 1) OVER (ORDER BY subq_7.ds__martian_day) AS ds__martian_day__last_value__lead
FROM (
-- Get Unique Rows for Custom Granularity Bounds
SELECT
@@ -221,114 +221,114 @@ FROM (
cte_2.ds__martian_day
, cte_2.ds__martian_day__first_value
, cte_2.ds__martian_day__last_value
- ) subq_3
- ) subq_4
+ ) subq_7
+ ) subq_8
ON
- cte_2.ds__martian_day = subq_4.ds__martian_day
- ) subq_5
- ) subq_6
- ) subq_7
+ cte_2.ds__martian_day = subq_8.ds__martian_day
+ ) subq_9
+ ) subq_10
+ ) subq_11
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_4.ds__day
+ , subq_4.ds__week
+ , subq_4.ds__month
+ , subq_4.ds__quarter
+ , subq_4.ds__year
+ , subq_4.ds__extract_year
+ , subq_4.ds__extract_quarter
+ , subq_4.ds__extract_month
+ , subq_4.ds__extract_day
+ , subq_4.ds__extract_dow
+ , subq_4.ds__extract_doy
+ , subq_4.ds_partitioned__day
+ , subq_4.ds_partitioned__week
+ , subq_4.ds_partitioned__month
+ , subq_4.ds_partitioned__quarter
+ , subq_4.ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy
+ , subq_4.paid_at__day
+ , subq_4.paid_at__week
+ , subq_4.paid_at__month
+ , subq_4.paid_at__quarter
+ , subq_4.paid_at__year
+ , subq_4.paid_at__extract_year
+ , subq_4.paid_at__extract_quarter
+ , subq_4.paid_at__extract_month
+ , subq_4.paid_at__extract_day
+ , subq_4.paid_at__extract_dow
+ , subq_4.paid_at__extract_doy
+ , subq_4.booking__ds__day
+ , subq_4.booking__ds__week
+ , subq_4.booking__ds__month
+ , subq_4.booking__ds__quarter
+ , subq_4.booking__ds__year
+ , subq_4.booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month
+ , subq_4.booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day
+ , subq_4.booking__paid_at__week
+ , subq_4.booking__paid_at__month
+ , subq_4.booking__paid_at__quarter
+ , subq_4.booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy
+ , subq_4.ds__day AS metric_time__day
+ , subq_4.ds__week AS metric_time__week
+ , subq_4.ds__month AS metric_time__month
+ , subq_4.ds__quarter AS metric_time__quarter
+ , subq_4.ds__year AS metric_time__year
+ , subq_4.ds__extract_year AS metric_time__extract_year
+ , subq_4.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_4.ds__extract_month AS metric_time__extract_month
+ , subq_4.ds__extract_day AS metric_time__extract_day
+ , subq_4.ds__extract_dow AS metric_time__extract_dow
+ , subq_4.ds__extract_doy AS metric_time__extract_doy
+ , subq_4.listing
+ , subq_4.guest
+ , subq_4.host
+ , subq_4.booking__listing
+ , subq_4.booking__guest
+ , subq_4.booking__host
+ , subq_4.is_instant
+ , subq_4.booking__is_instant
+ , subq_4.bookings
+ , subq_4.instant_bookings
+ , subq_4.booking_value
+ , subq_4.max_booking_value
+ , subq_4.min_booking_value
+ , subq_4.bookers
+ , subq_4.average_booking_value
+ , subq_4.referred_bookings
+ , subq_4.median_booking_value
+ , subq_4.booking_value_p99
+ , subq_4.discrete_booking_value_p99
+ , subq_4.approximate_continuous_booking_value_p99
+ , subq_4.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -421,19 +421,19 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
+ ) subq_4
+ ) subq_5
ON
- subq_7.ds__day = subq_1.metric_time__day
+ subq_11.ds__day = subq_5.metric_time__day
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_8
+ ***************************.mf_time_spine subq_12
ON
- subq_7.metric_time__day = subq_8.ds
- ) subq_9
- ) subq_10
+ subq_11.metric_time__day = subq_12.ds
+ ) subq_13
+ ) subq_14
GROUP BY
- subq_10.metric_time__martian_day
- , subq_10.booking__ds__month
- , subq_10.metric_time__extract_year
- ) subq_11
-) subq_12
+ subq_14.metric_time__martian_day
+ , subq_14.booking__ds__month
+ , subq_14.metric_time__extract_year
+ ) subq_15
+) subq_16
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window_with_granularity_and_date_part__plan0_optimized.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window_with_granularity_and_date_part__plan0_optimized.sql
index 9aea062192..e9ee9ae008 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window_with_granularity_and_date_part__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_custom_offset_window_with_granularity_and_date_part__plan0_optimized.sql
@@ -15,10 +15,10 @@ FROM (
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_21.martian_day AS metric_time__martian_day
- , DATE_TRUNC('month', subq_18.ds__day__lead) AS booking__ds__month
- , EXTRACT(year FROM subq_18.ds__day__lead) AS metric_time__extract_year
- , SUM(subq_14.bookings) AS bookings
+ subq_29.martian_day AS metric_time__martian_day
+ , DATE_TRUNC('month', subq_26.ds__day__lead) AS booking__ds__month
+ , EXTRACT(year FROM subq_26.ds__day__lead) AS metric_time__extract_year
+ , SUM(subq_22.bookings) AS bookings
FROM (
-- Offset Base Granularity By Custom Granularity Period(s)
WITH cte_6 AS (
@@ -47,8 +47,8 @@ FROM (
SELECT
cte_6.ds__day AS ds__day
, CASE
- WHEN subq_17.ds__martian_day__first_value__lead + INTERVAL (cte_6.ds__day__row_number - 1) day <= subq_17.ds__martian_day__last_value__lead
- THEN subq_17.ds__martian_day__first_value__lead + INTERVAL (cte_6.ds__day__row_number - 1) day
+ WHEN subq_25.ds__martian_day__first_value__lead + INTERVAL (cte_6.ds__day__row_number - 1) day <= subq_25.ds__martian_day__last_value__lead
+ THEN subq_25.ds__martian_day__first_value__lead + INTERVAL (cte_6.ds__day__row_number - 1) day
ELSE NULL
END AS ds__day__lead
FROM cte_6 cte_6
@@ -69,11 +69,11 @@ FROM (
ds__martian_day
, ds__martian_day__first_value
, ds__martian_day__last_value
- ) subq_16
- ) subq_17
+ ) subq_24
+ ) subq_25
ON
- cte_6.ds__martian_day = subq_17.ds__martian_day
- ) subq_18
+ cte_6.ds__martian_day = subq_25.ds__martian_day
+ ) subq_26
INNER JOIN (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -81,15 +81,15 @@ FROM (
DATE_TRUNC('day', ds) AS metric_time__day
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_14
+ ) subq_22
ON
- subq_18.ds__day = subq_14.metric_time__day
+ subq_26.ds__day = subq_22.metric_time__day
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_21
+ ***************************.mf_time_spine subq_29
ON
- subq_18.ds__day__lead = subq_21.ds
+ subq_26.ds__day__lead = subq_29.ds
GROUP BY
- subq_21.martian_day
- , DATE_TRUNC('month', subq_18.ds__day__lead)
- , EXTRACT(year FROM subq_18.ds__day__lead)
-) subq_25
+ subq_29.martian_day
+ , DATE_TRUNC('month', subq_26.ds__day__lead)
+ , EXTRACT(year FROM subq_26.ds__day__lead)
+) subq_33
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_derived_metric_with_custom_granularity__plan0.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_derived_metric_with_custom_granularity__plan0.sql
index fa95f7e2a5..6c33a0f003 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_derived_metric_with_custom_granularity__plan0.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_derived_metric_with_custom_granularity__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_12.booking__ds__martian_day
+ subq_11.booking__ds__martian_day
, booking_value * 0.05 / bookers AS booking_fees_per_booker
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.booking__ds__martian_day, subq_11.booking__ds__martian_day) AS booking__ds__martian_day
+ COALESCE(subq_5.booking__ds__martian_day, subq_10.booking__ds__martian_day) AS booking__ds__martian_day
, MAX(subq_5.booking_value) AS booking_value
- , MAX(subq_11.bookers) AS bookers
+ , MAX(subq_10.bookers) AS bookers
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -236,121 +236,121 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_10.booking__ds__martian_day
- , subq_10.bookers
+ subq_9.booking__ds__martian_day
+ , subq_9.bookers
FROM (
-- Aggregate Measures
SELECT
- subq_9.booking__ds__martian_day
- , COUNT(DISTINCT subq_9.bookers) AS bookers
+ subq_8.booking__ds__martian_day
+ , COUNT(DISTINCT subq_8.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers', 'booking__ds__martian_day']
SELECT
- subq_8.booking__ds__martian_day
- , subq_8.bookers
+ subq_7.booking__ds__martian_day
+ , subq_7.bookers
FROM (
-- Metric Time Dimension 'ds'
-- Join to Custom Granularity Dataset
SELECT
- subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.ds_partitioned__day AS ds_partitioned__day
- , subq_6.ds_partitioned__week AS ds_partitioned__week
- , subq_6.ds_partitioned__month AS ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_6.paid_at__day AS paid_at__day
- , subq_6.paid_at__week AS paid_at__week
- , subq_6.paid_at__month AS paid_at__month
- , subq_6.paid_at__quarter AS paid_at__quarter
- , subq_6.paid_at__year AS paid_at__year
- , subq_6.paid_at__extract_year AS paid_at__extract_year
- , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_6.paid_at__extract_month AS paid_at__extract_month
- , subq_6.paid_at__extract_day AS paid_at__extract_day
- , subq_6.paid_at__extract_dow AS paid_at__extract_dow
- , subq_6.paid_at__extract_doy AS paid_at__extract_doy
- , subq_6.booking__ds__day AS booking__ds__day
- , subq_6.booking__ds__week AS booking__ds__week
- , subq_6.booking__ds__month AS booking__ds__month
- , subq_6.booking__ds__quarter AS booking__ds__quarter
- , subq_6.booking__ds__year AS booking__ds__year
- , subq_6.booking__ds__extract_year AS booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month AS booking__ds__extract_month
- , subq_6.booking__ds__extract_day AS booking__ds__extract_day
- , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day AS booking__paid_at__day
- , subq_6.booking__paid_at__week AS booking__paid_at__week
- , subq_6.booking__paid_at__month AS booking__paid_at__month
- , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_6.booking__paid_at__year AS booking__paid_at__year
- , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.listing AS listing
- , subq_6.guest AS guest
- , subq_6.host AS host
- , subq_6.booking__listing AS booking__listing
- , subq_6.booking__guest AS booking__guest
- , subq_6.booking__host AS booking__host
- , subq_6.is_instant AS is_instant
- , subq_6.booking__is_instant AS booking__is_instant
- , subq_6.bookings AS bookings
- , subq_6.instant_bookings AS instant_bookings
- , subq_6.booking_value AS booking_value
- , subq_6.max_booking_value AS max_booking_value
- , subq_6.min_booking_value AS min_booking_value
- , subq_6.bookers AS bookers
- , subq_6.average_booking_value AS average_booking_value
- , subq_6.referred_bookings AS referred_bookings
- , subq_6.median_booking_value AS median_booking_value
- , subq_6.booking_value_p99 AS booking_value_p99
- , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
- , subq_7.martian_day AS booking__ds__martian_day
+ subq_0.ds__day AS ds__day
+ , subq_0.ds__week AS ds__week
+ , subq_0.ds__month AS ds__month
+ , subq_0.ds__quarter AS ds__quarter
+ , subq_0.ds__year AS ds__year
+ , subq_0.ds__extract_year AS ds__extract_year
+ , subq_0.ds__extract_quarter AS ds__extract_quarter
+ , subq_0.ds__extract_month AS ds__extract_month
+ , 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_partitioned__day AS ds_partitioned__day
+ , subq_0.ds_partitioned__week AS ds_partitioned__week
+ , subq_0.ds_partitioned__month AS ds_partitioned__month
+ , subq_0.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_0.ds_partitioned__year AS ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_0.paid_at__day AS paid_at__day
+ , subq_0.paid_at__week AS paid_at__week
+ , subq_0.paid_at__month AS paid_at__month
+ , subq_0.paid_at__quarter AS paid_at__quarter
+ , subq_0.paid_at__year AS paid_at__year
+ , subq_0.paid_at__extract_year AS paid_at__extract_year
+ , subq_0.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_0.paid_at__extract_month AS paid_at__extract_month
+ , subq_0.paid_at__extract_day AS paid_at__extract_day
+ , subq_0.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_0.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_0.booking__ds__day AS booking__ds__day
+ , subq_0.booking__ds__week AS booking__ds__week
+ , subq_0.booking__ds__month AS booking__ds__month
+ , subq_0.booking__ds__quarter AS booking__ds__quarter
+ , subq_0.booking__ds__year AS booking__ds__year
+ , subq_0.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_0.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day AS booking__paid_at__day
+ , subq_0.booking__paid_at__week AS booking__paid_at__week
+ , subq_0.booking__paid_at__month AS booking__paid_at__month
+ , subq_0.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_0.booking__paid_at__year AS booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing AS listing
+ , subq_0.guest AS guest
+ , subq_0.host AS host
+ , subq_0.booking__listing AS booking__listing
+ , subq_0.booking__guest AS booking__guest
+ , subq_0.booking__host AS booking__host
+ , subq_0.is_instant AS is_instant
+ , subq_0.booking__is_instant AS booking__is_instant
+ , subq_0.bookings AS bookings
+ , subq_0.instant_bookings AS instant_bookings
+ , subq_0.booking_value AS booking_value
+ , subq_0.max_booking_value AS max_booking_value
+ , subq_0.min_booking_value AS min_booking_value
+ , subq_0.bookers AS bookers
+ , subq_0.average_booking_value AS average_booking_value
+ , subq_0.referred_bookings AS referred_bookings
+ , subq_0.median_booking_value AS median_booking_value
+ , subq_0.booking_value_p99 AS booking_value_p99
+ , subq_0.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ , subq_6.martian_day AS booking__ds__martian_day
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -443,19 +443,19 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_6
+ ) subq_0
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_7
+ ***************************.mf_time_spine subq_6
ON
- subq_6.booking__ds__day = subq_7.ds
- ) subq_8
- ) subq_9
+ subq_0.booking__ds__day = subq_6.ds
+ ) subq_7
+ ) subq_8
GROUP BY
- subq_9.booking__ds__martian_day
- ) subq_10
- ) subq_11
+ subq_8.booking__ds__martian_day
+ ) subq_9
+ ) subq_10
ON
- subq_5.booking__ds__martian_day = subq_11.booking__ds__martian_day
+ subq_5.booking__ds__martian_day = subq_10.booking__ds__martian_day
GROUP BY
- COALESCE(subq_5.booking__ds__martian_day, subq_11.booking__ds__martian_day)
-) subq_12
+ COALESCE(subq_5.booking__ds__martian_day, subq_10.booking__ds__martian_day)
+) subq_11
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_derived_metric_with_custom_granularity__plan0_optimized.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_derived_metric_with_custom_granularity__plan0_optimized.sql
index 090fed233c..4390109145 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_derived_metric_with_custom_granularity__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_derived_metric_with_custom_granularity__plan0_optimized.sql
@@ -13,14 +13,14 @@ FROM (
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_14.martian_day AS booking__ds__martian_day
+ subq_13.martian_day AS booking__ds__martian_day
, SUM(bookings_source_src_28000.booking_value) AS booking_value
, COUNT(DISTINCT bookings_source_src_28000.guest_id) AS bookers
FROM ***************************.fct_bookings bookings_source_src_28000
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_14
+ ***************************.mf_time_spine subq_13
ON
- DATE_TRUNC('day', bookings_source_src_28000.ds) = subq_14.ds
+ DATE_TRUNC('day', bookings_source_src_28000.ds) = subq_13.ds
GROUP BY
- subq_14.martian_day
-) subq_18
+ subq_13.martian_day
+) subq_17
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_simple_metric_with_multi_hop_custom_granularity__plan0.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_simple_metric_with_multi_hop_custom_granularity__plan0.sql
index face17e258..8d26c89e41 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_simple_metric_with_multi_hop_custom_granularity__plan0.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_simple_metric_with_multi_hop_custom_granularity__plan0.sql
@@ -6,224 +6,224 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_12.listing__user__ds__martian_day
- , subq_12.bookings
+ subq_36.listing__user__ds__martian_day
+ , subq_36.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_11.listing__user__ds__martian_day
- , SUM(subq_11.bookings) AS bookings
+ subq_35.listing__user__ds__martian_day
+ , SUM(subq_35.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing__user__ds__martian_day']
SELECT
- subq_10.listing__user__ds__martian_day
- , subq_10.bookings
+ subq_34.listing__user__ds__martian_day
+ , subq_34.bookings
FROM (
-- Join Standard Outputs
-- Join to Custom Granularity Dataset
SELECT
- subq_8.user__ds__day AS listing__user__ds__day
- , subq_8.user__ds_partitioned__day AS listing__user__ds_partitioned__day
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.max_booking_value AS max_booking_value
- , subq_1.min_booking_value AS min_booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
- , subq_1.referred_bookings AS referred_bookings
- , subq_1.median_booking_value AS median_booking_value
- , subq_1.booking_value_p99 AS booking_value_p99
- , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
- , subq_9.martian_day AS listing__user__ds__martian_day
+ subq_32.user__ds__day AS listing__user__ds__day
+ , subq_32.user__ds_partitioned__day AS listing__user__ds_partitioned__day
+ , subq_25.ds__day AS ds__day
+ , subq_25.ds__week AS ds__week
+ , subq_25.ds__month AS ds__month
+ , subq_25.ds__quarter AS ds__quarter
+ , subq_25.ds__year AS ds__year
+ , subq_25.ds__extract_year AS ds__extract_year
+ , subq_25.ds__extract_quarter AS ds__extract_quarter
+ , subq_25.ds__extract_month AS ds__extract_month
+ , subq_25.ds__extract_day AS ds__extract_day
+ , subq_25.ds__extract_dow AS ds__extract_dow
+ , subq_25.ds__extract_doy AS ds__extract_doy
+ , subq_25.ds_partitioned__day AS ds_partitioned__day
+ , subq_25.ds_partitioned__week AS ds_partitioned__week
+ , subq_25.ds_partitioned__month AS ds_partitioned__month
+ , subq_25.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_25.ds_partitioned__year AS ds_partitioned__year
+ , subq_25.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_25.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_25.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_25.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_25.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_25.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_25.paid_at__day AS paid_at__day
+ , subq_25.paid_at__week AS paid_at__week
+ , subq_25.paid_at__month AS paid_at__month
+ , subq_25.paid_at__quarter AS paid_at__quarter
+ , subq_25.paid_at__year AS paid_at__year
+ , subq_25.paid_at__extract_year AS paid_at__extract_year
+ , subq_25.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_25.paid_at__extract_month AS paid_at__extract_month
+ , subq_25.paid_at__extract_day AS paid_at__extract_day
+ , subq_25.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_25.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_25.booking__ds__day AS booking__ds__day
+ , subq_25.booking__ds__week AS booking__ds__week
+ , subq_25.booking__ds__month AS booking__ds__month
+ , subq_25.booking__ds__quarter AS booking__ds__quarter
+ , subq_25.booking__ds__year AS booking__ds__year
+ , subq_25.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_25.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_25.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_25.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_25.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_25.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_25.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_25.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_25.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_25.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_25.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_25.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_25.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_25.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_25.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_25.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_25.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_25.booking__paid_at__day AS booking__paid_at__day
+ , subq_25.booking__paid_at__week AS booking__paid_at__week
+ , subq_25.booking__paid_at__month AS booking__paid_at__month
+ , subq_25.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_25.booking__paid_at__year AS booking__paid_at__year
+ , subq_25.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_25.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_25.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_25.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_25.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_25.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_25.metric_time__day AS metric_time__day
+ , subq_25.metric_time__week AS metric_time__week
+ , subq_25.metric_time__month AS metric_time__month
+ , subq_25.metric_time__quarter AS metric_time__quarter
+ , subq_25.metric_time__year AS metric_time__year
+ , subq_25.metric_time__extract_year AS metric_time__extract_year
+ , subq_25.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_25.metric_time__extract_month AS metric_time__extract_month
+ , subq_25.metric_time__extract_day AS metric_time__extract_day
+ , subq_25.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_25.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_25.listing AS listing
+ , subq_25.guest AS guest
+ , subq_25.host AS host
+ , subq_25.booking__listing AS booking__listing
+ , subq_25.booking__guest AS booking__guest
+ , subq_25.booking__host AS booking__host
+ , subq_25.is_instant AS is_instant
+ , subq_25.booking__is_instant AS booking__is_instant
+ , subq_25.bookings AS bookings
+ , subq_25.instant_bookings AS instant_bookings
+ , subq_25.booking_value AS booking_value
+ , subq_25.max_booking_value AS max_booking_value
+ , subq_25.min_booking_value AS min_booking_value
+ , subq_25.bookers AS bookers
+ , subq_25.average_booking_value AS average_booking_value
+ , subq_25.referred_bookings AS referred_bookings
+ , subq_25.median_booking_value AS median_booking_value
+ , subq_25.booking_value_p99 AS booking_value_p99
+ , subq_25.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_25.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_25.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ , subq_33.martian_day AS listing__user__ds__martian_day
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_24.ds__day
+ , subq_24.ds__week
+ , subq_24.ds__month
+ , subq_24.ds__quarter
+ , subq_24.ds__year
+ , subq_24.ds__extract_year
+ , subq_24.ds__extract_quarter
+ , subq_24.ds__extract_month
+ , subq_24.ds__extract_day
+ , subq_24.ds__extract_dow
+ , subq_24.ds__extract_doy
+ , subq_24.ds_partitioned__day
+ , subq_24.ds_partitioned__week
+ , subq_24.ds_partitioned__month
+ , subq_24.ds_partitioned__quarter
+ , subq_24.ds_partitioned__year
+ , subq_24.ds_partitioned__extract_year
+ , subq_24.ds_partitioned__extract_quarter
+ , subq_24.ds_partitioned__extract_month
+ , subq_24.ds_partitioned__extract_day
+ , subq_24.ds_partitioned__extract_dow
+ , subq_24.ds_partitioned__extract_doy
+ , subq_24.paid_at__day
+ , subq_24.paid_at__week
+ , subq_24.paid_at__month
+ , subq_24.paid_at__quarter
+ , subq_24.paid_at__year
+ , subq_24.paid_at__extract_year
+ , subq_24.paid_at__extract_quarter
+ , subq_24.paid_at__extract_month
+ , subq_24.paid_at__extract_day
+ , subq_24.paid_at__extract_dow
+ , subq_24.paid_at__extract_doy
+ , subq_24.booking__ds__day
+ , subq_24.booking__ds__week
+ , subq_24.booking__ds__month
+ , subq_24.booking__ds__quarter
+ , subq_24.booking__ds__year
+ , subq_24.booking__ds__extract_year
+ , subq_24.booking__ds__extract_quarter
+ , subq_24.booking__ds__extract_month
+ , subq_24.booking__ds__extract_day
+ , subq_24.booking__ds__extract_dow
+ , subq_24.booking__ds__extract_doy
+ , subq_24.booking__ds_partitioned__day
+ , subq_24.booking__ds_partitioned__week
+ , subq_24.booking__ds_partitioned__month
+ , subq_24.booking__ds_partitioned__quarter
+ , subq_24.booking__ds_partitioned__year
+ , subq_24.booking__ds_partitioned__extract_year
+ , subq_24.booking__ds_partitioned__extract_quarter
+ , subq_24.booking__ds_partitioned__extract_month
+ , subq_24.booking__ds_partitioned__extract_day
+ , subq_24.booking__ds_partitioned__extract_dow
+ , subq_24.booking__ds_partitioned__extract_doy
+ , subq_24.booking__paid_at__day
+ , subq_24.booking__paid_at__week
+ , subq_24.booking__paid_at__month
+ , subq_24.booking__paid_at__quarter
+ , subq_24.booking__paid_at__year
+ , subq_24.booking__paid_at__extract_year
+ , subq_24.booking__paid_at__extract_quarter
+ , subq_24.booking__paid_at__extract_month
+ , subq_24.booking__paid_at__extract_day
+ , subq_24.booking__paid_at__extract_dow
+ , subq_24.booking__paid_at__extract_doy
+ , subq_24.ds__day AS metric_time__day
+ , subq_24.ds__week AS metric_time__week
+ , subq_24.ds__month AS metric_time__month
+ , subq_24.ds__quarter AS metric_time__quarter
+ , subq_24.ds__year AS metric_time__year
+ , subq_24.ds__extract_year AS metric_time__extract_year
+ , subq_24.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_24.ds__extract_month AS metric_time__extract_month
+ , subq_24.ds__extract_day AS metric_time__extract_day
+ , subq_24.ds__extract_dow AS metric_time__extract_dow
+ , subq_24.ds__extract_doy AS metric_time__extract_doy
+ , subq_24.listing
+ , subq_24.guest
+ , subq_24.host
+ , subq_24.booking__listing
+ , subq_24.booking__guest
+ , subq_24.booking__host
+ , subq_24.is_instant
+ , subq_24.booking__is_instant
+ , subq_24.bookings
+ , subq_24.instant_bookings
+ , subq_24.booking_value
+ , subq_24.max_booking_value
+ , subq_24.min_booking_value
+ , subq_24.bookers
+ , subq_24.average_booking_value
+ , subq_24.referred_bookings
+ , subq_24.median_booking_value
+ , subq_24.booking_value_p99
+ , subq_24.discrete_booking_value_p99
+ , subq_24.approximate_continuous_booking_value_p99
+ , subq_24.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -316,253 +316,253 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
+ ) subq_24
+ ) subq_25
LEFT OUTER JOIN (
-- Pass Only Elements: ['user__ds_partitioned__day', 'user__ds__day', 'listing']
SELECT
- subq_7.user__ds__day
- , subq_7.user__ds_partitioned__day
- , subq_7.listing
+ subq_31.user__ds__day
+ , subq_31.user__ds_partitioned__day
+ , subq_31.listing
FROM (
-- Join Standard Outputs
SELECT
- subq_6.home_state AS user__home_state
- , subq_6.ds__day AS user__ds__day
- , subq_6.ds__week AS user__ds__week
- , subq_6.ds__month AS user__ds__month
- , subq_6.ds__quarter AS user__ds__quarter
- , subq_6.ds__year AS user__ds__year
- , subq_6.ds__extract_year AS user__ds__extract_year
- , subq_6.ds__extract_quarter AS user__ds__extract_quarter
- , subq_6.ds__extract_month AS user__ds__extract_month
- , subq_6.ds__extract_day AS user__ds__extract_day
- , subq_6.ds__extract_dow AS user__ds__extract_dow
- , subq_6.ds__extract_doy AS user__ds__extract_doy
- , subq_6.created_at__day AS user__created_at__day
- , subq_6.created_at__week AS user__created_at__week
- , subq_6.created_at__month AS user__created_at__month
- , subq_6.created_at__quarter AS user__created_at__quarter
- , subq_6.created_at__year AS user__created_at__year
- , subq_6.created_at__extract_year AS user__created_at__extract_year
- , subq_6.created_at__extract_quarter AS user__created_at__extract_quarter
- , subq_6.created_at__extract_month AS user__created_at__extract_month
- , subq_6.created_at__extract_day AS user__created_at__extract_day
- , subq_6.created_at__extract_dow AS user__created_at__extract_dow
- , subq_6.created_at__extract_doy AS user__created_at__extract_doy
- , subq_6.ds_partitioned__day AS user__ds_partitioned__day
- , subq_6.ds_partitioned__week AS user__ds_partitioned__week
- , subq_6.ds_partitioned__month AS user__ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS user__ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS user__ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS user__ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS user__ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS user__ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS user__ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS user__ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS user__ds_partitioned__extract_doy
- , subq_6.last_profile_edit_ts__millisecond AS user__last_profile_edit_ts__millisecond
- , subq_6.last_profile_edit_ts__second AS user__last_profile_edit_ts__second
- , subq_6.last_profile_edit_ts__minute AS user__last_profile_edit_ts__minute
- , subq_6.last_profile_edit_ts__hour AS user__last_profile_edit_ts__hour
- , subq_6.last_profile_edit_ts__day AS user__last_profile_edit_ts__day
- , subq_6.last_profile_edit_ts__week AS user__last_profile_edit_ts__week
- , subq_6.last_profile_edit_ts__month AS user__last_profile_edit_ts__month
- , subq_6.last_profile_edit_ts__quarter AS user__last_profile_edit_ts__quarter
- , subq_6.last_profile_edit_ts__year AS user__last_profile_edit_ts__year
- , subq_6.last_profile_edit_ts__extract_year AS user__last_profile_edit_ts__extract_year
- , subq_6.last_profile_edit_ts__extract_quarter AS user__last_profile_edit_ts__extract_quarter
- , subq_6.last_profile_edit_ts__extract_month AS user__last_profile_edit_ts__extract_month
- , subq_6.last_profile_edit_ts__extract_day AS user__last_profile_edit_ts__extract_day
- , subq_6.last_profile_edit_ts__extract_dow AS user__last_profile_edit_ts__extract_dow
- , subq_6.last_profile_edit_ts__extract_doy AS user__last_profile_edit_ts__extract_doy
- , subq_6.bio_added_ts__second AS user__bio_added_ts__second
- , subq_6.bio_added_ts__minute AS user__bio_added_ts__minute
- , subq_6.bio_added_ts__hour AS user__bio_added_ts__hour
- , subq_6.bio_added_ts__day AS user__bio_added_ts__day
- , subq_6.bio_added_ts__week AS user__bio_added_ts__week
- , subq_6.bio_added_ts__month AS user__bio_added_ts__month
- , subq_6.bio_added_ts__quarter AS user__bio_added_ts__quarter
- , subq_6.bio_added_ts__year AS user__bio_added_ts__year
- , subq_6.bio_added_ts__extract_year AS user__bio_added_ts__extract_year
- , subq_6.bio_added_ts__extract_quarter AS user__bio_added_ts__extract_quarter
- , subq_6.bio_added_ts__extract_month AS user__bio_added_ts__extract_month
- , subq_6.bio_added_ts__extract_day AS user__bio_added_ts__extract_day
- , subq_6.bio_added_ts__extract_dow AS user__bio_added_ts__extract_dow
- , subq_6.bio_added_ts__extract_doy AS user__bio_added_ts__extract_doy
- , subq_6.last_login_ts__minute AS user__last_login_ts__minute
- , subq_6.last_login_ts__hour AS user__last_login_ts__hour
- , subq_6.last_login_ts__day AS user__last_login_ts__day
- , subq_6.last_login_ts__week AS user__last_login_ts__week
- , subq_6.last_login_ts__month AS user__last_login_ts__month
- , subq_6.last_login_ts__quarter AS user__last_login_ts__quarter
- , subq_6.last_login_ts__year AS user__last_login_ts__year
- , subq_6.last_login_ts__extract_year AS user__last_login_ts__extract_year
- , subq_6.last_login_ts__extract_quarter AS user__last_login_ts__extract_quarter
- , subq_6.last_login_ts__extract_month AS user__last_login_ts__extract_month
- , subq_6.last_login_ts__extract_day AS user__last_login_ts__extract_day
- , subq_6.last_login_ts__extract_dow AS user__last_login_ts__extract_dow
- , subq_6.last_login_ts__extract_doy AS user__last_login_ts__extract_doy
- , subq_6.archived_at__hour AS user__archived_at__hour
- , subq_6.archived_at__day AS user__archived_at__day
- , subq_6.archived_at__week AS user__archived_at__week
- , subq_6.archived_at__month AS user__archived_at__month
- , subq_6.archived_at__quarter AS user__archived_at__quarter
- , subq_6.archived_at__year AS user__archived_at__year
- , subq_6.archived_at__extract_year AS user__archived_at__extract_year
- , subq_6.archived_at__extract_quarter AS user__archived_at__extract_quarter
- , subq_6.archived_at__extract_month AS user__archived_at__extract_month
- , subq_6.archived_at__extract_day AS user__archived_at__extract_day
- , subq_6.archived_at__extract_dow AS user__archived_at__extract_dow
- , subq_6.archived_at__extract_doy AS user__archived_at__extract_doy
- , subq_6.metric_time__day AS user__metric_time__day
- , subq_6.metric_time__week AS user__metric_time__week
- , subq_6.metric_time__month AS user__metric_time__month
- , subq_6.metric_time__quarter AS user__metric_time__quarter
- , subq_6.metric_time__year AS user__metric_time__year
- , subq_6.metric_time__extract_year AS user__metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS user__metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS user__metric_time__extract_month
- , subq_6.metric_time__extract_day AS user__metric_time__extract_day
- , subq_6.metric_time__extract_dow AS user__metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS user__metric_time__extract_doy
- , subq_3.ds__day AS ds__day
- , subq_3.ds__week AS ds__week
- , subq_3.ds__month AS ds__month
- , subq_3.ds__quarter AS ds__quarter
- , subq_3.ds__year AS ds__year
- , subq_3.ds__extract_year AS ds__extract_year
- , subq_3.ds__extract_quarter AS ds__extract_quarter
- , subq_3.ds__extract_month AS ds__extract_month
- , 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.created_at__day AS created_at__day
- , subq_3.created_at__week AS created_at__week
- , subq_3.created_at__month AS created_at__month
- , subq_3.created_at__quarter AS created_at__quarter
- , subq_3.created_at__year AS created_at__year
- , subq_3.created_at__extract_year AS created_at__extract_year
- , subq_3.created_at__extract_quarter AS created_at__extract_quarter
- , subq_3.created_at__extract_month AS created_at__extract_month
- , subq_3.created_at__extract_day AS created_at__extract_day
- , subq_3.created_at__extract_dow AS created_at__extract_dow
- , subq_3.created_at__extract_doy AS created_at__extract_doy
- , subq_3.listing__ds__day AS listing__ds__day
- , subq_3.listing__ds__week AS listing__ds__week
- , subq_3.listing__ds__month AS listing__ds__month
- , subq_3.listing__ds__quarter AS listing__ds__quarter
- , subq_3.listing__ds__year AS listing__ds__year
- , subq_3.listing__ds__extract_year AS listing__ds__extract_year
- , subq_3.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_3.listing__ds__extract_month AS listing__ds__extract_month
- , subq_3.listing__ds__extract_day AS listing__ds__extract_day
- , subq_3.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_3.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_3.listing__created_at__day AS listing__created_at__day
- , subq_3.listing__created_at__week AS listing__created_at__week
- , subq_3.listing__created_at__month AS listing__created_at__month
- , subq_3.listing__created_at__quarter AS listing__created_at__quarter
- , subq_3.listing__created_at__year AS listing__created_at__year
- , subq_3.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_3.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_3.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_3.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_3.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_3.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_3.metric_time__day AS metric_time__day
- , subq_3.metric_time__week AS metric_time__week
- , subq_3.metric_time__month AS metric_time__month
- , subq_3.metric_time__quarter AS metric_time__quarter
- , subq_3.metric_time__year AS metric_time__year
- , subq_3.metric_time__extract_year AS metric_time__extract_year
- , subq_3.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_3.metric_time__extract_month AS metric_time__extract_month
- , subq_3.metric_time__extract_day AS metric_time__extract_day
- , subq_3.metric_time__extract_dow AS metric_time__extract_dow
- , subq_3.metric_time__extract_doy AS metric_time__extract_doy
- , subq_3.listing AS listing
- , subq_3.user AS user
- , subq_3.listing__user AS listing__user
- , subq_3.country_latest AS country_latest
- , subq_3.is_lux_latest AS is_lux_latest
- , subq_3.capacity_latest AS capacity_latest
- , subq_3.listing__country_latest AS listing__country_latest
- , subq_3.listing__is_lux_latest AS listing__is_lux_latest
- , subq_3.listing__capacity_latest AS listing__capacity_latest
- , subq_3.listings AS listings
- , subq_3.largest_listing AS largest_listing
- , subq_3.smallest_listing AS smallest_listing
+ subq_30.home_state AS user__home_state
+ , subq_30.ds__day AS user__ds__day
+ , subq_30.ds__week AS user__ds__week
+ , subq_30.ds__month AS user__ds__month
+ , subq_30.ds__quarter AS user__ds__quarter
+ , subq_30.ds__year AS user__ds__year
+ , subq_30.ds__extract_year AS user__ds__extract_year
+ , subq_30.ds__extract_quarter AS user__ds__extract_quarter
+ , subq_30.ds__extract_month AS user__ds__extract_month
+ , subq_30.ds__extract_day AS user__ds__extract_day
+ , subq_30.ds__extract_dow AS user__ds__extract_dow
+ , subq_30.ds__extract_doy AS user__ds__extract_doy
+ , subq_30.created_at__day AS user__created_at__day
+ , subq_30.created_at__week AS user__created_at__week
+ , subq_30.created_at__month AS user__created_at__month
+ , subq_30.created_at__quarter AS user__created_at__quarter
+ , subq_30.created_at__year AS user__created_at__year
+ , subq_30.created_at__extract_year AS user__created_at__extract_year
+ , subq_30.created_at__extract_quarter AS user__created_at__extract_quarter
+ , subq_30.created_at__extract_month AS user__created_at__extract_month
+ , subq_30.created_at__extract_day AS user__created_at__extract_day
+ , subq_30.created_at__extract_dow AS user__created_at__extract_dow
+ , subq_30.created_at__extract_doy AS user__created_at__extract_doy
+ , subq_30.ds_partitioned__day AS user__ds_partitioned__day
+ , subq_30.ds_partitioned__week AS user__ds_partitioned__week
+ , subq_30.ds_partitioned__month AS user__ds_partitioned__month
+ , subq_30.ds_partitioned__quarter AS user__ds_partitioned__quarter
+ , subq_30.ds_partitioned__year AS user__ds_partitioned__year
+ , subq_30.ds_partitioned__extract_year AS user__ds_partitioned__extract_year
+ , subq_30.ds_partitioned__extract_quarter AS user__ds_partitioned__extract_quarter
+ , subq_30.ds_partitioned__extract_month AS user__ds_partitioned__extract_month
+ , subq_30.ds_partitioned__extract_day AS user__ds_partitioned__extract_day
+ , subq_30.ds_partitioned__extract_dow AS user__ds_partitioned__extract_dow
+ , subq_30.ds_partitioned__extract_doy AS user__ds_partitioned__extract_doy
+ , subq_30.last_profile_edit_ts__millisecond AS user__last_profile_edit_ts__millisecond
+ , subq_30.last_profile_edit_ts__second AS user__last_profile_edit_ts__second
+ , subq_30.last_profile_edit_ts__minute AS user__last_profile_edit_ts__minute
+ , subq_30.last_profile_edit_ts__hour AS user__last_profile_edit_ts__hour
+ , subq_30.last_profile_edit_ts__day AS user__last_profile_edit_ts__day
+ , subq_30.last_profile_edit_ts__week AS user__last_profile_edit_ts__week
+ , subq_30.last_profile_edit_ts__month AS user__last_profile_edit_ts__month
+ , subq_30.last_profile_edit_ts__quarter AS user__last_profile_edit_ts__quarter
+ , subq_30.last_profile_edit_ts__year AS user__last_profile_edit_ts__year
+ , subq_30.last_profile_edit_ts__extract_year AS user__last_profile_edit_ts__extract_year
+ , subq_30.last_profile_edit_ts__extract_quarter AS user__last_profile_edit_ts__extract_quarter
+ , subq_30.last_profile_edit_ts__extract_month AS user__last_profile_edit_ts__extract_month
+ , subq_30.last_profile_edit_ts__extract_day AS user__last_profile_edit_ts__extract_day
+ , subq_30.last_profile_edit_ts__extract_dow AS user__last_profile_edit_ts__extract_dow
+ , subq_30.last_profile_edit_ts__extract_doy AS user__last_profile_edit_ts__extract_doy
+ , subq_30.bio_added_ts__second AS user__bio_added_ts__second
+ , subq_30.bio_added_ts__minute AS user__bio_added_ts__minute
+ , subq_30.bio_added_ts__hour AS user__bio_added_ts__hour
+ , subq_30.bio_added_ts__day AS user__bio_added_ts__day
+ , subq_30.bio_added_ts__week AS user__bio_added_ts__week
+ , subq_30.bio_added_ts__month AS user__bio_added_ts__month
+ , subq_30.bio_added_ts__quarter AS user__bio_added_ts__quarter
+ , subq_30.bio_added_ts__year AS user__bio_added_ts__year
+ , subq_30.bio_added_ts__extract_year AS user__bio_added_ts__extract_year
+ , subq_30.bio_added_ts__extract_quarter AS user__bio_added_ts__extract_quarter
+ , subq_30.bio_added_ts__extract_month AS user__bio_added_ts__extract_month
+ , subq_30.bio_added_ts__extract_day AS user__bio_added_ts__extract_day
+ , subq_30.bio_added_ts__extract_dow AS user__bio_added_ts__extract_dow
+ , subq_30.bio_added_ts__extract_doy AS user__bio_added_ts__extract_doy
+ , subq_30.last_login_ts__minute AS user__last_login_ts__minute
+ , subq_30.last_login_ts__hour AS user__last_login_ts__hour
+ , subq_30.last_login_ts__day AS user__last_login_ts__day
+ , subq_30.last_login_ts__week AS user__last_login_ts__week
+ , subq_30.last_login_ts__month AS user__last_login_ts__month
+ , subq_30.last_login_ts__quarter AS user__last_login_ts__quarter
+ , subq_30.last_login_ts__year AS user__last_login_ts__year
+ , subq_30.last_login_ts__extract_year AS user__last_login_ts__extract_year
+ , subq_30.last_login_ts__extract_quarter AS user__last_login_ts__extract_quarter
+ , subq_30.last_login_ts__extract_month AS user__last_login_ts__extract_month
+ , subq_30.last_login_ts__extract_day AS user__last_login_ts__extract_day
+ , subq_30.last_login_ts__extract_dow AS user__last_login_ts__extract_dow
+ , subq_30.last_login_ts__extract_doy AS user__last_login_ts__extract_doy
+ , subq_30.archived_at__hour AS user__archived_at__hour
+ , subq_30.archived_at__day AS user__archived_at__day
+ , subq_30.archived_at__week AS user__archived_at__week
+ , subq_30.archived_at__month AS user__archived_at__month
+ , subq_30.archived_at__quarter AS user__archived_at__quarter
+ , subq_30.archived_at__year AS user__archived_at__year
+ , subq_30.archived_at__extract_year AS user__archived_at__extract_year
+ , subq_30.archived_at__extract_quarter AS user__archived_at__extract_quarter
+ , subq_30.archived_at__extract_month AS user__archived_at__extract_month
+ , subq_30.archived_at__extract_day AS user__archived_at__extract_day
+ , subq_30.archived_at__extract_dow AS user__archived_at__extract_dow
+ , subq_30.archived_at__extract_doy AS user__archived_at__extract_doy
+ , subq_30.metric_time__day AS user__metric_time__day
+ , subq_30.metric_time__week AS user__metric_time__week
+ , subq_30.metric_time__month AS user__metric_time__month
+ , subq_30.metric_time__quarter AS user__metric_time__quarter
+ , subq_30.metric_time__year AS user__metric_time__year
+ , subq_30.metric_time__extract_year AS user__metric_time__extract_year
+ , subq_30.metric_time__extract_quarter AS user__metric_time__extract_quarter
+ , subq_30.metric_time__extract_month AS user__metric_time__extract_month
+ , subq_30.metric_time__extract_day AS user__metric_time__extract_day
+ , subq_30.metric_time__extract_dow AS user__metric_time__extract_dow
+ , subq_30.metric_time__extract_doy AS user__metric_time__extract_doy
+ , subq_27.ds__day AS ds__day
+ , subq_27.ds__week AS ds__week
+ , subq_27.ds__month AS ds__month
+ , subq_27.ds__quarter AS ds__quarter
+ , subq_27.ds__year AS ds__year
+ , subq_27.ds__extract_year AS ds__extract_year
+ , subq_27.ds__extract_quarter AS ds__extract_quarter
+ , subq_27.ds__extract_month AS ds__extract_month
+ , subq_27.ds__extract_day AS ds__extract_day
+ , subq_27.ds__extract_dow AS ds__extract_dow
+ , subq_27.ds__extract_doy AS ds__extract_doy
+ , subq_27.created_at__day AS created_at__day
+ , subq_27.created_at__week AS created_at__week
+ , subq_27.created_at__month AS created_at__month
+ , subq_27.created_at__quarter AS created_at__quarter
+ , subq_27.created_at__year AS created_at__year
+ , subq_27.created_at__extract_year AS created_at__extract_year
+ , subq_27.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_27.created_at__extract_month AS created_at__extract_month
+ , subq_27.created_at__extract_day AS created_at__extract_day
+ , subq_27.created_at__extract_dow AS created_at__extract_dow
+ , subq_27.created_at__extract_doy AS created_at__extract_doy
+ , subq_27.listing__ds__day AS listing__ds__day
+ , subq_27.listing__ds__week AS listing__ds__week
+ , subq_27.listing__ds__month AS listing__ds__month
+ , subq_27.listing__ds__quarter AS listing__ds__quarter
+ , subq_27.listing__ds__year AS listing__ds__year
+ , subq_27.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_27.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_27.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_27.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_27.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_27.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_27.listing__created_at__day AS listing__created_at__day
+ , subq_27.listing__created_at__week AS listing__created_at__week
+ , subq_27.listing__created_at__month AS listing__created_at__month
+ , subq_27.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_27.listing__created_at__year AS listing__created_at__year
+ , subq_27.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_27.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_27.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_27.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_27.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_27.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_27.metric_time__day AS metric_time__day
+ , subq_27.metric_time__week AS metric_time__week
+ , subq_27.metric_time__month AS metric_time__month
+ , subq_27.metric_time__quarter AS metric_time__quarter
+ , subq_27.metric_time__year AS metric_time__year
+ , subq_27.metric_time__extract_year AS metric_time__extract_year
+ , subq_27.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_27.metric_time__extract_month AS metric_time__extract_month
+ , subq_27.metric_time__extract_day AS metric_time__extract_day
+ , subq_27.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_27.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_27.listing AS listing
+ , subq_27.user AS user
+ , subq_27.listing__user AS listing__user
+ , subq_27.country_latest AS country_latest
+ , subq_27.is_lux_latest AS is_lux_latest
+ , subq_27.capacity_latest AS capacity_latest
+ , subq_27.listing__country_latest AS listing__country_latest
+ , subq_27.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_27.listing__capacity_latest AS listing__capacity_latest
+ , subq_27.listings AS listings
+ , subq_27.largest_listing AS largest_listing
+ , subq_27.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.created_at__day
- , subq_2.created_at__week
- , subq_2.created_at__month
- , subq_2.created_at__quarter
- , subq_2.created_at__year
- , subq_2.created_at__extract_year
- , subq_2.created_at__extract_quarter
- , subq_2.created_at__extract_month
- , subq_2.created_at__extract_day
- , subq_2.created_at__extract_dow
- , subq_2.created_at__extract_doy
- , subq_2.listing__ds__day
- , subq_2.listing__ds__week
- , subq_2.listing__ds__month
- , subq_2.listing__ds__quarter
- , subq_2.listing__ds__year
- , subq_2.listing__ds__extract_year
- , subq_2.listing__ds__extract_quarter
- , subq_2.listing__ds__extract_month
- , subq_2.listing__ds__extract_day
- , subq_2.listing__ds__extract_dow
- , subq_2.listing__ds__extract_doy
- , subq_2.listing__created_at__day
- , subq_2.listing__created_at__week
- , subq_2.listing__created_at__month
- , subq_2.listing__created_at__quarter
- , subq_2.listing__created_at__year
- , subq_2.listing__created_at__extract_year
- , subq_2.listing__created_at__extract_quarter
- , subq_2.listing__created_at__extract_month
- , subq_2.listing__created_at__extract_day
- , subq_2.listing__created_at__extract_dow
- , subq_2.listing__created_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.user
- , subq_2.listing__user
- , subq_2.country_latest
- , subq_2.is_lux_latest
- , subq_2.capacity_latest
- , subq_2.listing__country_latest
- , subq_2.listing__is_lux_latest
- , subq_2.listing__capacity_latest
- , subq_2.listings
- , subq_2.largest_listing
- , subq_2.smallest_listing
+ subq_26.ds__day
+ , subq_26.ds__week
+ , subq_26.ds__month
+ , subq_26.ds__quarter
+ , subq_26.ds__year
+ , subq_26.ds__extract_year
+ , subq_26.ds__extract_quarter
+ , subq_26.ds__extract_month
+ , subq_26.ds__extract_day
+ , subq_26.ds__extract_dow
+ , subq_26.ds__extract_doy
+ , subq_26.created_at__day
+ , subq_26.created_at__week
+ , subq_26.created_at__month
+ , subq_26.created_at__quarter
+ , subq_26.created_at__year
+ , subq_26.created_at__extract_year
+ , subq_26.created_at__extract_quarter
+ , subq_26.created_at__extract_month
+ , subq_26.created_at__extract_day
+ , subq_26.created_at__extract_dow
+ , subq_26.created_at__extract_doy
+ , subq_26.listing__ds__day
+ , subq_26.listing__ds__week
+ , subq_26.listing__ds__month
+ , subq_26.listing__ds__quarter
+ , subq_26.listing__ds__year
+ , subq_26.listing__ds__extract_year
+ , subq_26.listing__ds__extract_quarter
+ , subq_26.listing__ds__extract_month
+ , subq_26.listing__ds__extract_day
+ , subq_26.listing__ds__extract_dow
+ , subq_26.listing__ds__extract_doy
+ , subq_26.listing__created_at__day
+ , subq_26.listing__created_at__week
+ , subq_26.listing__created_at__month
+ , subq_26.listing__created_at__quarter
+ , subq_26.listing__created_at__year
+ , subq_26.listing__created_at__extract_year
+ , subq_26.listing__created_at__extract_quarter
+ , subq_26.listing__created_at__extract_month
+ , subq_26.listing__created_at__extract_day
+ , subq_26.listing__created_at__extract_dow
+ , subq_26.listing__created_at__extract_doy
+ , subq_26.ds__day AS metric_time__day
+ , subq_26.ds__week AS metric_time__week
+ , subq_26.ds__month AS metric_time__month
+ , subq_26.ds__quarter AS metric_time__quarter
+ , subq_26.ds__year AS metric_time__year
+ , subq_26.ds__extract_year AS metric_time__extract_year
+ , subq_26.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_26.ds__extract_month AS metric_time__extract_month
+ , subq_26.ds__extract_day AS metric_time__extract_day
+ , subq_26.ds__extract_dow AS metric_time__extract_dow
+ , subq_26.ds__extract_doy AS metric_time__extract_doy
+ , subq_26.listing
+ , subq_26.user
+ , subq_26.listing__user
+ , subq_26.country_latest
+ , subq_26.is_lux_latest
+ , subq_26.capacity_latest
+ , subq_26.listing__country_latest
+ , subq_26.listing__is_lux_latest
+ , subq_26.listing__capacity_latest
+ , subq_26.listings
+ , subq_26.largest_listing
+ , subq_26.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -623,8 +623,8 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_2
- ) subq_3
+ ) subq_26
+ ) subq_27
LEFT OUTER JOIN (
-- Pass Only Elements: [
-- 'home_state',
@@ -817,386 +817,386 @@ FROM (
-- 'user',
-- ]
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.created_at__day
- , subq_5.created_at__week
- , subq_5.created_at__month
- , subq_5.created_at__quarter
- , subq_5.created_at__year
- , subq_5.created_at__extract_year
- , subq_5.created_at__extract_quarter
- , subq_5.created_at__extract_month
- , subq_5.created_at__extract_day
- , subq_5.created_at__extract_dow
- , subq_5.created_at__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.last_profile_edit_ts__millisecond
- , subq_5.last_profile_edit_ts__second
- , subq_5.last_profile_edit_ts__minute
- , subq_5.last_profile_edit_ts__hour
- , subq_5.last_profile_edit_ts__day
- , subq_5.last_profile_edit_ts__week
- , subq_5.last_profile_edit_ts__month
- , subq_5.last_profile_edit_ts__quarter
- , subq_5.last_profile_edit_ts__year
- , subq_5.last_profile_edit_ts__extract_year
- , subq_5.last_profile_edit_ts__extract_quarter
- , subq_5.last_profile_edit_ts__extract_month
- , subq_5.last_profile_edit_ts__extract_day
- , subq_5.last_profile_edit_ts__extract_dow
- , subq_5.last_profile_edit_ts__extract_doy
- , subq_5.bio_added_ts__second
- , subq_5.bio_added_ts__minute
- , subq_5.bio_added_ts__hour
- , subq_5.bio_added_ts__day
- , subq_5.bio_added_ts__week
- , subq_5.bio_added_ts__month
- , subq_5.bio_added_ts__quarter
- , subq_5.bio_added_ts__year
- , subq_5.bio_added_ts__extract_year
- , subq_5.bio_added_ts__extract_quarter
- , subq_5.bio_added_ts__extract_month
- , subq_5.bio_added_ts__extract_day
- , subq_5.bio_added_ts__extract_dow
- , subq_5.bio_added_ts__extract_doy
- , subq_5.last_login_ts__minute
- , subq_5.last_login_ts__hour
- , subq_5.last_login_ts__day
- , subq_5.last_login_ts__week
- , subq_5.last_login_ts__month
- , subq_5.last_login_ts__quarter
- , subq_5.last_login_ts__year
- , subq_5.last_login_ts__extract_year
- , subq_5.last_login_ts__extract_quarter
- , subq_5.last_login_ts__extract_month
- , subq_5.last_login_ts__extract_day
- , subq_5.last_login_ts__extract_dow
- , subq_5.last_login_ts__extract_doy
- , subq_5.archived_at__hour
- , subq_5.archived_at__day
- , subq_5.archived_at__week
- , subq_5.archived_at__month
- , subq_5.archived_at__quarter
- , subq_5.archived_at__year
- , subq_5.archived_at__extract_year
- , subq_5.archived_at__extract_quarter
- , subq_5.archived_at__extract_month
- , subq_5.archived_at__extract_day
- , subq_5.archived_at__extract_dow
- , subq_5.archived_at__extract_doy
- , subq_5.user__ds__day
- , subq_5.user__ds__week
- , subq_5.user__ds__month
- , subq_5.user__ds__quarter
- , subq_5.user__ds__year
- , subq_5.user__ds__extract_year
- , subq_5.user__ds__extract_quarter
- , subq_5.user__ds__extract_month
- , subq_5.user__ds__extract_day
- , subq_5.user__ds__extract_dow
- , subq_5.user__ds__extract_doy
- , subq_5.user__created_at__day
- , subq_5.user__created_at__week
- , subq_5.user__created_at__month
- , subq_5.user__created_at__quarter
- , subq_5.user__created_at__year
- , subq_5.user__created_at__extract_year
- , subq_5.user__created_at__extract_quarter
- , subq_5.user__created_at__extract_month
- , subq_5.user__created_at__extract_day
- , subq_5.user__created_at__extract_dow
- , subq_5.user__created_at__extract_doy
- , subq_5.user__ds_partitioned__day
- , subq_5.user__ds_partitioned__week
- , subq_5.user__ds_partitioned__month
- , subq_5.user__ds_partitioned__quarter
- , subq_5.user__ds_partitioned__year
- , subq_5.user__ds_partitioned__extract_year
- , subq_5.user__ds_partitioned__extract_quarter
- , subq_5.user__ds_partitioned__extract_month
- , subq_5.user__ds_partitioned__extract_day
- , subq_5.user__ds_partitioned__extract_dow
- , subq_5.user__ds_partitioned__extract_doy
- , subq_5.user__last_profile_edit_ts__millisecond
- , subq_5.user__last_profile_edit_ts__second
- , subq_5.user__last_profile_edit_ts__minute
- , subq_5.user__last_profile_edit_ts__hour
- , subq_5.user__last_profile_edit_ts__day
- , subq_5.user__last_profile_edit_ts__week
- , subq_5.user__last_profile_edit_ts__month
- , subq_5.user__last_profile_edit_ts__quarter
- , subq_5.user__last_profile_edit_ts__year
- , subq_5.user__last_profile_edit_ts__extract_year
- , subq_5.user__last_profile_edit_ts__extract_quarter
- , subq_5.user__last_profile_edit_ts__extract_month
- , subq_5.user__last_profile_edit_ts__extract_day
- , subq_5.user__last_profile_edit_ts__extract_dow
- , subq_5.user__last_profile_edit_ts__extract_doy
- , subq_5.user__bio_added_ts__second
- , subq_5.user__bio_added_ts__minute
- , subq_5.user__bio_added_ts__hour
- , subq_5.user__bio_added_ts__day
- , subq_5.user__bio_added_ts__week
- , subq_5.user__bio_added_ts__month
- , subq_5.user__bio_added_ts__quarter
- , subq_5.user__bio_added_ts__year
- , subq_5.user__bio_added_ts__extract_year
- , subq_5.user__bio_added_ts__extract_quarter
- , subq_5.user__bio_added_ts__extract_month
- , subq_5.user__bio_added_ts__extract_day
- , subq_5.user__bio_added_ts__extract_dow
- , subq_5.user__bio_added_ts__extract_doy
- , subq_5.user__last_login_ts__minute
- , subq_5.user__last_login_ts__hour
- , subq_5.user__last_login_ts__day
- , subq_5.user__last_login_ts__week
- , subq_5.user__last_login_ts__month
- , subq_5.user__last_login_ts__quarter
- , subq_5.user__last_login_ts__year
- , subq_5.user__last_login_ts__extract_year
- , subq_5.user__last_login_ts__extract_quarter
- , subq_5.user__last_login_ts__extract_month
- , subq_5.user__last_login_ts__extract_day
- , subq_5.user__last_login_ts__extract_dow
- , subq_5.user__last_login_ts__extract_doy
- , subq_5.user__archived_at__hour
- , subq_5.user__archived_at__day
- , subq_5.user__archived_at__week
- , subq_5.user__archived_at__month
- , subq_5.user__archived_at__quarter
- , subq_5.user__archived_at__year
- , subq_5.user__archived_at__extract_year
- , subq_5.user__archived_at__extract_quarter
- , subq_5.user__archived_at__extract_month
- , subq_5.user__archived_at__extract_day
- , subq_5.user__archived_at__extract_dow
- , subq_5.user__archived_at__extract_doy
- , subq_5.metric_time__day
- , subq_5.metric_time__week
- , subq_5.metric_time__month
- , subq_5.metric_time__quarter
- , subq_5.metric_time__year
- , subq_5.metric_time__extract_year
- , subq_5.metric_time__extract_quarter
- , subq_5.metric_time__extract_month
- , subq_5.metric_time__extract_day
- , subq_5.metric_time__extract_dow
- , subq_5.metric_time__extract_doy
- , subq_5.user
- , subq_5.home_state
- , subq_5.user__home_state
+ subq_29.ds__day
+ , subq_29.ds__week
+ , subq_29.ds__month
+ , subq_29.ds__quarter
+ , subq_29.ds__year
+ , subq_29.ds__extract_year
+ , subq_29.ds__extract_quarter
+ , subq_29.ds__extract_month
+ , subq_29.ds__extract_day
+ , subq_29.ds__extract_dow
+ , subq_29.ds__extract_doy
+ , subq_29.created_at__day
+ , subq_29.created_at__week
+ , subq_29.created_at__month
+ , subq_29.created_at__quarter
+ , subq_29.created_at__year
+ , subq_29.created_at__extract_year
+ , subq_29.created_at__extract_quarter
+ , subq_29.created_at__extract_month
+ , subq_29.created_at__extract_day
+ , subq_29.created_at__extract_dow
+ , subq_29.created_at__extract_doy
+ , subq_29.ds_partitioned__day
+ , subq_29.ds_partitioned__week
+ , subq_29.ds_partitioned__month
+ , subq_29.ds_partitioned__quarter
+ , subq_29.ds_partitioned__year
+ , subq_29.ds_partitioned__extract_year
+ , subq_29.ds_partitioned__extract_quarter
+ , subq_29.ds_partitioned__extract_month
+ , subq_29.ds_partitioned__extract_day
+ , subq_29.ds_partitioned__extract_dow
+ , subq_29.ds_partitioned__extract_doy
+ , subq_29.last_profile_edit_ts__millisecond
+ , subq_29.last_profile_edit_ts__second
+ , subq_29.last_profile_edit_ts__minute
+ , subq_29.last_profile_edit_ts__hour
+ , subq_29.last_profile_edit_ts__day
+ , subq_29.last_profile_edit_ts__week
+ , subq_29.last_profile_edit_ts__month
+ , subq_29.last_profile_edit_ts__quarter
+ , subq_29.last_profile_edit_ts__year
+ , subq_29.last_profile_edit_ts__extract_year
+ , subq_29.last_profile_edit_ts__extract_quarter
+ , subq_29.last_profile_edit_ts__extract_month
+ , subq_29.last_profile_edit_ts__extract_day
+ , subq_29.last_profile_edit_ts__extract_dow
+ , subq_29.last_profile_edit_ts__extract_doy
+ , subq_29.bio_added_ts__second
+ , subq_29.bio_added_ts__minute
+ , subq_29.bio_added_ts__hour
+ , subq_29.bio_added_ts__day
+ , subq_29.bio_added_ts__week
+ , subq_29.bio_added_ts__month
+ , subq_29.bio_added_ts__quarter
+ , subq_29.bio_added_ts__year
+ , subq_29.bio_added_ts__extract_year
+ , subq_29.bio_added_ts__extract_quarter
+ , subq_29.bio_added_ts__extract_month
+ , subq_29.bio_added_ts__extract_day
+ , subq_29.bio_added_ts__extract_dow
+ , subq_29.bio_added_ts__extract_doy
+ , subq_29.last_login_ts__minute
+ , subq_29.last_login_ts__hour
+ , subq_29.last_login_ts__day
+ , subq_29.last_login_ts__week
+ , subq_29.last_login_ts__month
+ , subq_29.last_login_ts__quarter
+ , subq_29.last_login_ts__year
+ , subq_29.last_login_ts__extract_year
+ , subq_29.last_login_ts__extract_quarter
+ , subq_29.last_login_ts__extract_month
+ , subq_29.last_login_ts__extract_day
+ , subq_29.last_login_ts__extract_dow
+ , subq_29.last_login_ts__extract_doy
+ , subq_29.archived_at__hour
+ , subq_29.archived_at__day
+ , subq_29.archived_at__week
+ , subq_29.archived_at__month
+ , subq_29.archived_at__quarter
+ , subq_29.archived_at__year
+ , subq_29.archived_at__extract_year
+ , subq_29.archived_at__extract_quarter
+ , subq_29.archived_at__extract_month
+ , subq_29.archived_at__extract_day
+ , subq_29.archived_at__extract_dow
+ , subq_29.archived_at__extract_doy
+ , subq_29.user__ds__day
+ , subq_29.user__ds__week
+ , subq_29.user__ds__month
+ , subq_29.user__ds__quarter
+ , subq_29.user__ds__year
+ , subq_29.user__ds__extract_year
+ , subq_29.user__ds__extract_quarter
+ , subq_29.user__ds__extract_month
+ , subq_29.user__ds__extract_day
+ , subq_29.user__ds__extract_dow
+ , subq_29.user__ds__extract_doy
+ , subq_29.user__created_at__day
+ , subq_29.user__created_at__week
+ , subq_29.user__created_at__month
+ , subq_29.user__created_at__quarter
+ , subq_29.user__created_at__year
+ , subq_29.user__created_at__extract_year
+ , subq_29.user__created_at__extract_quarter
+ , subq_29.user__created_at__extract_month
+ , subq_29.user__created_at__extract_day
+ , subq_29.user__created_at__extract_dow
+ , subq_29.user__created_at__extract_doy
+ , subq_29.user__ds_partitioned__day
+ , subq_29.user__ds_partitioned__week
+ , subq_29.user__ds_partitioned__month
+ , subq_29.user__ds_partitioned__quarter
+ , subq_29.user__ds_partitioned__year
+ , subq_29.user__ds_partitioned__extract_year
+ , subq_29.user__ds_partitioned__extract_quarter
+ , subq_29.user__ds_partitioned__extract_month
+ , subq_29.user__ds_partitioned__extract_day
+ , subq_29.user__ds_partitioned__extract_dow
+ , subq_29.user__ds_partitioned__extract_doy
+ , subq_29.user__last_profile_edit_ts__millisecond
+ , subq_29.user__last_profile_edit_ts__second
+ , subq_29.user__last_profile_edit_ts__minute
+ , subq_29.user__last_profile_edit_ts__hour
+ , subq_29.user__last_profile_edit_ts__day
+ , subq_29.user__last_profile_edit_ts__week
+ , subq_29.user__last_profile_edit_ts__month
+ , subq_29.user__last_profile_edit_ts__quarter
+ , subq_29.user__last_profile_edit_ts__year
+ , subq_29.user__last_profile_edit_ts__extract_year
+ , subq_29.user__last_profile_edit_ts__extract_quarter
+ , subq_29.user__last_profile_edit_ts__extract_month
+ , subq_29.user__last_profile_edit_ts__extract_day
+ , subq_29.user__last_profile_edit_ts__extract_dow
+ , subq_29.user__last_profile_edit_ts__extract_doy
+ , subq_29.user__bio_added_ts__second
+ , subq_29.user__bio_added_ts__minute
+ , subq_29.user__bio_added_ts__hour
+ , subq_29.user__bio_added_ts__day
+ , subq_29.user__bio_added_ts__week
+ , subq_29.user__bio_added_ts__month
+ , subq_29.user__bio_added_ts__quarter
+ , subq_29.user__bio_added_ts__year
+ , subq_29.user__bio_added_ts__extract_year
+ , subq_29.user__bio_added_ts__extract_quarter
+ , subq_29.user__bio_added_ts__extract_month
+ , subq_29.user__bio_added_ts__extract_day
+ , subq_29.user__bio_added_ts__extract_dow
+ , subq_29.user__bio_added_ts__extract_doy
+ , subq_29.user__last_login_ts__minute
+ , subq_29.user__last_login_ts__hour
+ , subq_29.user__last_login_ts__day
+ , subq_29.user__last_login_ts__week
+ , subq_29.user__last_login_ts__month
+ , subq_29.user__last_login_ts__quarter
+ , subq_29.user__last_login_ts__year
+ , subq_29.user__last_login_ts__extract_year
+ , subq_29.user__last_login_ts__extract_quarter
+ , subq_29.user__last_login_ts__extract_month
+ , subq_29.user__last_login_ts__extract_day
+ , subq_29.user__last_login_ts__extract_dow
+ , subq_29.user__last_login_ts__extract_doy
+ , subq_29.user__archived_at__hour
+ , subq_29.user__archived_at__day
+ , subq_29.user__archived_at__week
+ , subq_29.user__archived_at__month
+ , subq_29.user__archived_at__quarter
+ , subq_29.user__archived_at__year
+ , subq_29.user__archived_at__extract_year
+ , subq_29.user__archived_at__extract_quarter
+ , subq_29.user__archived_at__extract_month
+ , subq_29.user__archived_at__extract_day
+ , subq_29.user__archived_at__extract_dow
+ , subq_29.user__archived_at__extract_doy
+ , subq_29.metric_time__day
+ , subq_29.metric_time__week
+ , subq_29.metric_time__month
+ , subq_29.metric_time__quarter
+ , subq_29.metric_time__year
+ , subq_29.metric_time__extract_year
+ , subq_29.metric_time__extract_quarter
+ , subq_29.metric_time__extract_month
+ , subq_29.metric_time__extract_day
+ , subq_29.metric_time__extract_dow
+ , subq_29.metric_time__extract_doy
+ , subq_29.user
+ , subq_29.home_state
+ , subq_29.user__home_state
FROM (
-- Metric Time Dimension 'created_at'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.created_at__day
- , subq_4.created_at__week
- , subq_4.created_at__month
- , subq_4.created_at__quarter
- , subq_4.created_at__year
- , subq_4.created_at__extract_year
- , subq_4.created_at__extract_quarter
- , subq_4.created_at__extract_month
- , subq_4.created_at__extract_day
- , subq_4.created_at__extract_dow
- , subq_4.created_at__extract_doy
- , subq_4.ds_partitioned__day
- , subq_4.ds_partitioned__week
- , subq_4.ds_partitioned__month
- , subq_4.ds_partitioned__quarter
- , subq_4.ds_partitioned__year
- , subq_4.ds_partitioned__extract_year
- , subq_4.ds_partitioned__extract_quarter
- , subq_4.ds_partitioned__extract_month
- , subq_4.ds_partitioned__extract_day
- , subq_4.ds_partitioned__extract_dow
- , subq_4.ds_partitioned__extract_doy
- , subq_4.last_profile_edit_ts__millisecond
- , subq_4.last_profile_edit_ts__second
- , subq_4.last_profile_edit_ts__minute
- , subq_4.last_profile_edit_ts__hour
- , subq_4.last_profile_edit_ts__day
- , subq_4.last_profile_edit_ts__week
- , subq_4.last_profile_edit_ts__month
- , subq_4.last_profile_edit_ts__quarter
- , subq_4.last_profile_edit_ts__year
- , subq_4.last_profile_edit_ts__extract_year
- , subq_4.last_profile_edit_ts__extract_quarter
- , subq_4.last_profile_edit_ts__extract_month
- , subq_4.last_profile_edit_ts__extract_day
- , subq_4.last_profile_edit_ts__extract_dow
- , subq_4.last_profile_edit_ts__extract_doy
- , subq_4.bio_added_ts__second
- , subq_4.bio_added_ts__minute
- , subq_4.bio_added_ts__hour
- , subq_4.bio_added_ts__day
- , subq_4.bio_added_ts__week
- , subq_4.bio_added_ts__month
- , subq_4.bio_added_ts__quarter
- , subq_4.bio_added_ts__year
- , subq_4.bio_added_ts__extract_year
- , subq_4.bio_added_ts__extract_quarter
- , subq_4.bio_added_ts__extract_month
- , subq_4.bio_added_ts__extract_day
- , subq_4.bio_added_ts__extract_dow
- , subq_4.bio_added_ts__extract_doy
- , subq_4.last_login_ts__minute
- , subq_4.last_login_ts__hour
- , subq_4.last_login_ts__day
- , subq_4.last_login_ts__week
- , subq_4.last_login_ts__month
- , subq_4.last_login_ts__quarter
- , subq_4.last_login_ts__year
- , subq_4.last_login_ts__extract_year
- , subq_4.last_login_ts__extract_quarter
- , subq_4.last_login_ts__extract_month
- , subq_4.last_login_ts__extract_day
- , subq_4.last_login_ts__extract_dow
- , subq_4.last_login_ts__extract_doy
- , subq_4.archived_at__hour
- , subq_4.archived_at__day
- , subq_4.archived_at__week
- , subq_4.archived_at__month
- , subq_4.archived_at__quarter
- , subq_4.archived_at__year
- , subq_4.archived_at__extract_year
- , subq_4.archived_at__extract_quarter
- , subq_4.archived_at__extract_month
- , subq_4.archived_at__extract_day
- , subq_4.archived_at__extract_dow
- , subq_4.archived_at__extract_doy
- , subq_4.user__ds__day
- , subq_4.user__ds__week
- , subq_4.user__ds__month
- , subq_4.user__ds__quarter
- , subq_4.user__ds__year
- , subq_4.user__ds__extract_year
- , subq_4.user__ds__extract_quarter
- , subq_4.user__ds__extract_month
- , subq_4.user__ds__extract_day
- , subq_4.user__ds__extract_dow
- , subq_4.user__ds__extract_doy
- , subq_4.user__created_at__day
- , subq_4.user__created_at__week
- , subq_4.user__created_at__month
- , subq_4.user__created_at__quarter
- , subq_4.user__created_at__year
- , subq_4.user__created_at__extract_year
- , subq_4.user__created_at__extract_quarter
- , subq_4.user__created_at__extract_month
- , subq_4.user__created_at__extract_day
- , subq_4.user__created_at__extract_dow
- , subq_4.user__created_at__extract_doy
- , subq_4.user__ds_partitioned__day
- , subq_4.user__ds_partitioned__week
- , subq_4.user__ds_partitioned__month
- , subq_4.user__ds_partitioned__quarter
- , subq_4.user__ds_partitioned__year
- , subq_4.user__ds_partitioned__extract_year
- , subq_4.user__ds_partitioned__extract_quarter
- , subq_4.user__ds_partitioned__extract_month
- , subq_4.user__ds_partitioned__extract_day
- , subq_4.user__ds_partitioned__extract_dow
- , subq_4.user__ds_partitioned__extract_doy
- , subq_4.user__last_profile_edit_ts__millisecond
- , subq_4.user__last_profile_edit_ts__second
- , subq_4.user__last_profile_edit_ts__minute
- , subq_4.user__last_profile_edit_ts__hour
- , subq_4.user__last_profile_edit_ts__day
- , subq_4.user__last_profile_edit_ts__week
- , subq_4.user__last_profile_edit_ts__month
- , subq_4.user__last_profile_edit_ts__quarter
- , subq_4.user__last_profile_edit_ts__year
- , subq_4.user__last_profile_edit_ts__extract_year
- , subq_4.user__last_profile_edit_ts__extract_quarter
- , subq_4.user__last_profile_edit_ts__extract_month
- , subq_4.user__last_profile_edit_ts__extract_day
- , subq_4.user__last_profile_edit_ts__extract_dow
- , subq_4.user__last_profile_edit_ts__extract_doy
- , subq_4.user__bio_added_ts__second
- , subq_4.user__bio_added_ts__minute
- , subq_4.user__bio_added_ts__hour
- , subq_4.user__bio_added_ts__day
- , subq_4.user__bio_added_ts__week
- , subq_4.user__bio_added_ts__month
- , subq_4.user__bio_added_ts__quarter
- , subq_4.user__bio_added_ts__year
- , subq_4.user__bio_added_ts__extract_year
- , subq_4.user__bio_added_ts__extract_quarter
- , subq_4.user__bio_added_ts__extract_month
- , subq_4.user__bio_added_ts__extract_day
- , subq_4.user__bio_added_ts__extract_dow
- , subq_4.user__bio_added_ts__extract_doy
- , subq_4.user__last_login_ts__minute
- , subq_4.user__last_login_ts__hour
- , subq_4.user__last_login_ts__day
- , subq_4.user__last_login_ts__week
- , subq_4.user__last_login_ts__month
- , subq_4.user__last_login_ts__quarter
- , subq_4.user__last_login_ts__year
- , subq_4.user__last_login_ts__extract_year
- , subq_4.user__last_login_ts__extract_quarter
- , subq_4.user__last_login_ts__extract_month
- , subq_4.user__last_login_ts__extract_day
- , subq_4.user__last_login_ts__extract_dow
- , subq_4.user__last_login_ts__extract_doy
- , subq_4.user__archived_at__hour
- , subq_4.user__archived_at__day
- , subq_4.user__archived_at__week
- , subq_4.user__archived_at__month
- , subq_4.user__archived_at__quarter
- , subq_4.user__archived_at__year
- , subq_4.user__archived_at__extract_year
- , subq_4.user__archived_at__extract_quarter
- , subq_4.user__archived_at__extract_month
- , subq_4.user__archived_at__extract_day
- , subq_4.user__archived_at__extract_dow
- , subq_4.user__archived_at__extract_doy
- , subq_4.created_at__day AS metric_time__day
- , subq_4.created_at__week AS metric_time__week
- , subq_4.created_at__month AS metric_time__month
- , subq_4.created_at__quarter AS metric_time__quarter
- , subq_4.created_at__year AS metric_time__year
- , subq_4.created_at__extract_year AS metric_time__extract_year
- , subq_4.created_at__extract_quarter AS metric_time__extract_quarter
- , subq_4.created_at__extract_month AS metric_time__extract_month
- , subq_4.created_at__extract_day AS metric_time__extract_day
- , subq_4.created_at__extract_dow AS metric_time__extract_dow
- , subq_4.created_at__extract_doy AS metric_time__extract_doy
- , subq_4.user
- , subq_4.home_state
- , subq_4.user__home_state
- , subq_4.new_users
+ subq_28.ds__day
+ , subq_28.ds__week
+ , subq_28.ds__month
+ , subq_28.ds__quarter
+ , subq_28.ds__year
+ , subq_28.ds__extract_year
+ , subq_28.ds__extract_quarter
+ , subq_28.ds__extract_month
+ , subq_28.ds__extract_day
+ , subq_28.ds__extract_dow
+ , subq_28.ds__extract_doy
+ , subq_28.created_at__day
+ , subq_28.created_at__week
+ , subq_28.created_at__month
+ , subq_28.created_at__quarter
+ , subq_28.created_at__year
+ , subq_28.created_at__extract_year
+ , subq_28.created_at__extract_quarter
+ , subq_28.created_at__extract_month
+ , subq_28.created_at__extract_day
+ , subq_28.created_at__extract_dow
+ , subq_28.created_at__extract_doy
+ , subq_28.ds_partitioned__day
+ , subq_28.ds_partitioned__week
+ , subq_28.ds_partitioned__month
+ , subq_28.ds_partitioned__quarter
+ , subq_28.ds_partitioned__year
+ , subq_28.ds_partitioned__extract_year
+ , subq_28.ds_partitioned__extract_quarter
+ , subq_28.ds_partitioned__extract_month
+ , subq_28.ds_partitioned__extract_day
+ , subq_28.ds_partitioned__extract_dow
+ , subq_28.ds_partitioned__extract_doy
+ , subq_28.last_profile_edit_ts__millisecond
+ , subq_28.last_profile_edit_ts__second
+ , subq_28.last_profile_edit_ts__minute
+ , subq_28.last_profile_edit_ts__hour
+ , subq_28.last_profile_edit_ts__day
+ , subq_28.last_profile_edit_ts__week
+ , subq_28.last_profile_edit_ts__month
+ , subq_28.last_profile_edit_ts__quarter
+ , subq_28.last_profile_edit_ts__year
+ , subq_28.last_profile_edit_ts__extract_year
+ , subq_28.last_profile_edit_ts__extract_quarter
+ , subq_28.last_profile_edit_ts__extract_month
+ , subq_28.last_profile_edit_ts__extract_day
+ , subq_28.last_profile_edit_ts__extract_dow
+ , subq_28.last_profile_edit_ts__extract_doy
+ , subq_28.bio_added_ts__second
+ , subq_28.bio_added_ts__minute
+ , subq_28.bio_added_ts__hour
+ , subq_28.bio_added_ts__day
+ , subq_28.bio_added_ts__week
+ , subq_28.bio_added_ts__month
+ , subq_28.bio_added_ts__quarter
+ , subq_28.bio_added_ts__year
+ , subq_28.bio_added_ts__extract_year
+ , subq_28.bio_added_ts__extract_quarter
+ , subq_28.bio_added_ts__extract_month
+ , subq_28.bio_added_ts__extract_day
+ , subq_28.bio_added_ts__extract_dow
+ , subq_28.bio_added_ts__extract_doy
+ , subq_28.last_login_ts__minute
+ , subq_28.last_login_ts__hour
+ , subq_28.last_login_ts__day
+ , subq_28.last_login_ts__week
+ , subq_28.last_login_ts__month
+ , subq_28.last_login_ts__quarter
+ , subq_28.last_login_ts__year
+ , subq_28.last_login_ts__extract_year
+ , subq_28.last_login_ts__extract_quarter
+ , subq_28.last_login_ts__extract_month
+ , subq_28.last_login_ts__extract_day
+ , subq_28.last_login_ts__extract_dow
+ , subq_28.last_login_ts__extract_doy
+ , subq_28.archived_at__hour
+ , subq_28.archived_at__day
+ , subq_28.archived_at__week
+ , subq_28.archived_at__month
+ , subq_28.archived_at__quarter
+ , subq_28.archived_at__year
+ , subq_28.archived_at__extract_year
+ , subq_28.archived_at__extract_quarter
+ , subq_28.archived_at__extract_month
+ , subq_28.archived_at__extract_day
+ , subq_28.archived_at__extract_dow
+ , subq_28.archived_at__extract_doy
+ , subq_28.user__ds__day
+ , subq_28.user__ds__week
+ , subq_28.user__ds__month
+ , subq_28.user__ds__quarter
+ , subq_28.user__ds__year
+ , subq_28.user__ds__extract_year
+ , subq_28.user__ds__extract_quarter
+ , subq_28.user__ds__extract_month
+ , subq_28.user__ds__extract_day
+ , subq_28.user__ds__extract_dow
+ , subq_28.user__ds__extract_doy
+ , subq_28.user__created_at__day
+ , subq_28.user__created_at__week
+ , subq_28.user__created_at__month
+ , subq_28.user__created_at__quarter
+ , subq_28.user__created_at__year
+ , subq_28.user__created_at__extract_year
+ , subq_28.user__created_at__extract_quarter
+ , subq_28.user__created_at__extract_month
+ , subq_28.user__created_at__extract_day
+ , subq_28.user__created_at__extract_dow
+ , subq_28.user__created_at__extract_doy
+ , subq_28.user__ds_partitioned__day
+ , subq_28.user__ds_partitioned__week
+ , subq_28.user__ds_partitioned__month
+ , subq_28.user__ds_partitioned__quarter
+ , subq_28.user__ds_partitioned__year
+ , subq_28.user__ds_partitioned__extract_year
+ , subq_28.user__ds_partitioned__extract_quarter
+ , subq_28.user__ds_partitioned__extract_month
+ , subq_28.user__ds_partitioned__extract_day
+ , subq_28.user__ds_partitioned__extract_dow
+ , subq_28.user__ds_partitioned__extract_doy
+ , subq_28.user__last_profile_edit_ts__millisecond
+ , subq_28.user__last_profile_edit_ts__second
+ , subq_28.user__last_profile_edit_ts__minute
+ , subq_28.user__last_profile_edit_ts__hour
+ , subq_28.user__last_profile_edit_ts__day
+ , subq_28.user__last_profile_edit_ts__week
+ , subq_28.user__last_profile_edit_ts__month
+ , subq_28.user__last_profile_edit_ts__quarter
+ , subq_28.user__last_profile_edit_ts__year
+ , subq_28.user__last_profile_edit_ts__extract_year
+ , subq_28.user__last_profile_edit_ts__extract_quarter
+ , subq_28.user__last_profile_edit_ts__extract_month
+ , subq_28.user__last_profile_edit_ts__extract_day
+ , subq_28.user__last_profile_edit_ts__extract_dow
+ , subq_28.user__last_profile_edit_ts__extract_doy
+ , subq_28.user__bio_added_ts__second
+ , subq_28.user__bio_added_ts__minute
+ , subq_28.user__bio_added_ts__hour
+ , subq_28.user__bio_added_ts__day
+ , subq_28.user__bio_added_ts__week
+ , subq_28.user__bio_added_ts__month
+ , subq_28.user__bio_added_ts__quarter
+ , subq_28.user__bio_added_ts__year
+ , subq_28.user__bio_added_ts__extract_year
+ , subq_28.user__bio_added_ts__extract_quarter
+ , subq_28.user__bio_added_ts__extract_month
+ , subq_28.user__bio_added_ts__extract_day
+ , subq_28.user__bio_added_ts__extract_dow
+ , subq_28.user__bio_added_ts__extract_doy
+ , subq_28.user__last_login_ts__minute
+ , subq_28.user__last_login_ts__hour
+ , subq_28.user__last_login_ts__day
+ , subq_28.user__last_login_ts__week
+ , subq_28.user__last_login_ts__month
+ , subq_28.user__last_login_ts__quarter
+ , subq_28.user__last_login_ts__year
+ , subq_28.user__last_login_ts__extract_year
+ , subq_28.user__last_login_ts__extract_quarter
+ , subq_28.user__last_login_ts__extract_month
+ , subq_28.user__last_login_ts__extract_day
+ , subq_28.user__last_login_ts__extract_dow
+ , subq_28.user__last_login_ts__extract_doy
+ , subq_28.user__archived_at__hour
+ , subq_28.user__archived_at__day
+ , subq_28.user__archived_at__week
+ , subq_28.user__archived_at__month
+ , subq_28.user__archived_at__quarter
+ , subq_28.user__archived_at__year
+ , subq_28.user__archived_at__extract_year
+ , subq_28.user__archived_at__extract_quarter
+ , subq_28.user__archived_at__extract_month
+ , subq_28.user__archived_at__extract_day
+ , subq_28.user__archived_at__extract_dow
+ , subq_28.user__archived_at__extract_doy
+ , subq_28.created_at__day AS metric_time__day
+ , subq_28.created_at__week AS metric_time__week
+ , subq_28.created_at__month AS metric_time__month
+ , subq_28.created_at__quarter AS metric_time__quarter
+ , subq_28.created_at__year AS metric_time__year
+ , subq_28.created_at__extract_year AS metric_time__extract_year
+ , subq_28.created_at__extract_quarter AS metric_time__extract_quarter
+ , subq_28.created_at__extract_month AS metric_time__extract_month
+ , subq_28.created_at__extract_day AS metric_time__extract_day
+ , subq_28.created_at__extract_dow AS metric_time__extract_dow
+ , subq_28.created_at__extract_doy AS metric_time__extract_doy
+ , subq_28.user
+ , subq_28.home_state
+ , subq_28.user__home_state
+ , subq_28.new_users
FROM (
-- Read Elements From Semantic Model 'users_ds_source'
SELECT
@@ -1380,25 +1380,25 @@ FROM (
, EXTRACT(doy FROM users_ds_source_src_28000.archived_at) AS user__archived_at__extract_doy
, users_ds_source_src_28000.user_id AS user
FROM ***************************.dim_users users_ds_source_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_28
+ ) subq_29
+ ) subq_30
ON
- subq_3.user = subq_6.user
- ) subq_7
- ) subq_8
+ subq_27.user = subq_30.user
+ ) subq_31
+ ) subq_32
ON
(
- subq_1.listing = subq_8.listing
+ subq_25.listing = subq_32.listing
) AND (
- subq_1.ds_partitioned__day = subq_8.user__ds_partitioned__day
+ subq_25.ds_partitioned__day = subq_32.user__ds_partitioned__day
)
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_9
+ ***************************.mf_time_spine subq_33
ON
- subq_8.user__ds__day = subq_9.ds
- ) subq_10
- ) subq_11
+ subq_32.user__ds__day = subq_33.ds
+ ) subq_34
+ ) subq_35
GROUP BY
- subq_11.listing__user__ds__martian_day
-) subq_12
+ subq_35.listing__user__ds__martian_day
+) subq_36
diff --git a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_simple_metric_with_multi_hop_custom_granularity__plan0_optimized.sql b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_simple_metric_with_multi_hop_custom_granularity__plan0_optimized.sql
index eaf84be05b..a163eb4d0a 100644
--- a/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_simple_metric_with_multi_hop_custom_granularity__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_custom_granularity.py/SqlPlan/DuckDB/test_simple_metric_with_multi_hop_custom_granularity__plan0_optimized.sql
@@ -10,8 +10,8 @@ sql_engine: DuckDB
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_22.martian_day AS listing__user__ds__martian_day
- , SUM(subq_14.bookings) AS bookings
+ subq_46.martian_day AS listing__user__ds__martian_day
+ , SUM(subq_38.bookings) AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -20,7 +20,7 @@ FROM (
, listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
-) subq_14
+) subq_38
LEFT OUTER JOIN (
-- Join Standard Outputs
-- Pass Only Elements: ['user__ds_partitioned__day', 'user__ds__day', 'listing']
@@ -33,16 +33,16 @@ LEFT OUTER JOIN (
***************************.dim_users users_ds_source_src_28000
ON
listings_latest_src_28000.user_id = users_ds_source_src_28000.user_id
-) subq_21
+) subq_45
ON
(
- subq_14.listing = subq_21.listing
+ subq_38.listing = subq_45.listing
) AND (
- subq_14.ds_partitioned__day = subq_21.user__ds_partitioned__day
+ subq_38.ds_partitioned__day = subq_45.user__ds_partitioned__day
)
LEFT OUTER JOIN
- ***************************.mf_time_spine subq_22
+ ***************************.mf_time_spine subq_46
ON
- subq_21.user__ds__day = subq_22.ds
+ subq_45.user__ds__day = subq_46.ds
GROUP BY
- subq_22.martian_day
+ subq_46.martian_day
diff --git a/tests_metricflow/snapshots/test_dataflow_to_execution.py/ExecutionPlan/DuckDB/test_multihop_joined_plan__ep_0.xml b/tests_metricflow/snapshots/test_dataflow_to_execution.py/ExecutionPlan/DuckDB/test_multihop_joined_plan__ep_0.xml
index 7988cd5e69..dbdb6223cf 100644
--- a/tests_metricflow/snapshots/test_dataflow_to_execution.py/ExecutionPlan/DuckDB/test_multihop_joined_plan__ep_0.xml
+++ b/tests_metricflow/snapshots/test_dataflow_to_execution.py/ExecutionPlan/DuckDB/test_multihop_joined_plan__ep_0.xml
@@ -7,40 +7,40 @@ docstring:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.sql
index 3a6062017c..aacb52d960 100644
--- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.sql
+++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.sql
@@ -6,16 +6,16 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.ds__day
- , subq_18.listing__country_latest
- , CAST(subq_18.bookings AS DOUBLE) / CAST(NULLIF(subq_18.views, 0) AS DOUBLE) AS bookings_per_view
+ subq_17.ds__day
+ , subq_17.listing__country_latest
+ , CAST(subq_17.bookings AS DOUBLE) / CAST(NULLIF(subq_17.views, 0) AS DOUBLE) AS bookings_per_view
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_8.ds__day, subq_17.ds__day) AS ds__day
- , COALESCE(subq_8.listing__country_latest, subq_17.listing__country_latest) AS listing__country_latest
+ COALESCE(subq_8.ds__day, subq_16.ds__day) AS ds__day
+ , COALESCE(subq_8.listing__country_latest, subq_16.listing__country_latest) AS listing__country_latest
, MAX(subq_8.bookings) AS bookings
- , MAX(subq_17.views) AS views
+ , MAX(subq_16.views) AS views
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -481,25 +481,25 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_16.ds__day
- , subq_16.listing__country_latest
- , subq_16.views
+ subq_15.ds__day
+ , subq_15.listing__country_latest
+ , subq_15.views
FROM (
-- Aggregate Measures
SELECT
- subq_15.ds__day
- , subq_15.listing__country_latest
- , SUM(subq_15.views) AS views
+ subq_14.ds__day
+ , subq_14.listing__country_latest
+ , SUM(subq_14.views) AS views
FROM (
-- Pass Only Elements: ['views', 'listing__country_latest', 'ds__day']
SELECT
- subq_14.ds__day
- , subq_14.listing__country_latest
- , subq_14.views
+ subq_13.ds__day
+ , subq_13.listing__country_latest
+ , subq_13.views
FROM (
-- Join Standard Outputs
SELECT
- subq_13.country_latest AS listing__country_latest
+ subq_12.country_latest AS listing__country_latest
, subq_10.ds__day AS ds__day
, subq_10.ds__week AS ds__week
, subq_10.ds__month AS ds__month
@@ -681,78 +681,78 @@ FROM (
LEFT OUTER JOIN (
-- Pass Only Elements: ['country_latest', 'listing']
SELECT
- subq_12.listing
- , subq_12.country_latest
+ subq_11.listing
+ , subq_11.country_latest
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_11.ds__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.created_at__day
- , subq_11.created_at__week
- , subq_11.created_at__month
- , subq_11.created_at__quarter
- , subq_11.created_at__year
- , subq_11.created_at__extract_year
- , subq_11.created_at__extract_quarter
- , subq_11.created_at__extract_month
- , subq_11.created_at__extract_day
- , subq_11.created_at__extract_dow
- , subq_11.created_at__extract_doy
- , subq_11.listing__ds__day
- , subq_11.listing__ds__week
- , subq_11.listing__ds__month
- , subq_11.listing__ds__quarter
- , subq_11.listing__ds__year
- , subq_11.listing__ds__extract_year
- , subq_11.listing__ds__extract_quarter
- , subq_11.listing__ds__extract_month
- , subq_11.listing__ds__extract_day
- , subq_11.listing__ds__extract_dow
- , subq_11.listing__ds__extract_doy
- , subq_11.listing__created_at__day
- , subq_11.listing__created_at__week
- , subq_11.listing__created_at__month
- , subq_11.listing__created_at__quarter
- , subq_11.listing__created_at__year
- , subq_11.listing__created_at__extract_year
- , subq_11.listing__created_at__extract_quarter
- , subq_11.listing__created_at__extract_month
- , subq_11.listing__created_at__extract_day
- , subq_11.listing__created_at__extract_dow
- , subq_11.listing__created_at__extract_doy
- , subq_11.ds__day AS metric_time__day
- , subq_11.ds__week AS metric_time__week
- , subq_11.ds__month AS metric_time__month
- , subq_11.ds__quarter AS metric_time__quarter
- , subq_11.ds__year AS metric_time__year
- , subq_11.ds__extract_year AS metric_time__extract_year
- , subq_11.ds__extract_quarter AS metric_time__extract_quarter
- , subq_11.ds__extract_month AS metric_time__extract_month
- , subq_11.ds__extract_day AS metric_time__extract_day
- , subq_11.ds__extract_dow AS metric_time__extract_dow
- , subq_11.ds__extract_doy AS metric_time__extract_doy
- , subq_11.listing
- , subq_11.user
- , subq_11.listing__user
- , subq_11.country_latest
- , subq_11.is_lux_latest
- , subq_11.capacity_latest
- , subq_11.listing__country_latest
- , subq_11.listing__is_lux_latest
- , subq_11.listing__capacity_latest
- , subq_11.listings
- , subq_11.largest_listing
- , subq_11.smallest_listing
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.listing__ds__day
+ , subq_2.listing__ds__week
+ , subq_2.listing__ds__month
+ , subq_2.listing__ds__quarter
+ , subq_2.listing__ds__year
+ , subq_2.listing__ds__extract_year
+ , subq_2.listing__ds__extract_quarter
+ , subq_2.listing__ds__extract_month
+ , subq_2.listing__ds__extract_day
+ , subq_2.listing__ds__extract_dow
+ , subq_2.listing__ds__extract_doy
+ , subq_2.listing__created_at__day
+ , subq_2.listing__created_at__week
+ , subq_2.listing__created_at__month
+ , subq_2.listing__created_at__quarter
+ , subq_2.listing__created_at__year
+ , subq_2.listing__created_at__extract_year
+ , subq_2.listing__created_at__extract_quarter
+ , subq_2.listing__created_at__extract_month
+ , subq_2.listing__created_at__extract_day
+ , subq_2.listing__created_at__extract_dow
+ , subq_2.listing__created_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.user
+ , subq_2.listing__user
+ , subq_2.country_latest
+ , subq_2.is_lux_latest
+ , subq_2.capacity_latest
+ , subq_2.listing__country_latest
+ , subq_2.listing__is_lux_latest
+ , subq_2.listing__capacity_latest
+ , subq_2.listings
+ , subq_2.largest_listing
+ , subq_2.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -813,25 +813,25 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_2
+ ) subq_11
+ ) subq_12
ON
- subq_10.listing = subq_13.listing
- ) subq_14
- ) subq_15
+ subq_10.listing = subq_12.listing
+ ) subq_13
+ ) subq_14
GROUP BY
- subq_15.ds__day
- , subq_15.listing__country_latest
- ) subq_16
- ) subq_17
+ subq_14.ds__day
+ , subq_14.listing__country_latest
+ ) subq_15
+ ) subq_16
ON
(
- subq_8.listing__country_latest = subq_17.listing__country_latest
+ subq_8.listing__country_latest = subq_16.listing__country_latest
) AND (
- subq_8.ds__day = subq_17.ds__day
+ subq_8.ds__day = subq_16.ds__day
)
GROUP BY
- COALESCE(subq_8.ds__day, subq_17.ds__day)
- , COALESCE(subq_8.listing__country_latest, subq_17.listing__country_latest)
-) subq_18
+ COALESCE(subq_8.ds__day, subq_16.ds__day)
+ , COALESCE(subq_8.listing__country_latest, subq_16.listing__country_latest)
+) subq_17
diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0_optimized.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0_optimized.sql
index fc27a90b6e..cb95211fe8 100644
--- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0_optimized.sql
@@ -21,19 +21,19 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_27.ds__day, subq_35.ds__day) AS ds__day
- , COALESCE(subq_27.listing__country_latest, subq_35.listing__country_latest) AS listing__country_latest
- , MAX(subq_27.bookings) AS bookings
- , MAX(subq_35.views) AS views
+ COALESCE(subq_26.ds__day, subq_34.ds__day) AS ds__day
+ , COALESCE(subq_26.listing__country_latest, subq_34.listing__country_latest) AS listing__country_latest
+ , MAX(subq_26.bookings) AS bookings
+ , MAX(subq_34.views) AS views
FROM (
-- Join Standard Outputs
-- Pass Only Elements: ['bookings', 'listing__country_latest', 'ds__day']
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_20.ds__day AS ds__day
+ subq_19.ds__day AS ds__day
, sma_28014_cte.country_latest AS listing__country_latest
- , SUM(subq_20.bookings) AS bookings
+ , SUM(subq_19.bookings) AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -42,24 +42,24 @@ FROM (
, listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_20
+ ) subq_19
LEFT OUTER JOIN
sma_28014_cte sma_28014_cte
ON
- subq_20.listing = sma_28014_cte.listing
+ subq_19.listing = sma_28014_cte.listing
GROUP BY
- subq_20.ds__day
+ subq_19.ds__day
, sma_28014_cte.country_latest
- ) subq_27
+ ) subq_26
FULL OUTER JOIN (
-- Join Standard Outputs
-- Pass Only Elements: ['views', 'listing__country_latest', 'ds__day']
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_29.ds__day AS ds__day
+ subq_28.ds__day AS ds__day
, sma_28014_cte.country_latest AS listing__country_latest
- , SUM(subq_29.views) AS views
+ , SUM(subq_28.views) AS views
FROM (
-- Read Elements From Semantic Model 'views_source'
-- Metric Time Dimension 'ds'
@@ -68,22 +68,22 @@ FROM (
, listing_id AS listing
, 1 AS views
FROM ***************************.fct_views views_source_src_28000
- ) subq_29
+ ) subq_28
LEFT OUTER JOIN
sma_28014_cte sma_28014_cte
ON
- subq_29.listing = sma_28014_cte.listing
+ subq_28.listing = sma_28014_cte.listing
GROUP BY
- subq_29.ds__day
+ subq_28.ds__day
, sma_28014_cte.country_latest
- ) subq_35
+ ) subq_34
ON
(
- subq_27.listing__country_latest = subq_35.listing__country_latest
+ subq_26.listing__country_latest = subq_34.listing__country_latest
) AND (
- subq_27.ds__day = subq_35.ds__day
+ subq_26.ds__day = subq_34.ds__day
)
GROUP BY
- COALESCE(subq_27.ds__day, subq_35.ds__day)
- , COALESCE(subq_27.listing__country_latest, subq_35.listing__country_latest)
-) subq_36
+ COALESCE(subq_26.ds__day, subq_34.ds__day)
+ , COALESCE(subq_26.listing__country_latest, subq_34.listing__country_latest)
+) subq_35
diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_multi_join_node__plan0.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_multi_join_node__plan0.sql
index 16d0c36be3..475ace2a4a 100644
--- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_multi_join_node__plan0.sql
+++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_multi_join_node__plan0.sql
@@ -7,7 +7,7 @@ sql_engine: DuckDB
-- Join Standard Outputs
SELECT
subq_3.country_latest AS listing__country_latest
- , subq_5.country_latest AS listing__country_latest
+ , subq_4.country_latest AS listing__country_latest
, subq_1.listing AS listing
, subq_1.bookings AS bookings
FROM (
@@ -181,8 +181,8 @@ ON
LEFT OUTER JOIN (
-- Pass Only Elements: ['country_latest', 'listing']
SELECT
- subq_4.listing
- , subq_4.country_latest
+ subq_2.listing
+ , subq_2.country_latest
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -243,7 +243,7 @@ LEFT OUTER JOIN (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_4
-) subq_5
+ ) subq_2
+) subq_4
ON
- subq_1.listing = subq_5.listing
+ subq_1.listing = subq_4.listing
diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_multi_join_node__plan0_optimized.sql b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_multi_join_node__plan0_optimized.sql
index deb4291897..370d4f3dbd 100644
--- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_multi_join_node__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/DuckDB/test_multi_join_node__plan0_optimized.sql
@@ -15,10 +15,10 @@ WITH pfe_1_cte AS (
)
SELECT
- subq_9.country_latest AS listing__country_latest
- , subq_10.country_latest AS listing__country_latest
- , subq_7.listing AS listing
- , subq_7.bookings AS bookings
+ subq_8.country_latest AS listing__country_latest
+ , subq_9.country_latest AS listing__country_latest
+ , subq_6.listing AS listing
+ , subq_6.bookings AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Pass Only Elements: ['bookings', 'listing']
@@ -26,22 +26,22 @@ FROM (
listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
-) subq_7
+) subq_6
LEFT OUTER JOIN (
-- Read From CTE For node_id=pfe_1
SELECT
listing
, country_latest
FROM pfe_1_cte pfe_1_cte
-) subq_9
+) subq_8
ON
- subq_7.listing = subq_9.listing
+ subq_6.listing = subq_8.listing
LEFT OUTER JOIN (
-- Read From CTE For node_id=pfe_1
SELECT
listing
, country_latest
FROM pfe_1_cte pfe_1_cte
-) subq_10
+) subq_9
ON
- subq_7.listing = subq_10.listing
+ subq_6.listing = subq_9.listing
diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_combine_output_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_combine_output_node__plan0.xml
index 671d2fb176..b4870d7a5f 100644
--- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_combine_output_node__plan0.xml
+++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_combine_output_node__plan0.xml
@@ -6,7 +6,7 @@ docstring:
-
+
@@ -30,7 +30,7 @@ docstring:
-
+
@@ -453,7 +453,7 @@ docstring:
-
+
@@ -465,23 +465,23 @@ docstring:
-
+
-
+
-
+
-
+
diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.xml
index 27a1d242c7..f7b0ba15e7 100644
--- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.xml
+++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_compute_metrics_node_ratio_from_multiple_semantic_models__plan0.xml
@@ -6,17 +6,17 @@ docstring:
-
-
+
+
-
+
-
+
-
+
@@ -40,8 +40,8 @@ docstring:
-
-
+
+
@@ -2222,25 +2222,25 @@ docstring:
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
@@ -2248,341 +2248,341 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
@@ -3154,364 +3154,364 @@ docstring:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
diff --git a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_multi_join_node__plan0.xml b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_multi_join_node__plan0.xml
index 9a90120bf2..e082b784f1 100644
--- a/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_multi_join_node__plan0.xml
+++ b/tests_metricflow/snapshots/test_dataflow_to_sql_plan.py/SqlPlan/test_multi_join_node__plan0.xml
@@ -6,13 +6,13 @@ docstring:
-
+
-
-
-
-
+
+
+
+
@@ -23,8 +23,8 @@ docstring:
-
-
+
+
@@ -584,15 +584,15 @@ docstring:
-
-
-
-
+
+
+
+
-
+
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric__plan0.sql
index 00aa81f84d..2d37bd0b29 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_10.metric_time__day
+ subq_9.metric_time__day
, (bookings - ref_bookings) * 1.0 / bookings AS non_referred_bookings_pct
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__day, subq_9.metric_time__day) AS metric_time__day
+ COALESCE(subq_4.metric_time__day, subq_8.metric_time__day) AS metric_time__day
, MAX(subq_4.ref_bookings) AS ref_bookings
- , MAX(subq_9.bookings) AS bookings
+ , MAX(subq_8.bookings) AS bookings
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -230,119 +230,119 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_8.metric_time__day
- , subq_8.bookings
+ subq_7.metric_time__day
+ , subq_7.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_7.metric_time__day
- , SUM(subq_7.bookings) AS bookings
+ subq_6.metric_time__day
+ , SUM(subq_6.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_6.metric_time__day
- , subq_6.bookings
+ subq_5.metric_time__day
+ , subq_5.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -435,15 +435,15 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
- ) subq_7
+ ) subq_0
+ ) subq_5
+ ) subq_6
GROUP BY
- subq_7.metric_time__day
- ) subq_8
- ) subq_9
+ subq_6.metric_time__day
+ ) subq_7
+ ) subq_8
ON
- subq_4.metric_time__day = subq_9.metric_time__day
+ subq_4.metric_time__day = subq_8.metric_time__day
GROUP BY
- COALESCE(subq_4.metric_time__day, subq_9.metric_time__day)
-) subq_10
+ COALESCE(subq_4.metric_time__day, subq_8.metric_time__day)
+) subq_9
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric__plan0_optimized.sql
index 99170ffa98..b77108f20a 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric__plan0_optimized.sql
@@ -22,7 +22,7 @@ FROM (
, 1 AS bookings
, CASE WHEN referrer_id IS NOT NULL THEN 1 ELSE 0 END AS referred_bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_13
+ ) subq_12
GROUP BY
metric_time__day
-) subq_15
+) subq_14
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_that_defines_the_same_alias_in_different_components__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_that_defines_the_same_alias_in_different_components__plan0.sql
index c0c3268fa8..96fa394706 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_that_defines_the_same_alias_in_different_components__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_that_defines_the_same_alias_in_different_components__plan0.sql
@@ -6,15 +6,15 @@ sql_engine: DuckDB
---
-- Order By [] Limit 1
SELECT
- subq_12.booking__is_instant
- , subq_12.derived_shared_alias_1a
- , subq_12.derived_shared_alias_2
+ subq_11.booking__is_instant
+ , subq_11.derived_shared_alias_1a
+ , subq_11.derived_shared_alias_2
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.booking__is_instant, subq_11.booking__is_instant) AS booking__is_instant
+ COALESCE(subq_5.booking__is_instant, subq_10.booking__is_instant) AS booking__is_instant
, MAX(subq_5.derived_shared_alias_1a) AS derived_shared_alias_1a
- , MAX(subq_11.derived_shared_alias_2) AS derived_shared_alias_2
+ , MAX(subq_10.derived_shared_alias_2) AS derived_shared_alias_2
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -239,124 +239,124 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_10.booking__is_instant
+ subq_9.booking__is_instant
, shared_alias + 10 AS derived_shared_alias_2
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_9.booking__is_instant
- , subq_9.instant_bookings AS shared_alias
+ subq_8.booking__is_instant
+ , subq_8.instant_bookings AS shared_alias
FROM (
-- Aggregate Measures
SELECT
- subq_8.booking__is_instant
- , SUM(subq_8.instant_bookings) AS instant_bookings
+ subq_7.booking__is_instant
+ , SUM(subq_7.instant_bookings) AS instant_bookings
FROM (
-- Pass Only Elements: ['instant_bookings', 'booking__is_instant']
SELECT
- subq_7.booking__is_instant
- , subq_7.instant_bookings
+ subq_6.booking__is_instant
+ , subq_6.instant_bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.ds_partitioned__day
- , subq_6.ds_partitioned__week
- , subq_6.ds_partitioned__month
- , subq_6.ds_partitioned__quarter
- , subq_6.ds_partitioned__year
- , subq_6.ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy
- , subq_6.paid_at__day
- , subq_6.paid_at__week
- , subq_6.paid_at__month
- , subq_6.paid_at__quarter
- , subq_6.paid_at__year
- , subq_6.paid_at__extract_year
- , subq_6.paid_at__extract_quarter
- , subq_6.paid_at__extract_month
- , subq_6.paid_at__extract_day
- , subq_6.paid_at__extract_dow
- , subq_6.paid_at__extract_doy
- , subq_6.booking__ds__day
- , subq_6.booking__ds__week
- , subq_6.booking__ds__month
- , subq_6.booking__ds__quarter
- , subq_6.booking__ds__year
- , subq_6.booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month
- , subq_6.booking__ds__extract_day
- , subq_6.booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day
- , subq_6.booking__paid_at__week
- , subq_6.booking__paid_at__month
- , subq_6.booking__paid_at__quarter
- , subq_6.booking__paid_at__year
- , subq_6.booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.listing
- , subq_6.guest
- , subq_6.host
- , subq_6.booking__listing
- , subq_6.booking__guest
- , subq_6.booking__host
- , subq_6.is_instant
- , subq_6.booking__is_instant
- , subq_6.bookings
- , subq_6.instant_bookings
- , subq_6.booking_value
- , subq_6.max_booking_value
- , subq_6.min_booking_value
- , subq_6.bookers
- , subq_6.average_booking_value
- , subq_6.referred_bookings
- , subq_6.median_booking_value
- , subq_6.booking_value_p99
- , subq_6.discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -449,17 +449,17 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_6
- ) subq_7
- ) subq_8
+ ) subq_0
+ ) subq_6
+ ) subq_7
GROUP BY
- subq_8.booking__is_instant
- ) subq_9
- ) subq_10
- ) subq_11
+ subq_7.booking__is_instant
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
- subq_5.booking__is_instant = subq_11.booking__is_instant
+ subq_5.booking__is_instant = subq_10.booking__is_instant
GROUP BY
- COALESCE(subq_5.booking__is_instant, subq_11.booking__is_instant)
-) subq_12
+ COALESCE(subq_5.booking__is_instant, subq_10.booking__is_instant)
+) subq_11
LIMIT 1
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_that_defines_the_same_alias_in_different_components__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_that_defines_the_same_alias_in_different_components__plan0_optimized.sql
index 67859c9f1b..a5f2595266 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_that_defines_the_same_alias_in_different_components__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_that_defines_the_same_alias_in_different_components__plan0_optimized.sql
@@ -17,9 +17,9 @@ WITH sma_28009_cte AS (
)
SELECT
- COALESCE(subq_18.booking__is_instant, subq_23.booking__is_instant) AS booking__is_instant
- , MAX(subq_18.derived_shared_alias_1a) AS derived_shared_alias_1a
- , MAX(subq_23.derived_shared_alias_2) AS derived_shared_alias_2
+ COALESCE(subq_17.booking__is_instant, subq_22.booking__is_instant) AS booking__is_instant
+ , MAX(subq_17.derived_shared_alias_1a) AS derived_shared_alias_1a
+ , MAX(subq_22.derived_shared_alias_2) AS derived_shared_alias_2
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -36,8 +36,8 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
booking__is_instant
- ) subq_17
-) subq_18
+ ) subq_16
+) subq_17
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
@@ -54,10 +54,10 @@ FULL OUTER JOIN (
FROM sma_28009_cte sma_28009_cte
GROUP BY
booking__is_instant
- ) subq_22
-) subq_23
+ ) subq_21
+) subq_22
ON
- subq_18.booking__is_instant = subq_23.booking__is_instant
+ subq_17.booking__is_instant = subq_22.booking__is_instant
GROUP BY
- COALESCE(subq_18.booking__is_instant, subq_23.booking__is_instant)
+ COALESCE(subq_17.booking__is_instant, subq_22.booking__is_instant)
LIMIT 1
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain__plan0.sql
index 3824e51f2c..0561596c97 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__day
+ subq_13.metric_time__day
, bookings - bookings_at_start_of_month AS bookings_growth_since_start_of_month
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__day, subq_13.metric_time__day) AS metric_time__day
+ COALESCE(subq_4.metric_time__day, subq_12.metric_time__day) AS metric_time__day
, MAX(subq_4.bookings) AS bookings
- , MAX(subq_13.bookings_at_start_of_month) AS bookings_at_start_of_month
+ , MAX(subq_12.bookings_at_start_of_month) AS bookings_at_start_of_month
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -230,138 +230,138 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__day
- , subq_12.bookings AS bookings_at_start_of_month
+ subq_11.metric_time__day
+ , subq_11.bookings AS bookings_at_start_of_month
FROM (
-- Aggregate Measures
SELECT
- subq_11.metric_time__day
- , SUM(subq_11.bookings) AS bookings
+ subq_10.metric_time__day
+ , SUM(subq_10.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_10.metric_time__day
- , subq_10.bookings
+ subq_9.metric_time__day
+ , subq_9.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_9.metric_time__day AS metric_time__day
- , subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.ds_partitioned__day AS ds_partitioned__day
- , subq_6.ds_partitioned__week AS ds_partitioned__week
- , subq_6.ds_partitioned__month AS ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_6.paid_at__day AS paid_at__day
- , subq_6.paid_at__week AS paid_at__week
- , subq_6.paid_at__month AS paid_at__month
- , subq_6.paid_at__quarter AS paid_at__quarter
- , subq_6.paid_at__year AS paid_at__year
- , subq_6.paid_at__extract_year AS paid_at__extract_year
- , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_6.paid_at__extract_month AS paid_at__extract_month
- , subq_6.paid_at__extract_day AS paid_at__extract_day
- , subq_6.paid_at__extract_dow AS paid_at__extract_dow
- , subq_6.paid_at__extract_doy AS paid_at__extract_doy
- , subq_6.booking__ds__day AS booking__ds__day
- , subq_6.booking__ds__week AS booking__ds__week
- , subq_6.booking__ds__month AS booking__ds__month
- , subq_6.booking__ds__quarter AS booking__ds__quarter
- , subq_6.booking__ds__year AS booking__ds__year
- , subq_6.booking__ds__extract_year AS booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month AS booking__ds__extract_month
- , subq_6.booking__ds__extract_day AS booking__ds__extract_day
- , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day AS booking__paid_at__day
- , subq_6.booking__paid_at__week AS booking__paid_at__week
- , subq_6.booking__paid_at__month AS booking__paid_at__month
- , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_6.booking__paid_at__year AS booking__paid_at__year
- , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_6.metric_time__week AS metric_time__week
- , subq_6.metric_time__month AS metric_time__month
- , subq_6.metric_time__quarter AS metric_time__quarter
- , subq_6.metric_time__year AS metric_time__year
- , subq_6.metric_time__extract_year AS metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS metric_time__extract_month
- , subq_6.metric_time__extract_day AS metric_time__extract_day
- , subq_6.metric_time__extract_dow AS metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS metric_time__extract_doy
- , subq_6.listing AS listing
- , subq_6.guest AS guest
- , subq_6.host AS host
- , subq_6.booking__listing AS booking__listing
- , subq_6.booking__guest AS booking__guest
- , subq_6.booking__host AS booking__host
- , subq_6.is_instant AS is_instant
- , subq_6.booking__is_instant AS booking__is_instant
- , subq_6.bookings AS bookings
- , subq_6.instant_bookings AS instant_bookings
- , subq_6.booking_value AS booking_value
- , subq_6.max_booking_value AS max_booking_value
- , subq_6.min_booking_value AS min_booking_value
- , subq_6.bookers AS bookers
- , subq_6.average_booking_value AS average_booking_value
- , subq_6.referred_bookings AS referred_bookings
- , subq_6.median_booking_value AS median_booking_value
- , subq_6.booking_value_p99 AS booking_value_p99
- , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_8.metric_time__day AS metric_time__day
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__day AS booking__ds__day
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_8.metric_time__day
+ subq_7.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_7.ds__day AS metric_time__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds__martian_day
+ subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -378,110 +378,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -574,18 +574,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
ON
- DATE_TRUNC('month', subq_9.metric_time__day) = subq_6.metric_time__day
- ) subq_10
- ) subq_11
+ DATE_TRUNC('month', subq_8.metric_time__day) = subq_5.metric_time__day
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.metric_time__day
- ) subq_12
- ) subq_13
+ subq_10.metric_time__day
+ ) subq_11
+ ) subq_12
ON
- subq_4.metric_time__day = subq_13.metric_time__day
+ subq_4.metric_time__day = subq_12.metric_time__day
GROUP BY
- COALESCE(subq_4.metric_time__day, subq_13.metric_time__day)
-) subq_14
+ COALESCE(subq_4.metric_time__day, subq_12.metric_time__day)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain__plan0_optimized.sql
index 06ee1ddb8c..5535f9cdfd 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain__plan0_optimized.sql
@@ -18,9 +18,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_19.metric_time__day, subq_27.metric_time__day) AS metric_time__day
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_27.bookings_at_start_of_month) AS bookings_at_start_of_month
+ COALESCE(subq_18.metric_time__day, subq_26.metric_time__day) AS metric_time__day
+ , MAX(subq_18.bookings) AS bookings
+ , MAX(subq_26.bookings_at_start_of_month) AS bookings_at_start_of_month
FROM (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -32,7 +32,7 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__day
- ) subq_19
+ ) subq_18
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -48,9 +48,9 @@ FROM (
DATE_TRUNC('month', time_spine_src_28006.ds) = sma_28009_cte.metric_time__day
GROUP BY
time_spine_src_28006.ds
- ) subq_27
+ ) subq_26
ON
- subq_19.metric_time__day = subq_27.metric_time__day
+ subq_18.metric_time__day = subq_26.metric_time__day
GROUP BY
- COALESCE(subq_19.metric_time__day, subq_27.metric_time__day)
-) subq_28
+ COALESCE(subq_18.metric_time__day, subq_26.metric_time__day)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain_and_granularity__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain_and_granularity__plan0.sql
index e7ac33bbbf..cab5170cc3 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain_and_granularity__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain_and_granularity__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__week
+ subq_13.metric_time__week
, bookings - bookings_at_start_of_month AS bookings_growth_since_start_of_month
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__week, subq_13.metric_time__week) AS metric_time__week
+ COALESCE(subq_4.metric_time__week, subq_12.metric_time__week) AS metric_time__week
, MAX(subq_4.bookings) AS bookings
- , MAX(subq_13.bookings_at_start_of_month) AS bookings_at_start_of_month
+ , MAX(subq_12.bookings_at_start_of_month) AS bookings_at_start_of_month
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -230,139 +230,139 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__week
- , subq_12.bookings AS bookings_at_start_of_month
+ subq_11.metric_time__week
+ , subq_11.bookings AS bookings_at_start_of_month
FROM (
-- Aggregate Measures
SELECT
- subq_11.metric_time__week
- , SUM(subq_11.bookings) AS bookings
+ subq_10.metric_time__week
+ , SUM(subq_10.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__week']
SELECT
- subq_10.metric_time__week
- , subq_10.bookings
+ subq_9.metric_time__week
+ , subq_9.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_9.metric_time__day AS metric_time__day
- , subq_9.metric_time__week AS metric_time__week
- , subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.ds_partitioned__day AS ds_partitioned__day
- , subq_6.ds_partitioned__week AS ds_partitioned__week
- , subq_6.ds_partitioned__month AS ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_6.paid_at__day AS paid_at__day
- , subq_6.paid_at__week AS paid_at__week
- , subq_6.paid_at__month AS paid_at__month
- , subq_6.paid_at__quarter AS paid_at__quarter
- , subq_6.paid_at__year AS paid_at__year
- , subq_6.paid_at__extract_year AS paid_at__extract_year
- , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_6.paid_at__extract_month AS paid_at__extract_month
- , subq_6.paid_at__extract_day AS paid_at__extract_day
- , subq_6.paid_at__extract_dow AS paid_at__extract_dow
- , subq_6.paid_at__extract_doy AS paid_at__extract_doy
- , subq_6.booking__ds__day AS booking__ds__day
- , subq_6.booking__ds__week AS booking__ds__week
- , subq_6.booking__ds__month AS booking__ds__month
- , subq_6.booking__ds__quarter AS booking__ds__quarter
- , subq_6.booking__ds__year AS booking__ds__year
- , subq_6.booking__ds__extract_year AS booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month AS booking__ds__extract_month
- , subq_6.booking__ds__extract_day AS booking__ds__extract_day
- , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day AS booking__paid_at__day
- , subq_6.booking__paid_at__week AS booking__paid_at__week
- , subq_6.booking__paid_at__month AS booking__paid_at__month
- , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_6.booking__paid_at__year AS booking__paid_at__year
- , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_6.metric_time__month AS metric_time__month
- , subq_6.metric_time__quarter AS metric_time__quarter
- , subq_6.metric_time__year AS metric_time__year
- , subq_6.metric_time__extract_year AS metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS metric_time__extract_month
- , subq_6.metric_time__extract_day AS metric_time__extract_day
- , subq_6.metric_time__extract_dow AS metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS metric_time__extract_doy
- , subq_6.listing AS listing
- , subq_6.guest AS guest
- , subq_6.host AS host
- , subq_6.booking__listing AS booking__listing
- , subq_6.booking__guest AS booking__guest
- , subq_6.booking__host AS booking__host
- , subq_6.is_instant AS is_instant
- , subq_6.booking__is_instant AS booking__is_instant
- , subq_6.bookings AS bookings
- , subq_6.instant_bookings AS instant_bookings
- , subq_6.booking_value AS booking_value
- , subq_6.max_booking_value AS max_booking_value
- , subq_6.min_booking_value AS min_booking_value
- , subq_6.bookers AS bookers
- , subq_6.average_booking_value AS average_booking_value
- , subq_6.referred_bookings AS referred_bookings
- , subq_6.median_booking_value AS median_booking_value
- , subq_6.booking_value_p99 AS booking_value_p99
- , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_8.metric_time__day AS metric_time__day
+ , subq_8.metric_time__week AS metric_time__week
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__day AS booking__ds__day
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day', 'metric_time__week']
SELECT
- subq_8.metric_time__day
- , subq_8.metric_time__week
+ subq_7.metric_time__day
+ , subq_7.metric_time__week
FROM (
-- Change Column Aliases
SELECT
- subq_7.ds__day AS metric_time__day
- , subq_7.ds__week AS metric_time__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds__martian_day
+ subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -379,110 +379,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -575,19 +575,19 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
ON
- DATE_TRUNC('month', subq_9.metric_time__day) = subq_6.metric_time__day
- WHERE subq_9.metric_time__week = subq_9.metric_time__day
- ) subq_10
- ) subq_11
+ DATE_TRUNC('month', subq_8.metric_time__day) = subq_5.metric_time__day
+ WHERE subq_8.metric_time__week = subq_8.metric_time__day
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.metric_time__week
- ) subq_12
- ) subq_13
+ subq_10.metric_time__week
+ ) subq_11
+ ) subq_12
ON
- subq_4.metric_time__week = subq_13.metric_time__week
+ subq_4.metric_time__week = subq_12.metric_time__week
GROUP BY
- COALESCE(subq_4.metric_time__week, subq_13.metric_time__week)
-) subq_14
+ COALESCE(subq_4.metric_time__week, subq_12.metric_time__week)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain_and_granularity__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain_and_granularity__plan0_optimized.sql
index 27737461df..c1bbd7a3e1 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain_and_granularity__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_to_grain_and_granularity__plan0_optimized.sql
@@ -19,9 +19,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_19.metric_time__week, subq_27.metric_time__week) AS metric_time__week
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_27.bookings_at_start_of_month) AS bookings_at_start_of_month
+ COALESCE(subq_18.metric_time__week, subq_26.metric_time__week) AS metric_time__week
+ , MAX(subq_18.bookings) AS bookings
+ , MAX(subq_26.bookings_at_start_of_month) AS bookings_at_start_of_month
FROM (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'metric_time__week']
@@ -33,7 +33,7 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__week
- ) subq_19
+ ) subq_18
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__week']
@@ -50,9 +50,9 @@ FROM (
WHERE DATE_TRUNC('week', time_spine_src_28006.ds) = time_spine_src_28006.ds
GROUP BY
DATE_TRUNC('week', time_spine_src_28006.ds)
- ) subq_27
+ ) subq_26
ON
- subq_19.metric_time__week = subq_27.metric_time__week
+ subq_18.metric_time__week = subq_26.metric_time__week
GROUP BY
- COALESCE(subq_19.metric_time__week, subq_27.metric_time__week)
-) subq_28
+ COALESCE(subq_18.metric_time__week, subq_26.metric_time__week)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window__plan0.sql
index 4220dcd2e0..1fe5fdd5c6 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__day
+ subq_13.metric_time__day
, bookings - bookings_2_weeks_ago AS bookings_growth_2_weeks
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__day, subq_13.metric_time__day) AS metric_time__day
+ COALESCE(subq_4.metric_time__day, subq_12.metric_time__day) AS metric_time__day
, MAX(subq_4.bookings) AS bookings
- , MAX(subq_13.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ , MAX(subq_12.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -230,138 +230,138 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__day
- , subq_12.bookings AS bookings_2_weeks_ago
+ subq_11.metric_time__day
+ , subq_11.bookings AS bookings_2_weeks_ago
FROM (
-- Aggregate Measures
SELECT
- subq_11.metric_time__day
- , SUM(subq_11.bookings) AS bookings
+ subq_10.metric_time__day
+ , SUM(subq_10.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_10.metric_time__day
- , subq_10.bookings
+ subq_9.metric_time__day
+ , subq_9.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_9.metric_time__day AS metric_time__day
- , subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.ds_partitioned__day AS ds_partitioned__day
- , subq_6.ds_partitioned__week AS ds_partitioned__week
- , subq_6.ds_partitioned__month AS ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_6.paid_at__day AS paid_at__day
- , subq_6.paid_at__week AS paid_at__week
- , subq_6.paid_at__month AS paid_at__month
- , subq_6.paid_at__quarter AS paid_at__quarter
- , subq_6.paid_at__year AS paid_at__year
- , subq_6.paid_at__extract_year AS paid_at__extract_year
- , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_6.paid_at__extract_month AS paid_at__extract_month
- , subq_6.paid_at__extract_day AS paid_at__extract_day
- , subq_6.paid_at__extract_dow AS paid_at__extract_dow
- , subq_6.paid_at__extract_doy AS paid_at__extract_doy
- , subq_6.booking__ds__day AS booking__ds__day
- , subq_6.booking__ds__week AS booking__ds__week
- , subq_6.booking__ds__month AS booking__ds__month
- , subq_6.booking__ds__quarter AS booking__ds__quarter
- , subq_6.booking__ds__year AS booking__ds__year
- , subq_6.booking__ds__extract_year AS booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month AS booking__ds__extract_month
- , subq_6.booking__ds__extract_day AS booking__ds__extract_day
- , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day AS booking__paid_at__day
- , subq_6.booking__paid_at__week AS booking__paid_at__week
- , subq_6.booking__paid_at__month AS booking__paid_at__month
- , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_6.booking__paid_at__year AS booking__paid_at__year
- , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_6.metric_time__week AS metric_time__week
- , subq_6.metric_time__month AS metric_time__month
- , subq_6.metric_time__quarter AS metric_time__quarter
- , subq_6.metric_time__year AS metric_time__year
- , subq_6.metric_time__extract_year AS metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS metric_time__extract_month
- , subq_6.metric_time__extract_day AS metric_time__extract_day
- , subq_6.metric_time__extract_dow AS metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS metric_time__extract_doy
- , subq_6.listing AS listing
- , subq_6.guest AS guest
- , subq_6.host AS host
- , subq_6.booking__listing AS booking__listing
- , subq_6.booking__guest AS booking__guest
- , subq_6.booking__host AS booking__host
- , subq_6.is_instant AS is_instant
- , subq_6.booking__is_instant AS booking__is_instant
- , subq_6.bookings AS bookings
- , subq_6.instant_bookings AS instant_bookings
- , subq_6.booking_value AS booking_value
- , subq_6.max_booking_value AS max_booking_value
- , subq_6.min_booking_value AS min_booking_value
- , subq_6.bookers AS bookers
- , subq_6.average_booking_value AS average_booking_value
- , subq_6.referred_bookings AS referred_bookings
- , subq_6.median_booking_value AS median_booking_value
- , subq_6.booking_value_p99 AS booking_value_p99
- , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_8.metric_time__day AS metric_time__day
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__day AS booking__ds__day
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_8.metric_time__day
+ subq_7.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_7.ds__day AS metric_time__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds__martian_day
+ subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -378,110 +378,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -574,18 +574,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
ON
- subq_9.metric_time__day - INTERVAL 14 day = subq_6.metric_time__day
- ) subq_10
- ) subq_11
+ subq_8.metric_time__day - INTERVAL 14 day = subq_5.metric_time__day
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.metric_time__day
- ) subq_12
- ) subq_13
+ subq_10.metric_time__day
+ ) subq_11
+ ) subq_12
ON
- subq_4.metric_time__day = subq_13.metric_time__day
+ subq_4.metric_time__day = subq_12.metric_time__day
GROUP BY
- COALESCE(subq_4.metric_time__day, subq_13.metric_time__day)
-) subq_14
+ COALESCE(subq_4.metric_time__day, subq_12.metric_time__day)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window__plan0_optimized.sql
index 948f8402e1..bf2e99e844 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window__plan0_optimized.sql
@@ -18,9 +18,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_19.metric_time__day, subq_27.metric_time__day) AS metric_time__day
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_27.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ COALESCE(subq_18.metric_time__day, subq_26.metric_time__day) AS metric_time__day
+ , MAX(subq_18.bookings) AS bookings
+ , MAX(subq_26.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -32,7 +32,7 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__day
- ) subq_19
+ ) subq_18
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -48,9 +48,9 @@ FROM (
time_spine_src_28006.ds - INTERVAL 14 day = sma_28009_cte.metric_time__day
GROUP BY
time_spine_src_28006.ds
- ) subq_27
+ ) subq_26
ON
- subq_19.metric_time__day = subq_27.metric_time__day
+ subq_18.metric_time__day = subq_26.metric_time__day
GROUP BY
- COALESCE(subq_19.metric_time__day, subq_27.metric_time__day)
-) subq_28
+ COALESCE(subq_18.metric_time__day, subq_26.metric_time__day)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_granularity__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_granularity__plan0.sql
index f025a5b0e3..3a694addc8 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_granularity__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_granularity__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__quarter
+ subq_13.metric_time__quarter
, bookings - bookings_2_weeks_ago AS bookings_growth_2_weeks
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__quarter, subq_13.metric_time__quarter) AS metric_time__quarter
+ COALESCE(subq_4.metric_time__quarter, subq_12.metric_time__quarter) AS metric_time__quarter
, MAX(subq_4.bookings) AS bookings
- , MAX(subq_13.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ , MAX(subq_12.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -230,139 +230,139 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__quarter
- , subq_12.bookings AS bookings_2_weeks_ago
+ subq_11.metric_time__quarter
+ , subq_11.bookings AS bookings_2_weeks_ago
FROM (
-- Aggregate Measures
SELECT
- subq_11.metric_time__quarter
- , SUM(subq_11.bookings) AS bookings
+ subq_10.metric_time__quarter
+ , SUM(subq_10.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__quarter']
SELECT
- subq_10.metric_time__quarter
- , subq_10.bookings
+ subq_9.metric_time__quarter
+ , subq_9.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_9.metric_time__day AS metric_time__day
- , subq_9.metric_time__quarter AS metric_time__quarter
- , subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.ds_partitioned__day AS ds_partitioned__day
- , subq_6.ds_partitioned__week AS ds_partitioned__week
- , subq_6.ds_partitioned__month AS ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_6.paid_at__day AS paid_at__day
- , subq_6.paid_at__week AS paid_at__week
- , subq_6.paid_at__month AS paid_at__month
- , subq_6.paid_at__quarter AS paid_at__quarter
- , subq_6.paid_at__year AS paid_at__year
- , subq_6.paid_at__extract_year AS paid_at__extract_year
- , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_6.paid_at__extract_month AS paid_at__extract_month
- , subq_6.paid_at__extract_day AS paid_at__extract_day
- , subq_6.paid_at__extract_dow AS paid_at__extract_dow
- , subq_6.paid_at__extract_doy AS paid_at__extract_doy
- , subq_6.booking__ds__day AS booking__ds__day
- , subq_6.booking__ds__week AS booking__ds__week
- , subq_6.booking__ds__month AS booking__ds__month
- , subq_6.booking__ds__quarter AS booking__ds__quarter
- , subq_6.booking__ds__year AS booking__ds__year
- , subq_6.booking__ds__extract_year AS booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month AS booking__ds__extract_month
- , subq_6.booking__ds__extract_day AS booking__ds__extract_day
- , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day AS booking__paid_at__day
- , subq_6.booking__paid_at__week AS booking__paid_at__week
- , subq_6.booking__paid_at__month AS booking__paid_at__month
- , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_6.booking__paid_at__year AS booking__paid_at__year
- , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_6.metric_time__week AS metric_time__week
- , subq_6.metric_time__month AS metric_time__month
- , subq_6.metric_time__year AS metric_time__year
- , subq_6.metric_time__extract_year AS metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS metric_time__extract_month
- , subq_6.metric_time__extract_day AS metric_time__extract_day
- , subq_6.metric_time__extract_dow AS metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS metric_time__extract_doy
- , subq_6.listing AS listing
- , subq_6.guest AS guest
- , subq_6.host AS host
- , subq_6.booking__listing AS booking__listing
- , subq_6.booking__guest AS booking__guest
- , subq_6.booking__host AS booking__host
- , subq_6.is_instant AS is_instant
- , subq_6.booking__is_instant AS booking__is_instant
- , subq_6.bookings AS bookings
- , subq_6.instant_bookings AS instant_bookings
- , subq_6.booking_value AS booking_value
- , subq_6.max_booking_value AS max_booking_value
- , subq_6.min_booking_value AS min_booking_value
- , subq_6.bookers AS bookers
- , subq_6.average_booking_value AS average_booking_value
- , subq_6.referred_bookings AS referred_bookings
- , subq_6.median_booking_value AS median_booking_value
- , subq_6.booking_value_p99 AS booking_value_p99
- , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_8.metric_time__day AS metric_time__day
+ , subq_8.metric_time__quarter AS metric_time__quarter
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__day AS booking__ds__day
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day', 'metric_time__quarter']
SELECT
- subq_8.metric_time__day
- , subq_8.metric_time__quarter
+ subq_7.metric_time__day
+ , subq_7.metric_time__quarter
FROM (
-- Change Column Aliases
SELECT
- subq_7.ds__day AS metric_time__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter AS metric_time__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds__martian_day
+ subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -379,110 +379,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -575,18 +575,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
ON
- subq_9.metric_time__day - INTERVAL 14 day = subq_6.metric_time__day
- ) subq_10
- ) subq_11
+ subq_8.metric_time__day - INTERVAL 14 day = subq_5.metric_time__day
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.metric_time__quarter
- ) subq_12
- ) subq_13
+ subq_10.metric_time__quarter
+ ) subq_11
+ ) subq_12
ON
- subq_4.metric_time__quarter = subq_13.metric_time__quarter
+ subq_4.metric_time__quarter = subq_12.metric_time__quarter
GROUP BY
- COALESCE(subq_4.metric_time__quarter, subq_13.metric_time__quarter)
-) subq_14
+ COALESCE(subq_4.metric_time__quarter, subq_12.metric_time__quarter)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_granularity__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_granularity__plan0_optimized.sql
index ca94895765..17112224d6 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_granularity__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_granularity__plan0_optimized.sql
@@ -19,9 +19,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_19.metric_time__quarter, subq_27.metric_time__quarter) AS metric_time__quarter
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_27.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ COALESCE(subq_18.metric_time__quarter, subq_26.metric_time__quarter) AS metric_time__quarter
+ , MAX(subq_18.bookings) AS bookings
+ , MAX(subq_26.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'metric_time__quarter']
@@ -33,7 +33,7 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__quarter
- ) subq_19
+ ) subq_18
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__quarter']
@@ -49,9 +49,9 @@ FROM (
time_spine_src_28006.ds - INTERVAL 14 day = sma_28009_cte.metric_time__day
GROUP BY
DATE_TRUNC('quarter', time_spine_src_28006.ds)
- ) subq_27
+ ) subq_26
ON
- subq_19.metric_time__quarter = subq_27.metric_time__quarter
+ subq_18.metric_time__quarter = subq_26.metric_time__quarter
GROUP BY
- COALESCE(subq_19.metric_time__quarter, subq_27.metric_time__quarter)
-) subq_28
+ COALESCE(subq_18.metric_time__quarter, subq_26.metric_time__quarter)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain__plan0.sql
index 814113fda2..236e1fd84a 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.metric_time__day
+ subq_17.metric_time__day
, month_start_bookings - bookings_1_month_ago AS bookings_month_start_compared_to_1_month_prior
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day) AS metric_time__day
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day) AS metric_time__day
, MAX(subq_8.month_start_bookings) AS month_start_bookings
- , MAX(subq_17.bookings_1_month_ago) AS bookings_1_month_ago
+ , MAX(subq_16.bookings_1_month_ago) AS bookings_1_month_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -372,138 +372,138 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__day
- , subq_16.bookings AS bookings_1_month_ago
+ subq_15.metric_time__day
+ , subq_15.bookings AS bookings_1_month_ago
FROM (
-- Aggregate Measures
SELECT
- subq_15.metric_time__day
- , SUM(subq_15.bookings) AS bookings
+ subq_14.metric_time__day
+ , SUM(subq_14.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_14.metric_time__day
- , subq_14.bookings
+ subq_13.metric_time__day
+ , subq_13.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_13.metric_time__day AS metric_time__day
- , subq_10.ds__day AS ds__day
- , subq_10.ds__week AS ds__week
- , subq_10.ds__month AS ds__month
- , subq_10.ds__quarter AS ds__quarter
- , subq_10.ds__year AS ds__year
- , subq_10.ds__extract_year AS ds__extract_year
- , subq_10.ds__extract_quarter AS ds__extract_quarter
- , subq_10.ds__extract_month AS ds__extract_month
- , subq_10.ds__extract_day AS ds__extract_day
- , subq_10.ds__extract_dow AS ds__extract_dow
- , subq_10.ds__extract_doy AS ds__extract_doy
- , subq_10.ds_partitioned__day AS ds_partitioned__day
- , subq_10.ds_partitioned__week AS ds_partitioned__week
- , subq_10.ds_partitioned__month AS ds_partitioned__month
- , subq_10.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_10.ds_partitioned__year AS ds_partitioned__year
- , subq_10.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_10.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_10.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_10.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_10.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_10.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_10.paid_at__day AS paid_at__day
- , subq_10.paid_at__week AS paid_at__week
- , subq_10.paid_at__month AS paid_at__month
- , subq_10.paid_at__quarter AS paid_at__quarter
- , subq_10.paid_at__year AS paid_at__year
- , subq_10.paid_at__extract_year AS paid_at__extract_year
- , subq_10.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_10.paid_at__extract_month AS paid_at__extract_month
- , subq_10.paid_at__extract_day AS paid_at__extract_day
- , subq_10.paid_at__extract_dow AS paid_at__extract_dow
- , subq_10.paid_at__extract_doy AS paid_at__extract_doy
- , subq_10.booking__ds__day AS booking__ds__day
- , subq_10.booking__ds__week AS booking__ds__week
- , subq_10.booking__ds__month AS booking__ds__month
- , subq_10.booking__ds__quarter AS booking__ds__quarter
- , subq_10.booking__ds__year AS booking__ds__year
- , subq_10.booking__ds__extract_year AS booking__ds__extract_year
- , subq_10.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_10.booking__ds__extract_month AS booking__ds__extract_month
- , subq_10.booking__ds__extract_day AS booking__ds__extract_day
- , subq_10.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_10.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_10.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_10.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_10.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_10.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_10.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_10.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_10.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_10.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_10.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_10.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_10.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_10.booking__paid_at__day AS booking__paid_at__day
- , subq_10.booking__paid_at__week AS booking__paid_at__week
- , subq_10.booking__paid_at__month AS booking__paid_at__month
- , subq_10.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_10.booking__paid_at__year AS booking__paid_at__year
- , subq_10.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_10.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_10.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_10.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_10.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_10.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_10.metric_time__week AS metric_time__week
- , subq_10.metric_time__month AS metric_time__month
- , subq_10.metric_time__quarter AS metric_time__quarter
- , subq_10.metric_time__year AS metric_time__year
- , subq_10.metric_time__extract_year AS metric_time__extract_year
- , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_10.metric_time__extract_month AS metric_time__extract_month
- , subq_10.metric_time__extract_day AS metric_time__extract_day
- , subq_10.metric_time__extract_dow AS metric_time__extract_dow
- , subq_10.metric_time__extract_doy AS metric_time__extract_doy
- , subq_10.listing AS listing
- , subq_10.guest AS guest
- , subq_10.host AS host
- , subq_10.booking__listing AS booking__listing
- , subq_10.booking__guest AS booking__guest
- , subq_10.booking__host AS booking__host
- , subq_10.is_instant AS is_instant
- , subq_10.booking__is_instant AS booking__is_instant
- , subq_10.bookings AS bookings
- , subq_10.instant_bookings AS instant_bookings
- , subq_10.booking_value AS booking_value
- , subq_10.max_booking_value AS max_booking_value
- , subq_10.min_booking_value AS min_booking_value
- , subq_10.bookers AS bookers
- , subq_10.average_booking_value AS average_booking_value
- , subq_10.referred_bookings AS referred_bookings
- , subq_10.median_booking_value AS median_booking_value
- , subq_10.booking_value_p99 AS booking_value_p99
- , subq_10.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_10.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_10.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_12.metric_time__day AS metric_time__day
+ , subq_9.ds__day AS ds__day
+ , subq_9.ds__week AS ds__week
+ , subq_9.ds__month AS ds__month
+ , subq_9.ds__quarter AS ds__quarter
+ , subq_9.ds__year AS ds__year
+ , subq_9.ds__extract_year AS ds__extract_year
+ , subq_9.ds__extract_quarter AS ds__extract_quarter
+ , subq_9.ds__extract_month AS ds__extract_month
+ , subq_9.ds__extract_day AS ds__extract_day
+ , subq_9.ds__extract_dow AS ds__extract_dow
+ , subq_9.ds__extract_doy AS ds__extract_doy
+ , subq_9.ds_partitioned__day AS ds_partitioned__day
+ , subq_9.ds_partitioned__week AS ds_partitioned__week
+ , subq_9.ds_partitioned__month AS ds_partitioned__month
+ , subq_9.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_9.ds_partitioned__year AS ds_partitioned__year
+ , subq_9.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_9.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_9.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_9.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_9.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_9.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_9.paid_at__day AS paid_at__day
+ , subq_9.paid_at__week AS paid_at__week
+ , subq_9.paid_at__month AS paid_at__month
+ , subq_9.paid_at__quarter AS paid_at__quarter
+ , subq_9.paid_at__year AS paid_at__year
+ , subq_9.paid_at__extract_year AS paid_at__extract_year
+ , subq_9.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_9.paid_at__extract_month AS paid_at__extract_month
+ , subq_9.paid_at__extract_day AS paid_at__extract_day
+ , subq_9.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_9.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_9.booking__ds__day AS booking__ds__day
+ , subq_9.booking__ds__week AS booking__ds__week
+ , subq_9.booking__ds__month AS booking__ds__month
+ , subq_9.booking__ds__quarter AS booking__ds__quarter
+ , subq_9.booking__ds__year AS booking__ds__year
+ , subq_9.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_9.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_9.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_9.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_9.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_9.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_9.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_9.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_9.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_9.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_9.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_9.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_9.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_9.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_9.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_9.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_9.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_9.booking__paid_at__day AS booking__paid_at__day
+ , subq_9.booking__paid_at__week AS booking__paid_at__week
+ , subq_9.booking__paid_at__month AS booking__paid_at__month
+ , subq_9.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_9.booking__paid_at__year AS booking__paid_at__year
+ , subq_9.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_9.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_9.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_9.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_9.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_9.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_9.metric_time__week AS metric_time__week
+ , subq_9.metric_time__month AS metric_time__month
+ , subq_9.metric_time__quarter AS metric_time__quarter
+ , subq_9.metric_time__year AS metric_time__year
+ , subq_9.metric_time__extract_year AS metric_time__extract_year
+ , subq_9.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_9.metric_time__extract_month AS metric_time__extract_month
+ , subq_9.metric_time__extract_day AS metric_time__extract_day
+ , subq_9.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_9.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_9.listing AS listing
+ , subq_9.guest AS guest
+ , subq_9.host AS host
+ , subq_9.booking__listing AS booking__listing
+ , subq_9.booking__guest AS booking__guest
+ , subq_9.booking__host AS booking__host
+ , subq_9.is_instant AS is_instant
+ , subq_9.booking__is_instant AS booking__is_instant
+ , subq_9.bookings AS bookings
+ , subq_9.instant_bookings AS instant_bookings
+ , subq_9.booking_value AS booking_value
+ , subq_9.max_booking_value AS max_booking_value
+ , subq_9.min_booking_value AS min_booking_value
+ , subq_9.bookers AS bookers
+ , subq_9.average_booking_value AS average_booking_value
+ , subq_9.referred_bookings AS referred_bookings
+ , subq_9.median_booking_value AS median_booking_value
+ , subq_9.booking_value_p99 AS booking_value_p99
+ , subq_9.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_9.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_9.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_12.metric_time__day
+ subq_11.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_11.ds__day AS metric_time__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds__martian_day
+ subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -520,110 +520,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_10
+ ) subq_11
+ ) subq_12
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_partitioned__day
- , subq_9.ds_partitioned__week
- , subq_9.ds_partitioned__month
- , subq_9.ds_partitioned__quarter
- , subq_9.ds_partitioned__year
- , subq_9.ds_partitioned__extract_year
- , subq_9.ds_partitioned__extract_quarter
- , subq_9.ds_partitioned__extract_month
- , subq_9.ds_partitioned__extract_day
- , subq_9.ds_partitioned__extract_dow
- , subq_9.ds_partitioned__extract_doy
- , subq_9.paid_at__day
- , subq_9.paid_at__week
- , subq_9.paid_at__month
- , subq_9.paid_at__quarter
- , subq_9.paid_at__year
- , subq_9.paid_at__extract_year
- , subq_9.paid_at__extract_quarter
- , subq_9.paid_at__extract_month
- , subq_9.paid_at__extract_day
- , subq_9.paid_at__extract_dow
- , subq_9.paid_at__extract_doy
- , subq_9.booking__ds__day
- , subq_9.booking__ds__week
- , subq_9.booking__ds__month
- , subq_9.booking__ds__quarter
- , subq_9.booking__ds__year
- , subq_9.booking__ds__extract_year
- , subq_9.booking__ds__extract_quarter
- , subq_9.booking__ds__extract_month
- , subq_9.booking__ds__extract_day
- , subq_9.booking__ds__extract_dow
- , subq_9.booking__ds__extract_doy
- , subq_9.booking__ds_partitioned__day
- , subq_9.booking__ds_partitioned__week
- , subq_9.booking__ds_partitioned__month
- , subq_9.booking__ds_partitioned__quarter
- , subq_9.booking__ds_partitioned__year
- , subq_9.booking__ds_partitioned__extract_year
- , subq_9.booking__ds_partitioned__extract_quarter
- , subq_9.booking__ds_partitioned__extract_month
- , subq_9.booking__ds_partitioned__extract_day
- , subq_9.booking__ds_partitioned__extract_dow
- , subq_9.booking__ds_partitioned__extract_doy
- , subq_9.booking__paid_at__day
- , subq_9.booking__paid_at__week
- , subq_9.booking__paid_at__month
- , subq_9.booking__paid_at__quarter
- , subq_9.booking__paid_at__year
- , subq_9.booking__paid_at__extract_year
- , subq_9.booking__paid_at__extract_quarter
- , subq_9.booking__paid_at__extract_month
- , subq_9.booking__paid_at__extract_day
- , subq_9.booking__paid_at__extract_dow
- , subq_9.booking__paid_at__extract_doy
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.listing
- , subq_9.guest
- , subq_9.host
- , subq_9.booking__listing
- , subq_9.booking__guest
- , subq_9.booking__host
- , subq_9.is_instant
- , subq_9.booking__is_instant
- , subq_9.bookings
- , subq_9.instant_bookings
- , subq_9.booking_value
- , subq_9.max_booking_value
- , subq_9.min_booking_value
- , subq_9.bookers
- , subq_9.average_booking_value
- , subq_9.referred_bookings
- , subq_9.median_booking_value
- , subq_9.booking_value_p99
- , subq_9.discrete_booking_value_p99
- , subq_9.approximate_continuous_booking_value_p99
- , subq_9.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -716,18 +716,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_9
- ) subq_10
+ ) subq_0
+ ) subq_9
ON
- subq_13.metric_time__day - INTERVAL 1 month = subq_10.metric_time__day
- ) subq_14
- ) subq_15
+ subq_12.metric_time__day - INTERVAL 1 month = subq_9.metric_time__day
+ ) subq_13
+ ) subq_14
GROUP BY
- subq_15.metric_time__day
- ) subq_16
- ) subq_17
+ subq_14.metric_time__day
+ ) subq_15
+ ) subq_16
ON
- subq_8.metric_time__day = subq_17.metric_time__day
+ subq_8.metric_time__day = subq_16.metric_time__day
GROUP BY
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day)
-) subq_18
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day)
+) subq_17
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain__plan0_optimized.sql
index d1ff51240e..495cdb5d95 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain__plan0_optimized.sql
@@ -25,9 +25,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_27.metric_time__day, subq_35.metric_time__day) AS metric_time__day
- , MAX(subq_27.month_start_bookings) AS month_start_bookings
- , MAX(subq_35.bookings_1_month_ago) AS bookings_1_month_ago
+ COALESCE(subq_26.metric_time__day, subq_34.metric_time__day) AS metric_time__day
+ , MAX(subq_26.month_start_bookings) AS month_start_bookings
+ , MAX(subq_34.bookings_1_month_ago) AS bookings_1_month_ago
FROM (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -43,7 +43,7 @@ FROM (
DATE_TRUNC('month', rss_28018_cte.ds__day) = sma_28009_cte.metric_time__day
GROUP BY
rss_28018_cte.ds__day
- ) subq_27
+ ) subq_26
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -59,9 +59,9 @@ FROM (
rss_28018_cte.ds__day - INTERVAL 1 month = sma_28009_cte.metric_time__day
GROUP BY
rss_28018_cte.ds__day
- ) subq_35
+ ) subq_34
ON
- subq_27.metric_time__day = subq_35.metric_time__day
+ subq_26.metric_time__day = subq_34.metric_time__day
GROUP BY
- COALESCE(subq_27.metric_time__day, subq_35.metric_time__day)
-) subq_36
+ COALESCE(subq_26.metric_time__day, subq_34.metric_time__day)
+) subq_35
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain_and_granularity__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain_and_granularity__plan0.sql
index 44a022f1fb..8a65dc2aac 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain_and_granularity__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain_and_granularity__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.metric_time__year
+ subq_17.metric_time__year
, month_start_bookings - bookings_1_month_ago AS bookings_month_start_compared_to_1_month_prior
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_8.metric_time__year, subq_17.metric_time__year) AS metric_time__year
+ COALESCE(subq_8.metric_time__year, subq_16.metric_time__year) AS metric_time__year
, MAX(subq_8.month_start_bookings) AS month_start_bookings
- , MAX(subq_17.bookings_1_month_ago) AS bookings_1_month_ago
+ , MAX(subq_16.bookings_1_month_ago) AS bookings_1_month_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -374,139 +374,139 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__year
- , subq_16.bookings AS bookings_1_month_ago
+ subq_15.metric_time__year
+ , subq_15.bookings AS bookings_1_month_ago
FROM (
-- Aggregate Measures
SELECT
- subq_15.metric_time__year
- , SUM(subq_15.bookings) AS bookings
+ subq_14.metric_time__year
+ , SUM(subq_14.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__year']
SELECT
- subq_14.metric_time__year
- , subq_14.bookings
+ subq_13.metric_time__year
+ , subq_13.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_13.metric_time__day AS metric_time__day
- , subq_13.metric_time__year AS metric_time__year
- , subq_10.ds__day AS ds__day
- , subq_10.ds__week AS ds__week
- , subq_10.ds__month AS ds__month
- , subq_10.ds__quarter AS ds__quarter
- , subq_10.ds__year AS ds__year
- , subq_10.ds__extract_year AS ds__extract_year
- , subq_10.ds__extract_quarter AS ds__extract_quarter
- , subq_10.ds__extract_month AS ds__extract_month
- , subq_10.ds__extract_day AS ds__extract_day
- , subq_10.ds__extract_dow AS ds__extract_dow
- , subq_10.ds__extract_doy AS ds__extract_doy
- , subq_10.ds_partitioned__day AS ds_partitioned__day
- , subq_10.ds_partitioned__week AS ds_partitioned__week
- , subq_10.ds_partitioned__month AS ds_partitioned__month
- , subq_10.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_10.ds_partitioned__year AS ds_partitioned__year
- , subq_10.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_10.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_10.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_10.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_10.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_10.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_10.paid_at__day AS paid_at__day
- , subq_10.paid_at__week AS paid_at__week
- , subq_10.paid_at__month AS paid_at__month
- , subq_10.paid_at__quarter AS paid_at__quarter
- , subq_10.paid_at__year AS paid_at__year
- , subq_10.paid_at__extract_year AS paid_at__extract_year
- , subq_10.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_10.paid_at__extract_month AS paid_at__extract_month
- , subq_10.paid_at__extract_day AS paid_at__extract_day
- , subq_10.paid_at__extract_dow AS paid_at__extract_dow
- , subq_10.paid_at__extract_doy AS paid_at__extract_doy
- , subq_10.booking__ds__day AS booking__ds__day
- , subq_10.booking__ds__week AS booking__ds__week
- , subq_10.booking__ds__month AS booking__ds__month
- , subq_10.booking__ds__quarter AS booking__ds__quarter
- , subq_10.booking__ds__year AS booking__ds__year
- , subq_10.booking__ds__extract_year AS booking__ds__extract_year
- , subq_10.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_10.booking__ds__extract_month AS booking__ds__extract_month
- , subq_10.booking__ds__extract_day AS booking__ds__extract_day
- , subq_10.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_10.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_10.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_10.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_10.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_10.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_10.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_10.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_10.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_10.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_10.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_10.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_10.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_10.booking__paid_at__day AS booking__paid_at__day
- , subq_10.booking__paid_at__week AS booking__paid_at__week
- , subq_10.booking__paid_at__month AS booking__paid_at__month
- , subq_10.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_10.booking__paid_at__year AS booking__paid_at__year
- , subq_10.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_10.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_10.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_10.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_10.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_10.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_10.metric_time__week AS metric_time__week
- , subq_10.metric_time__month AS metric_time__month
- , subq_10.metric_time__quarter AS metric_time__quarter
- , subq_10.metric_time__extract_year AS metric_time__extract_year
- , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_10.metric_time__extract_month AS metric_time__extract_month
- , subq_10.metric_time__extract_day AS metric_time__extract_day
- , subq_10.metric_time__extract_dow AS metric_time__extract_dow
- , subq_10.metric_time__extract_doy AS metric_time__extract_doy
- , subq_10.listing AS listing
- , subq_10.guest AS guest
- , subq_10.host AS host
- , subq_10.booking__listing AS booking__listing
- , subq_10.booking__guest AS booking__guest
- , subq_10.booking__host AS booking__host
- , subq_10.is_instant AS is_instant
- , subq_10.booking__is_instant AS booking__is_instant
- , subq_10.bookings AS bookings
- , subq_10.instant_bookings AS instant_bookings
- , subq_10.booking_value AS booking_value
- , subq_10.max_booking_value AS max_booking_value
- , subq_10.min_booking_value AS min_booking_value
- , subq_10.bookers AS bookers
- , subq_10.average_booking_value AS average_booking_value
- , subq_10.referred_bookings AS referred_bookings
- , subq_10.median_booking_value AS median_booking_value
- , subq_10.booking_value_p99 AS booking_value_p99
- , subq_10.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_10.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_10.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_12.metric_time__day AS metric_time__day
+ , subq_12.metric_time__year AS metric_time__year
+ , subq_9.ds__day AS ds__day
+ , subq_9.ds__week AS ds__week
+ , subq_9.ds__month AS ds__month
+ , subq_9.ds__quarter AS ds__quarter
+ , subq_9.ds__year AS ds__year
+ , subq_9.ds__extract_year AS ds__extract_year
+ , subq_9.ds__extract_quarter AS ds__extract_quarter
+ , subq_9.ds__extract_month AS ds__extract_month
+ , subq_9.ds__extract_day AS ds__extract_day
+ , subq_9.ds__extract_dow AS ds__extract_dow
+ , subq_9.ds__extract_doy AS ds__extract_doy
+ , subq_9.ds_partitioned__day AS ds_partitioned__day
+ , subq_9.ds_partitioned__week AS ds_partitioned__week
+ , subq_9.ds_partitioned__month AS ds_partitioned__month
+ , subq_9.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_9.ds_partitioned__year AS ds_partitioned__year
+ , subq_9.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_9.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_9.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_9.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_9.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_9.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_9.paid_at__day AS paid_at__day
+ , subq_9.paid_at__week AS paid_at__week
+ , subq_9.paid_at__month AS paid_at__month
+ , subq_9.paid_at__quarter AS paid_at__quarter
+ , subq_9.paid_at__year AS paid_at__year
+ , subq_9.paid_at__extract_year AS paid_at__extract_year
+ , subq_9.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_9.paid_at__extract_month AS paid_at__extract_month
+ , subq_9.paid_at__extract_day AS paid_at__extract_day
+ , subq_9.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_9.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_9.booking__ds__day AS booking__ds__day
+ , subq_9.booking__ds__week AS booking__ds__week
+ , subq_9.booking__ds__month AS booking__ds__month
+ , subq_9.booking__ds__quarter AS booking__ds__quarter
+ , subq_9.booking__ds__year AS booking__ds__year
+ , subq_9.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_9.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_9.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_9.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_9.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_9.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_9.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_9.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_9.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_9.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_9.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_9.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_9.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_9.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_9.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_9.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_9.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_9.booking__paid_at__day AS booking__paid_at__day
+ , subq_9.booking__paid_at__week AS booking__paid_at__week
+ , subq_9.booking__paid_at__month AS booking__paid_at__month
+ , subq_9.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_9.booking__paid_at__year AS booking__paid_at__year
+ , subq_9.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_9.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_9.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_9.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_9.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_9.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_9.metric_time__week AS metric_time__week
+ , subq_9.metric_time__month AS metric_time__month
+ , subq_9.metric_time__quarter AS metric_time__quarter
+ , subq_9.metric_time__extract_year AS metric_time__extract_year
+ , subq_9.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_9.metric_time__extract_month AS metric_time__extract_month
+ , subq_9.metric_time__extract_day AS metric_time__extract_day
+ , subq_9.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_9.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_9.listing AS listing
+ , subq_9.guest AS guest
+ , subq_9.host AS host
+ , subq_9.booking__listing AS booking__listing
+ , subq_9.booking__guest AS booking__guest
+ , subq_9.booking__host AS booking__host
+ , subq_9.is_instant AS is_instant
+ , subq_9.booking__is_instant AS booking__is_instant
+ , subq_9.bookings AS bookings
+ , subq_9.instant_bookings AS instant_bookings
+ , subq_9.booking_value AS booking_value
+ , subq_9.max_booking_value AS max_booking_value
+ , subq_9.min_booking_value AS min_booking_value
+ , subq_9.bookers AS bookers
+ , subq_9.average_booking_value AS average_booking_value
+ , subq_9.referred_bookings AS referred_bookings
+ , subq_9.median_booking_value AS median_booking_value
+ , subq_9.booking_value_p99 AS booking_value_p99
+ , subq_9.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_9.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_9.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day', 'metric_time__year']
SELECT
- subq_12.metric_time__day
- , subq_12.metric_time__year
+ subq_11.metric_time__day
+ , subq_11.metric_time__year
FROM (
-- Change Column Aliases
SELECT
- subq_11.ds__day AS metric_time__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year AS metric_time__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds__martian_day
+ subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year AS metric_time__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -523,110 +523,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_10
+ ) subq_11
+ ) subq_12
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_partitioned__day
- , subq_9.ds_partitioned__week
- , subq_9.ds_partitioned__month
- , subq_9.ds_partitioned__quarter
- , subq_9.ds_partitioned__year
- , subq_9.ds_partitioned__extract_year
- , subq_9.ds_partitioned__extract_quarter
- , subq_9.ds_partitioned__extract_month
- , subq_9.ds_partitioned__extract_day
- , subq_9.ds_partitioned__extract_dow
- , subq_9.ds_partitioned__extract_doy
- , subq_9.paid_at__day
- , subq_9.paid_at__week
- , subq_9.paid_at__month
- , subq_9.paid_at__quarter
- , subq_9.paid_at__year
- , subq_9.paid_at__extract_year
- , subq_9.paid_at__extract_quarter
- , subq_9.paid_at__extract_month
- , subq_9.paid_at__extract_day
- , subq_9.paid_at__extract_dow
- , subq_9.paid_at__extract_doy
- , subq_9.booking__ds__day
- , subq_9.booking__ds__week
- , subq_9.booking__ds__month
- , subq_9.booking__ds__quarter
- , subq_9.booking__ds__year
- , subq_9.booking__ds__extract_year
- , subq_9.booking__ds__extract_quarter
- , subq_9.booking__ds__extract_month
- , subq_9.booking__ds__extract_day
- , subq_9.booking__ds__extract_dow
- , subq_9.booking__ds__extract_doy
- , subq_9.booking__ds_partitioned__day
- , subq_9.booking__ds_partitioned__week
- , subq_9.booking__ds_partitioned__month
- , subq_9.booking__ds_partitioned__quarter
- , subq_9.booking__ds_partitioned__year
- , subq_9.booking__ds_partitioned__extract_year
- , subq_9.booking__ds_partitioned__extract_quarter
- , subq_9.booking__ds_partitioned__extract_month
- , subq_9.booking__ds_partitioned__extract_day
- , subq_9.booking__ds_partitioned__extract_dow
- , subq_9.booking__ds_partitioned__extract_doy
- , subq_9.booking__paid_at__day
- , subq_9.booking__paid_at__week
- , subq_9.booking__paid_at__month
- , subq_9.booking__paid_at__quarter
- , subq_9.booking__paid_at__year
- , subq_9.booking__paid_at__extract_year
- , subq_9.booking__paid_at__extract_quarter
- , subq_9.booking__paid_at__extract_month
- , subq_9.booking__paid_at__extract_day
- , subq_9.booking__paid_at__extract_dow
- , subq_9.booking__paid_at__extract_doy
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.listing
- , subq_9.guest
- , subq_9.host
- , subq_9.booking__listing
- , subq_9.booking__guest
- , subq_9.booking__host
- , subq_9.is_instant
- , subq_9.booking__is_instant
- , subq_9.bookings
- , subq_9.instant_bookings
- , subq_9.booking_value
- , subq_9.max_booking_value
- , subq_9.min_booking_value
- , subq_9.bookers
- , subq_9.average_booking_value
- , subq_9.referred_bookings
- , subq_9.median_booking_value
- , subq_9.booking_value_p99
- , subq_9.discrete_booking_value_p99
- , subq_9.approximate_continuous_booking_value_p99
- , subq_9.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -719,18 +719,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_9
- ) subq_10
+ ) subq_0
+ ) subq_9
ON
- subq_13.metric_time__day - INTERVAL 1 month = subq_10.metric_time__day
- ) subq_14
- ) subq_15
+ subq_12.metric_time__day - INTERVAL 1 month = subq_9.metric_time__day
+ ) subq_13
+ ) subq_14
GROUP BY
- subq_15.metric_time__year
- ) subq_16
- ) subq_17
+ subq_14.metric_time__year
+ ) subq_15
+ ) subq_16
ON
- subq_8.metric_time__year = subq_17.metric_time__year
+ subq_8.metric_time__year = subq_16.metric_time__year
GROUP BY
- COALESCE(subq_8.metric_time__year, subq_17.metric_time__year)
-) subq_18
+ COALESCE(subq_8.metric_time__year, subq_16.metric_time__year)
+) subq_17
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain_and_granularity__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain_and_granularity__plan0_optimized.sql
index 5e12f42132..fdd652f226 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain_and_granularity__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_offset_to_grain_and_granularity__plan0_optimized.sql
@@ -26,9 +26,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_27.metric_time__year, subq_35.metric_time__year) AS metric_time__year
- , MAX(subq_27.month_start_bookings) AS month_start_bookings
- , MAX(subq_35.bookings_1_month_ago) AS bookings_1_month_ago
+ COALESCE(subq_26.metric_time__year, subq_34.metric_time__year) AS metric_time__year
+ , MAX(subq_26.month_start_bookings) AS month_start_bookings
+ , MAX(subq_34.bookings_1_month_ago) AS bookings_1_month_ago
FROM (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__year']
@@ -45,7 +45,7 @@ FROM (
WHERE rss_28018_cte.ds__year = rss_28018_cte.ds__day
GROUP BY
rss_28018_cte.ds__year
- ) subq_27
+ ) subq_26
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__year']
@@ -61,9 +61,9 @@ FROM (
rss_28018_cte.ds__day - INTERVAL 1 month = sma_28009_cte.metric_time__day
GROUP BY
rss_28018_cte.ds__year
- ) subq_35
+ ) subq_34
ON
- subq_27.metric_time__year = subq_35.metric_time__year
+ subq_26.metric_time__year = subq_34.metric_time__year
GROUP BY
- COALESCE(subq_27.metric_time__year, subq_35.metric_time__year)
-) subq_36
+ COALESCE(subq_26.metric_time__year, subq_34.metric_time__year)
+) subq_35
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_time_filter__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_time_filter__plan0.sql
index 35b6aaf04b..b988daab42 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_time_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_time_filter__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__day
+ subq_15.metric_time__day
, bookings - bookings_2_weeks_ago AS bookings_growth_2_weeks
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.metric_time__day, subq_15.metric_time__day) AS metric_time__day
+ COALESCE(subq_5.metric_time__day, subq_14.metric_time__day) AS metric_time__day
, MAX(subq_5.bookings) AS bookings
- , MAX(subq_15.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ , MAX(subq_14.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -333,239 +333,239 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__day
- , subq_14.bookings AS bookings_2_weeks_ago
+ subq_13.metric_time__day
+ , subq_13.bookings AS bookings_2_weeks_ago
FROM (
-- Aggregate Measures
SELECT
- subq_13.metric_time__day
- , SUM(subq_13.bookings) AS bookings
+ subq_12.metric_time__day
+ , SUM(subq_12.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_12.metric_time__day
- , subq_12.bookings
+ subq_11.metric_time__day
+ , subq_11.bookings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_11.ds__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds_partitioned__day
- , subq_11.ds_partitioned__week
- , subq_11.ds_partitioned__month
- , subq_11.ds_partitioned__quarter
- , subq_11.ds_partitioned__year
- , subq_11.ds_partitioned__extract_year
- , subq_11.ds_partitioned__extract_quarter
- , subq_11.ds_partitioned__extract_month
- , subq_11.ds_partitioned__extract_day
- , subq_11.ds_partitioned__extract_dow
- , subq_11.ds_partitioned__extract_doy
- , subq_11.paid_at__day
- , subq_11.paid_at__week
- , subq_11.paid_at__month
- , subq_11.paid_at__quarter
- , subq_11.paid_at__year
- , subq_11.paid_at__extract_year
- , subq_11.paid_at__extract_quarter
- , subq_11.paid_at__extract_month
- , subq_11.paid_at__extract_day
- , subq_11.paid_at__extract_dow
- , subq_11.paid_at__extract_doy
- , subq_11.booking__ds__day
- , subq_11.booking__ds__week
- , subq_11.booking__ds__month
- , subq_11.booking__ds__quarter
- , subq_11.booking__ds__year
- , subq_11.booking__ds__extract_year
- , subq_11.booking__ds__extract_quarter
- , subq_11.booking__ds__extract_month
- , subq_11.booking__ds__extract_day
- , subq_11.booking__ds__extract_dow
- , subq_11.booking__ds__extract_doy
- , subq_11.booking__ds_partitioned__day
- , subq_11.booking__ds_partitioned__week
- , subq_11.booking__ds_partitioned__month
- , subq_11.booking__ds_partitioned__quarter
- , subq_11.booking__ds_partitioned__year
- , subq_11.booking__ds_partitioned__extract_year
- , subq_11.booking__ds_partitioned__extract_quarter
- , subq_11.booking__ds_partitioned__extract_month
- , subq_11.booking__ds_partitioned__extract_day
- , subq_11.booking__ds_partitioned__extract_dow
- , subq_11.booking__ds_partitioned__extract_doy
- , subq_11.booking__paid_at__day
- , subq_11.booking__paid_at__week
- , subq_11.booking__paid_at__month
- , subq_11.booking__paid_at__quarter
- , subq_11.booking__paid_at__year
- , subq_11.booking__paid_at__extract_year
- , subq_11.booking__paid_at__extract_quarter
- , subq_11.booking__paid_at__extract_month
- , subq_11.booking__paid_at__extract_day
- , subq_11.booking__paid_at__extract_dow
- , subq_11.booking__paid_at__extract_doy
- , subq_11.metric_time__week
- , subq_11.metric_time__month
- , subq_11.metric_time__quarter
- , subq_11.metric_time__year
- , subq_11.metric_time__extract_year
- , subq_11.metric_time__extract_quarter
- , subq_11.metric_time__extract_month
- , subq_11.metric_time__extract_day
- , subq_11.metric_time__extract_dow
- , subq_11.metric_time__extract_doy
- , subq_11.metric_time__day
- , subq_11.listing
- , subq_11.guest
- , subq_11.host
- , subq_11.booking__listing
- , subq_11.booking__guest
- , subq_11.booking__host
- , subq_11.is_instant
- , subq_11.booking__is_instant
- , subq_11.bookings
- , subq_11.instant_bookings
- , subq_11.booking_value
- , subq_11.max_booking_value
- , subq_11.min_booking_value
- , subq_11.bookers
- , subq_11.average_booking_value
- , subq_11.referred_bookings
- , subq_11.median_booking_value
- , subq_11.booking_value_p99
- , subq_11.discrete_booking_value_p99
- , subq_11.approximate_continuous_booking_value_p99
- , subq_11.approximate_discrete_booking_value_p99
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_partitioned__day
+ , subq_10.ds_partitioned__week
+ , subq_10.ds_partitioned__month
+ , subq_10.ds_partitioned__quarter
+ , subq_10.ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy
+ , subq_10.paid_at__day
+ , subq_10.paid_at__week
+ , subq_10.paid_at__month
+ , subq_10.paid_at__quarter
+ , subq_10.paid_at__year
+ , subq_10.paid_at__extract_year
+ , subq_10.paid_at__extract_quarter
+ , subq_10.paid_at__extract_month
+ , subq_10.paid_at__extract_day
+ , subq_10.paid_at__extract_dow
+ , subq_10.paid_at__extract_doy
+ , subq_10.booking__ds__day
+ , subq_10.booking__ds__week
+ , subq_10.booking__ds__month
+ , subq_10.booking__ds__quarter
+ , subq_10.booking__ds__year
+ , subq_10.booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month
+ , subq_10.booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day
+ , subq_10.booking__paid_at__week
+ , subq_10.booking__paid_at__month
+ , subq_10.booking__paid_at__quarter
+ , subq_10.booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy
+ , subq_10.metric_time__week
+ , subq_10.metric_time__month
+ , subq_10.metric_time__quarter
+ , subq_10.metric_time__year
+ , subq_10.metric_time__extract_year
+ , subq_10.metric_time__extract_quarter
+ , subq_10.metric_time__extract_month
+ , subq_10.metric_time__extract_day
+ , subq_10.metric_time__extract_dow
+ , subq_10.metric_time__extract_doy
+ , subq_10.metric_time__day
+ , subq_10.listing
+ , subq_10.guest
+ , subq_10.host
+ , subq_10.booking__listing
+ , subq_10.booking__guest
+ , subq_10.booking__host
+ , subq_10.is_instant
+ , subq_10.booking__is_instant
+ , subq_10.bookings
+ , subq_10.instant_bookings
+ , subq_10.booking_value
+ , subq_10.max_booking_value
+ , subq_10.min_booking_value
+ , subq_10.bookers
+ , subq_10.average_booking_value
+ , subq_10.referred_bookings
+ , subq_10.median_booking_value
+ , subq_10.booking_value_p99
+ , subq_10.discrete_booking_value_p99
+ , subq_10.approximate_continuous_booking_value_p99
+ , subq_10.approximate_discrete_booking_value_p99
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_10.metric_time__day AS metric_time__day
- , subq_7.ds__day AS ds__day
- , subq_7.ds__week AS ds__week
- , subq_7.ds__month AS ds__month
- , subq_7.ds__quarter AS ds__quarter
- , subq_7.ds__year AS ds__year
- , subq_7.ds__extract_year AS ds__extract_year
- , subq_7.ds__extract_quarter AS ds__extract_quarter
- , subq_7.ds__extract_month AS ds__extract_month
- , subq_7.ds__extract_day AS ds__extract_day
- , subq_7.ds__extract_dow AS ds__extract_dow
- , subq_7.ds__extract_doy AS ds__extract_doy
- , subq_7.ds_partitioned__day AS ds_partitioned__day
- , subq_7.ds_partitioned__week AS ds_partitioned__week
- , subq_7.ds_partitioned__month AS ds_partitioned__month
- , subq_7.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_7.ds_partitioned__year AS ds_partitioned__year
- , subq_7.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_7.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_7.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_7.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_7.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_7.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_7.paid_at__day AS paid_at__day
- , subq_7.paid_at__week AS paid_at__week
- , subq_7.paid_at__month AS paid_at__month
- , subq_7.paid_at__quarter AS paid_at__quarter
- , subq_7.paid_at__year AS paid_at__year
- , subq_7.paid_at__extract_year AS paid_at__extract_year
- , subq_7.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_7.paid_at__extract_month AS paid_at__extract_month
- , subq_7.paid_at__extract_day AS paid_at__extract_day
- , subq_7.paid_at__extract_dow AS paid_at__extract_dow
- , subq_7.paid_at__extract_doy AS paid_at__extract_doy
- , subq_7.booking__ds__day AS booking__ds__day
- , subq_7.booking__ds__week AS booking__ds__week
- , subq_7.booking__ds__month AS booking__ds__month
- , subq_7.booking__ds__quarter AS booking__ds__quarter
- , subq_7.booking__ds__year AS booking__ds__year
- , subq_7.booking__ds__extract_year AS booking__ds__extract_year
- , subq_7.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_7.booking__ds__extract_month AS booking__ds__extract_month
- , subq_7.booking__ds__extract_day AS booking__ds__extract_day
- , subq_7.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_7.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_7.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_7.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_7.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_7.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_7.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_7.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_7.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_7.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_7.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_7.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_7.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_7.booking__paid_at__day AS booking__paid_at__day
- , subq_7.booking__paid_at__week AS booking__paid_at__week
- , subq_7.booking__paid_at__month AS booking__paid_at__month
- , subq_7.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_7.booking__paid_at__year AS booking__paid_at__year
- , subq_7.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_7.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_7.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_7.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_7.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_7.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_7.metric_time__week AS metric_time__week
- , subq_7.metric_time__month AS metric_time__month
- , subq_7.metric_time__quarter AS metric_time__quarter
- , subq_7.metric_time__year AS metric_time__year
- , subq_7.metric_time__extract_year AS metric_time__extract_year
- , subq_7.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_7.metric_time__extract_month AS metric_time__extract_month
- , subq_7.metric_time__extract_day AS metric_time__extract_day
- , subq_7.metric_time__extract_dow AS metric_time__extract_dow
- , subq_7.metric_time__extract_doy AS metric_time__extract_doy
- , subq_7.listing AS listing
- , subq_7.guest AS guest
- , subq_7.host AS host
- , subq_7.booking__listing AS booking__listing
- , subq_7.booking__guest AS booking__guest
- , subq_7.booking__host AS booking__host
- , subq_7.is_instant AS is_instant
- , subq_7.booking__is_instant AS booking__is_instant
- , subq_7.bookings AS bookings
- , subq_7.instant_bookings AS instant_bookings
- , subq_7.booking_value AS booking_value
- , subq_7.max_booking_value AS max_booking_value
- , subq_7.min_booking_value AS min_booking_value
- , subq_7.bookers AS bookers
- , subq_7.average_booking_value AS average_booking_value
- , subq_7.referred_bookings AS referred_bookings
- , subq_7.median_booking_value AS median_booking_value
- , subq_7.booking_value_p99 AS booking_value_p99
- , subq_7.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_7.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_7.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_9.metric_time__day AS metric_time__day
+ , subq_6.ds__day AS ds__day
+ , subq_6.ds__week AS ds__week
+ , subq_6.ds__month AS ds__month
+ , subq_6.ds__quarter AS ds__quarter
+ , subq_6.ds__year AS ds__year
+ , subq_6.ds__extract_year AS ds__extract_year
+ , subq_6.ds__extract_quarter AS ds__extract_quarter
+ , subq_6.ds__extract_month AS ds__extract_month
+ , subq_6.ds__extract_day AS ds__extract_day
+ , subq_6.ds__extract_dow AS ds__extract_dow
+ , subq_6.ds__extract_doy AS ds__extract_doy
+ , subq_6.ds_partitioned__day AS ds_partitioned__day
+ , subq_6.ds_partitioned__week AS ds_partitioned__week
+ , subq_6.ds_partitioned__month AS ds_partitioned__month
+ , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_6.ds_partitioned__year AS ds_partitioned__year
+ , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_6.paid_at__day AS paid_at__day
+ , subq_6.paid_at__week AS paid_at__week
+ , subq_6.paid_at__month AS paid_at__month
+ , subq_6.paid_at__quarter AS paid_at__quarter
+ , subq_6.paid_at__year AS paid_at__year
+ , subq_6.paid_at__extract_year AS paid_at__extract_year
+ , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_6.paid_at__extract_month AS paid_at__extract_month
+ , subq_6.paid_at__extract_day AS paid_at__extract_day
+ , subq_6.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_6.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_6.booking__ds__day AS booking__ds__day
+ , subq_6.booking__ds__week AS booking__ds__week
+ , subq_6.booking__ds__month AS booking__ds__month
+ , subq_6.booking__ds__quarter AS booking__ds__quarter
+ , subq_6.booking__ds__year AS booking__ds__year
+ , subq_6.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_6.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_6.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_6.booking__paid_at__day AS booking__paid_at__day
+ , subq_6.booking__paid_at__week AS booking__paid_at__week
+ , subq_6.booking__paid_at__month AS booking__paid_at__month
+ , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_6.booking__paid_at__year AS booking__paid_at__year
+ , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_6.metric_time__week AS metric_time__week
+ , subq_6.metric_time__month AS metric_time__month
+ , subq_6.metric_time__quarter AS metric_time__quarter
+ , subq_6.metric_time__year AS metric_time__year
+ , subq_6.metric_time__extract_year AS metric_time__extract_year
+ , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_6.metric_time__extract_month AS metric_time__extract_month
+ , subq_6.metric_time__extract_day AS metric_time__extract_day
+ , subq_6.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_6.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_6.listing AS listing
+ , subq_6.guest AS guest
+ , subq_6.host AS host
+ , subq_6.booking__listing AS booking__listing
+ , subq_6.booking__guest AS booking__guest
+ , subq_6.booking__host AS booking__host
+ , subq_6.is_instant AS is_instant
+ , subq_6.booking__is_instant AS booking__is_instant
+ , subq_6.bookings AS bookings
+ , subq_6.instant_bookings AS instant_bookings
+ , subq_6.booking_value AS booking_value
+ , subq_6.max_booking_value AS max_booking_value
+ , subq_6.min_booking_value AS min_booking_value
+ , subq_6.bookers AS bookers
+ , subq_6.average_booking_value AS average_booking_value
+ , subq_6.referred_bookings AS referred_bookings
+ , subq_6.median_booking_value AS median_booking_value
+ , subq_6.booking_value_p99 AS booking_value_p99
+ , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_9.metric_time__day
+ subq_8.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_8.ds__day AS metric_time__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds__martian_day
+ subq_7.ds__day AS metric_time__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -582,110 +582,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_8
- ) subq_9
- ) subq_10
+ ) subq_7
+ ) subq_8
+ ) subq_9
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.ds_partitioned__day
- , subq_6.ds_partitioned__week
- , subq_6.ds_partitioned__month
- , subq_6.ds_partitioned__quarter
- , subq_6.ds_partitioned__year
- , subq_6.ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy
- , subq_6.paid_at__day
- , subq_6.paid_at__week
- , subq_6.paid_at__month
- , subq_6.paid_at__quarter
- , subq_6.paid_at__year
- , subq_6.paid_at__extract_year
- , subq_6.paid_at__extract_quarter
- , subq_6.paid_at__extract_month
- , subq_6.paid_at__extract_day
- , subq_6.paid_at__extract_dow
- , subq_6.paid_at__extract_doy
- , subq_6.booking__ds__day
- , subq_6.booking__ds__week
- , subq_6.booking__ds__month
- , subq_6.booking__ds__quarter
- , subq_6.booking__ds__year
- , subq_6.booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month
- , subq_6.booking__ds__extract_day
- , subq_6.booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day
- , subq_6.booking__paid_at__week
- , subq_6.booking__paid_at__month
- , subq_6.booking__paid_at__quarter
- , subq_6.booking__paid_at__year
- , subq_6.booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.listing
- , subq_6.guest
- , subq_6.host
- , subq_6.booking__listing
- , subq_6.booking__guest
- , subq_6.booking__host
- , subq_6.is_instant
- , subq_6.booking__is_instant
- , subq_6.bookings
- , subq_6.instant_bookings
- , subq_6.booking_value
- , subq_6.max_booking_value
- , subq_6.min_booking_value
- , subq_6.bookers
- , subq_6.average_booking_value
- , subq_6.referred_bookings
- , subq_6.median_booking_value
- , subq_6.booking_value_p99
- , subq_6.discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -778,20 +778,20 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_6
- ) subq_7
+ ) subq_0
+ ) subq_6
ON
- subq_10.metric_time__day - INTERVAL 14 day = subq_7.metric_time__day
- ) subq_11
+ subq_9.metric_time__day - INTERVAL 14 day = subq_6.metric_time__day
+ ) subq_10
WHERE metric_time__day = '2020-01-01' or metric_time__day = '2020-01-14'
- ) subq_12
- ) subq_13
+ ) subq_11
+ ) subq_12
GROUP BY
- subq_13.metric_time__day
- ) subq_14
- ) subq_15
+ subq_12.metric_time__day
+ ) subq_13
+ ) subq_14
ON
- subq_5.metric_time__day = subq_15.metric_time__day
+ subq_5.metric_time__day = subq_14.metric_time__day
GROUP BY
- COALESCE(subq_5.metric_time__day, subq_15.metric_time__day)
-) subq_16
+ COALESCE(subq_5.metric_time__day, subq_14.metric_time__day)
+) subq_15
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_time_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_time_filter__plan0_optimized.sql
index 74406cf6d8..85bbef9662 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_time_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_metric_with_offset_window_and_time_filter__plan0_optimized.sql
@@ -18,9 +18,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_22.metric_time__day, subq_31.metric_time__day) AS metric_time__day
- , MAX(subq_22.bookings) AS bookings
- , MAX(subq_31.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ COALESCE(subq_21.metric_time__day, subq_30.metric_time__day) AS metric_time__day
+ , MAX(subq_21.bookings) AS bookings
+ , MAX(subq_30.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -35,11 +35,11 @@ FROM (
metric_time__day
, bookings
FROM sma_28009_cte sma_28009_cte
- ) subq_18
+ ) subq_17
WHERE metric_time__day = '2020-01-01' or metric_time__day = '2020-01-14'
GROUP BY
metric_time__day
- ) subq_22
+ ) subq_21
FULL OUTER JOIN (
-- Constrain Output with WHERE
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -58,13 +58,13 @@ FROM (
sma_28009_cte sma_28009_cte
ON
time_spine_src_28006.ds - INTERVAL 14 day = sma_28009_cte.metric_time__day
- ) subq_27
+ ) subq_26
WHERE metric_time__day = '2020-01-01' or metric_time__day = '2020-01-14'
GROUP BY
metric_time__day
- ) subq_31
+ ) subq_30
ON
- subq_22.metric_time__day = subq_31.metric_time__day
+ subq_21.metric_time__day = subq_30.metric_time__day
GROUP BY
- COALESCE(subq_22.metric_time__day, subq_31.metric_time__day)
-) subq_32
+ COALESCE(subq_21.metric_time__day, subq_30.metric_time__day)
+) subq_31
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_offset_metric_with_agg_time_dim__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_offset_metric_with_agg_time_dim__plan0.sql
index 2d8c9c40aa..951c440ae5 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_offset_metric_with_agg_time_dim__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_offset_metric_with_agg_time_dim__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.booking__ds__day
+ subq_13.booking__ds__day
, booking_value * 0.05 / bookers AS booking_fees_last_week_per_booker_this_week
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_8.booking__ds__day, subq_13.booking__ds__day) AS booking__ds__day
+ COALESCE(subq_8.booking__ds__day, subq_12.booking__ds__day) AS booking__ds__day
, MAX(subq_8.booking_value) AS booking_value
- , MAX(subq_13.bookers) AS bookers
+ , MAX(subq_12.bookers) AS bookers
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -372,119 +372,119 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.booking__ds__day
- , subq_12.bookers
+ subq_11.booking__ds__day
+ , subq_11.bookers
FROM (
-- Aggregate Measures
SELECT
- subq_11.booking__ds__day
- , COUNT(DISTINCT subq_11.bookers) AS bookers
+ subq_10.booking__ds__day
+ , COUNT(DISTINCT subq_10.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers', 'booking__ds__day']
SELECT
- subq_10.booking__ds__day
- , subq_10.bookers
+ subq_9.booking__ds__day
+ , subq_9.bookers
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_partitioned__day
- , subq_9.ds_partitioned__week
- , subq_9.ds_partitioned__month
- , subq_9.ds_partitioned__quarter
- , subq_9.ds_partitioned__year
- , subq_9.ds_partitioned__extract_year
- , subq_9.ds_partitioned__extract_quarter
- , subq_9.ds_partitioned__extract_month
- , subq_9.ds_partitioned__extract_day
- , subq_9.ds_partitioned__extract_dow
- , subq_9.ds_partitioned__extract_doy
- , subq_9.paid_at__day
- , subq_9.paid_at__week
- , subq_9.paid_at__month
- , subq_9.paid_at__quarter
- , subq_9.paid_at__year
- , subq_9.paid_at__extract_year
- , subq_9.paid_at__extract_quarter
- , subq_9.paid_at__extract_month
- , subq_9.paid_at__extract_day
- , subq_9.paid_at__extract_dow
- , subq_9.paid_at__extract_doy
- , subq_9.booking__ds__day
- , subq_9.booking__ds__week
- , subq_9.booking__ds__month
- , subq_9.booking__ds__quarter
- , subq_9.booking__ds__year
- , subq_9.booking__ds__extract_year
- , subq_9.booking__ds__extract_quarter
- , subq_9.booking__ds__extract_month
- , subq_9.booking__ds__extract_day
- , subq_9.booking__ds__extract_dow
- , subq_9.booking__ds__extract_doy
- , subq_9.booking__ds_partitioned__day
- , subq_9.booking__ds_partitioned__week
- , subq_9.booking__ds_partitioned__month
- , subq_9.booking__ds_partitioned__quarter
- , subq_9.booking__ds_partitioned__year
- , subq_9.booking__ds_partitioned__extract_year
- , subq_9.booking__ds_partitioned__extract_quarter
- , subq_9.booking__ds_partitioned__extract_month
- , subq_9.booking__ds_partitioned__extract_day
- , subq_9.booking__ds_partitioned__extract_dow
- , subq_9.booking__ds_partitioned__extract_doy
- , subq_9.booking__paid_at__day
- , subq_9.booking__paid_at__week
- , subq_9.booking__paid_at__month
- , subq_9.booking__paid_at__quarter
- , subq_9.booking__paid_at__year
- , subq_9.booking__paid_at__extract_year
- , subq_9.booking__paid_at__extract_quarter
- , subq_9.booking__paid_at__extract_month
- , subq_9.booking__paid_at__extract_day
- , subq_9.booking__paid_at__extract_dow
- , subq_9.booking__paid_at__extract_doy
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.listing
- , subq_9.guest
- , subq_9.host
- , subq_9.booking__listing
- , subq_9.booking__guest
- , subq_9.booking__host
- , subq_9.is_instant
- , subq_9.booking__is_instant
- , subq_9.bookings
- , subq_9.instant_bookings
- , subq_9.booking_value
- , subq_9.max_booking_value
- , subq_9.min_booking_value
- , subq_9.bookers
- , subq_9.average_booking_value
- , subq_9.referred_bookings
- , subq_9.median_booking_value
- , subq_9.booking_value_p99
- , subq_9.discrete_booking_value_p99
- , subq_9.approximate_continuous_booking_value_p99
- , subq_9.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -577,15 +577,15 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_0
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.booking__ds__day
- ) subq_12
- ) subq_13
+ subq_10.booking__ds__day
+ ) subq_11
+ ) subq_12
ON
- subq_8.booking__ds__day = subq_13.booking__ds__day
+ subq_8.booking__ds__day = subq_12.booking__ds__day
GROUP BY
- COALESCE(subq_8.booking__ds__day, subq_13.booking__ds__day)
-) subq_14
+ COALESCE(subq_8.booking__ds__day, subq_12.booking__ds__day)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_offset_metric_with_agg_time_dim__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_offset_metric_with_agg_time_dim__plan0_optimized.sql
index bb7b97f611..4c9e1a75f4 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_offset_metric_with_agg_time_dim__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_derived_offset_metric_with_agg_time_dim__plan0_optimized.sql
@@ -19,9 +19,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_23.booking__ds__day, subq_27.booking__ds__day) AS booking__ds__day
- , MAX(subq_23.booking_value) AS booking_value
- , MAX(subq_27.bookers) AS bookers
+ COALESCE(subq_22.booking__ds__day, subq_26.booking__ds__day) AS booking__ds__day
+ , MAX(subq_22.booking_value) AS booking_value
+ , MAX(subq_26.bookers) AS bookers
FROM (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['booking_value', 'booking__ds__day']
@@ -37,7 +37,7 @@ FROM (
time_spine_src_28006.ds - INTERVAL 1 week = sma_28009_cte.booking__ds__day
GROUP BY
time_spine_src_28006.ds
- ) subq_23
+ ) subq_22
FULL OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookers', 'booking__ds__day']
@@ -49,9 +49,9 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
booking__ds__day
- ) subq_27
+ ) subq_26
ON
- subq_23.booking__ds__day = subq_27.booking__ds__day
+ subq_22.booking__ds__day = subq_26.booking__ds__day
GROUP BY
- COALESCE(subq_23.booking__ds__day, subq_27.booking__ds__day)
-) subq_28
+ COALESCE(subq_22.booking__ds__day, subq_26.booking__ds__day)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric__plan0.sql
index 5975d41830..c84c2fec4b 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric__plan0.sql
@@ -4,26 +4,26 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_22.metric_time__day
+ subq_16.metric_time__day
, non_referred + (instant * 1.0 / bookings) AS instant_plus_non_referred_bookings_pct
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_11.metric_time__day, subq_16.metric_time__day, subq_21.metric_time__day) AS metric_time__day
- , MAX(subq_11.non_referred) AS non_referred
- , MAX(subq_16.instant) AS instant
- , MAX(subq_21.bookings) AS bookings
+ COALESCE(subq_10.metric_time__day, subq_14.metric_time__day, subq_15.metric_time__day) AS metric_time__day
+ , MAX(subq_10.non_referred) AS non_referred
+ , MAX(subq_14.instant) AS instant
+ , MAX(subq_15.bookings) AS bookings
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_10.metric_time__day
+ subq_9.metric_time__day
, (bookings - ref_bookings) * 1.0 / bookings AS non_referred
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__day, subq_9.metric_time__day) AS metric_time__day
+ COALESCE(subq_4.metric_time__day, subq_8.metric_time__day) AS metric_time__day
, MAX(subq_4.ref_bookings) AS ref_bookings
- , MAX(subq_9.bookings) AS bookings
+ , MAX(subq_8.bookings) AS bookings
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -242,119 +242,119 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_8.metric_time__day
- , subq_8.bookings
+ subq_7.metric_time__day
+ , subq_7.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_7.metric_time__day
- , SUM(subq_7.bookings) AS bookings
+ subq_6.metric_time__day
+ , SUM(subq_6.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_6.metric_time__day
- , subq_6.bookings
+ subq_5.metric_time__day
+ , subq_5.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -447,135 +447,135 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
- ) subq_7
+ ) subq_0
+ ) subq_5
+ ) subq_6
GROUP BY
- subq_7.metric_time__day
- ) subq_8
- ) subq_9
+ subq_6.metric_time__day
+ ) subq_7
+ ) subq_8
ON
- subq_4.metric_time__day = subq_9.metric_time__day
+ subq_4.metric_time__day = subq_8.metric_time__day
GROUP BY
- COALESCE(subq_4.metric_time__day, subq_9.metric_time__day)
- ) subq_10
- ) subq_11
+ COALESCE(subq_4.metric_time__day, subq_8.metric_time__day)
+ ) subq_9
+ ) subq_10
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_15.metric_time__day
- , subq_15.instant_bookings AS instant
+ subq_13.metric_time__day
+ , subq_13.instant_bookings AS instant
FROM (
-- Aggregate Measures
SELECT
- subq_14.metric_time__day
- , SUM(subq_14.instant_bookings) AS instant_bookings
+ subq_12.metric_time__day
+ , SUM(subq_12.instant_bookings) AS instant_bookings
FROM (
-- Pass Only Elements: ['instant_bookings', 'metric_time__day']
SELECT
- subq_13.metric_time__day
- , subq_13.instant_bookings
+ subq_11.metric_time__day
+ , subq_11.instant_bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.ds_partitioned__day
- , subq_12.ds_partitioned__week
- , subq_12.ds_partitioned__month
- , subq_12.ds_partitioned__quarter
- , subq_12.ds_partitioned__year
- , subq_12.ds_partitioned__extract_year
- , subq_12.ds_partitioned__extract_quarter
- , subq_12.ds_partitioned__extract_month
- , subq_12.ds_partitioned__extract_day
- , subq_12.ds_partitioned__extract_dow
- , subq_12.ds_partitioned__extract_doy
- , subq_12.paid_at__day
- , subq_12.paid_at__week
- , subq_12.paid_at__month
- , subq_12.paid_at__quarter
- , subq_12.paid_at__year
- , subq_12.paid_at__extract_year
- , subq_12.paid_at__extract_quarter
- , subq_12.paid_at__extract_month
- , subq_12.paid_at__extract_day
- , subq_12.paid_at__extract_dow
- , subq_12.paid_at__extract_doy
- , subq_12.booking__ds__day
- , subq_12.booking__ds__week
- , subq_12.booking__ds__month
- , subq_12.booking__ds__quarter
- , subq_12.booking__ds__year
- , subq_12.booking__ds__extract_year
- , subq_12.booking__ds__extract_quarter
- , subq_12.booking__ds__extract_month
- , subq_12.booking__ds__extract_day
- , subq_12.booking__ds__extract_dow
- , subq_12.booking__ds__extract_doy
- , subq_12.booking__ds_partitioned__day
- , subq_12.booking__ds_partitioned__week
- , subq_12.booking__ds_partitioned__month
- , subq_12.booking__ds_partitioned__quarter
- , subq_12.booking__ds_partitioned__year
- , subq_12.booking__ds_partitioned__extract_year
- , subq_12.booking__ds_partitioned__extract_quarter
- , subq_12.booking__ds_partitioned__extract_month
- , subq_12.booking__ds_partitioned__extract_day
- , subq_12.booking__ds_partitioned__extract_dow
- , subq_12.booking__ds_partitioned__extract_doy
- , subq_12.booking__paid_at__day
- , subq_12.booking__paid_at__week
- , subq_12.booking__paid_at__month
- , subq_12.booking__paid_at__quarter
- , subq_12.booking__paid_at__year
- , subq_12.booking__paid_at__extract_year
- , subq_12.booking__paid_at__extract_quarter
- , subq_12.booking__paid_at__extract_month
- , subq_12.booking__paid_at__extract_day
- , subq_12.booking__paid_at__extract_dow
- , subq_12.booking__paid_at__extract_doy
- , subq_12.ds__day AS metric_time__day
- , subq_12.ds__week AS metric_time__week
- , subq_12.ds__month AS metric_time__month
- , subq_12.ds__quarter AS metric_time__quarter
- , subq_12.ds__year AS metric_time__year
- , subq_12.ds__extract_year AS metric_time__extract_year
- , subq_12.ds__extract_quarter AS metric_time__extract_quarter
- , subq_12.ds__extract_month AS metric_time__extract_month
- , subq_12.ds__extract_day AS metric_time__extract_day
- , subq_12.ds__extract_dow AS metric_time__extract_dow
- , subq_12.ds__extract_doy AS metric_time__extract_doy
- , subq_12.listing
- , subq_12.guest
- , subq_12.host
- , subq_12.booking__listing
- , subq_12.booking__guest
- , subq_12.booking__host
- , subq_12.is_instant
- , subq_12.booking__is_instant
- , subq_12.bookings
- , subq_12.instant_bookings
- , subq_12.booking_value
- , subq_12.max_booking_value
- , subq_12.min_booking_value
- , subq_12.bookers
- , subq_12.average_booking_value
- , subq_12.referred_bookings
- , subq_12.median_booking_value
- , subq_12.booking_value_p99
- , subq_12.discrete_booking_value_p99
- , subq_12.approximate_continuous_booking_value_p99
- , subq_12.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -668,131 +668,131 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_0
+ ) subq_11
+ ) subq_12
GROUP BY
- subq_14.metric_time__day
- ) subq_15
- ) subq_16
+ subq_12.metric_time__day
+ ) subq_13
+ ) subq_14
ON
- subq_11.metric_time__day = subq_16.metric_time__day
+ subq_10.metric_time__day = subq_14.metric_time__day
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_20.metric_time__day
- , subq_20.bookings
+ subq_7.metric_time__day
+ , subq_7.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_19.metric_time__day
- , SUM(subq_19.bookings) AS bookings
+ subq_6.metric_time__day
+ , SUM(subq_6.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_18.metric_time__day
- , subq_18.bookings
+ subq_5.metric_time__day
+ , subq_5.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_17.ds__day
- , subq_17.ds__week
- , subq_17.ds__month
- , subq_17.ds__quarter
- , subq_17.ds__year
- , subq_17.ds__extract_year
- , subq_17.ds__extract_quarter
- , subq_17.ds__extract_month
- , subq_17.ds__extract_day
- , subq_17.ds__extract_dow
- , subq_17.ds__extract_doy
- , subq_17.ds_partitioned__day
- , subq_17.ds_partitioned__week
- , subq_17.ds_partitioned__month
- , subq_17.ds_partitioned__quarter
- , subq_17.ds_partitioned__year
- , subq_17.ds_partitioned__extract_year
- , subq_17.ds_partitioned__extract_quarter
- , subq_17.ds_partitioned__extract_month
- , subq_17.ds_partitioned__extract_day
- , subq_17.ds_partitioned__extract_dow
- , subq_17.ds_partitioned__extract_doy
- , subq_17.paid_at__day
- , subq_17.paid_at__week
- , subq_17.paid_at__month
- , subq_17.paid_at__quarter
- , subq_17.paid_at__year
- , subq_17.paid_at__extract_year
- , subq_17.paid_at__extract_quarter
- , subq_17.paid_at__extract_month
- , subq_17.paid_at__extract_day
- , subq_17.paid_at__extract_dow
- , subq_17.paid_at__extract_doy
- , subq_17.booking__ds__day
- , subq_17.booking__ds__week
- , subq_17.booking__ds__month
- , subq_17.booking__ds__quarter
- , subq_17.booking__ds__year
- , subq_17.booking__ds__extract_year
- , subq_17.booking__ds__extract_quarter
- , subq_17.booking__ds__extract_month
- , subq_17.booking__ds__extract_day
- , subq_17.booking__ds__extract_dow
- , subq_17.booking__ds__extract_doy
- , subq_17.booking__ds_partitioned__day
- , subq_17.booking__ds_partitioned__week
- , subq_17.booking__ds_partitioned__month
- , subq_17.booking__ds_partitioned__quarter
- , subq_17.booking__ds_partitioned__year
- , subq_17.booking__ds_partitioned__extract_year
- , subq_17.booking__ds_partitioned__extract_quarter
- , subq_17.booking__ds_partitioned__extract_month
- , subq_17.booking__ds_partitioned__extract_day
- , subq_17.booking__ds_partitioned__extract_dow
- , subq_17.booking__ds_partitioned__extract_doy
- , subq_17.booking__paid_at__day
- , subq_17.booking__paid_at__week
- , subq_17.booking__paid_at__month
- , subq_17.booking__paid_at__quarter
- , subq_17.booking__paid_at__year
- , subq_17.booking__paid_at__extract_year
- , subq_17.booking__paid_at__extract_quarter
- , subq_17.booking__paid_at__extract_month
- , subq_17.booking__paid_at__extract_day
- , subq_17.booking__paid_at__extract_dow
- , subq_17.booking__paid_at__extract_doy
- , subq_17.ds__day AS metric_time__day
- , subq_17.ds__week AS metric_time__week
- , subq_17.ds__month AS metric_time__month
- , subq_17.ds__quarter AS metric_time__quarter
- , subq_17.ds__year AS metric_time__year
- , subq_17.ds__extract_year AS metric_time__extract_year
- , subq_17.ds__extract_quarter AS metric_time__extract_quarter
- , subq_17.ds__extract_month AS metric_time__extract_month
- , subq_17.ds__extract_day AS metric_time__extract_day
- , subq_17.ds__extract_dow AS metric_time__extract_dow
- , subq_17.ds__extract_doy AS metric_time__extract_doy
- , subq_17.listing
- , subq_17.guest
- , subq_17.host
- , subq_17.booking__listing
- , subq_17.booking__guest
- , subq_17.booking__host
- , subq_17.is_instant
- , subq_17.booking__is_instant
- , subq_17.bookings
- , subq_17.instant_bookings
- , subq_17.booking_value
- , subq_17.max_booking_value
- , subq_17.min_booking_value
- , subq_17.bookers
- , subq_17.average_booking_value
- , subq_17.referred_bookings
- , subq_17.median_booking_value
- , subq_17.booking_value_p99
- , subq_17.discrete_booking_value_p99
- , subq_17.approximate_continuous_booking_value_p99
- , subq_17.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -885,15 +885,15 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_17
- ) subq_18
- ) subq_19
+ ) subq_0
+ ) subq_5
+ ) subq_6
GROUP BY
- subq_19.metric_time__day
- ) subq_20
- ) subq_21
+ subq_6.metric_time__day
+ ) subq_7
+ ) subq_15
ON
- COALESCE(subq_11.metric_time__day, subq_16.metric_time__day) = subq_21.metric_time__day
+ COALESCE(subq_10.metric_time__day, subq_14.metric_time__day) = subq_15.metric_time__day
GROUP BY
- COALESCE(subq_11.metric_time__day, subq_16.metric_time__day, subq_21.metric_time__day)
-) subq_22
+ COALESCE(subq_10.metric_time__day, subq_14.metric_time__day, subq_15.metric_time__day)
+) subq_16
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric__plan0_optimized.sql
index 8d9bf1af41..97dd6313f2 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric__plan0_optimized.sql
@@ -9,10 +9,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_28.metric_time__day, subq_33.metric_time__day) AS metric_time__day
- , MAX(subq_28.non_referred) AS non_referred
- , MAX(subq_33.instant) AS instant
- , MAX(subq_33.bookings) AS bookings
+ COALESCE(subq_22.metric_time__day, subq_27.metric_time__day) AS metric_time__day
+ , MAX(subq_22.non_referred) AS non_referred
+ , MAX(subq_27.instant) AS instant
+ , MAX(subq_27.bookings) AS bookings
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -34,11 +34,11 @@ FROM (
, 1 AS bookings
, CASE WHEN referrer_id IS NOT NULL THEN 1 ELSE 0 END AS referred_bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_25
+ ) subq_19
GROUP BY
metric_time__day
- ) subq_27
- ) subq_28
+ ) subq_21
+ ) subq_22
FULL OUTER JOIN (
-- Aggregate Measures
-- Compute Metrics via Expressions
@@ -55,12 +55,12 @@ FROM (
, 1 AS bookings
, CASE WHEN is_instant THEN 1 ELSE 0 END AS instant_bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_31
+ ) subq_25
GROUP BY
metric_time__day
- ) subq_33
+ ) subq_27
ON
- subq_28.metric_time__day = subq_33.metric_time__day
+ subq_22.metric_time__day = subq_27.metric_time__day
GROUP BY
- COALESCE(subq_28.metric_time__day, subq_33.metric_time__day)
-) subq_34
+ COALESCE(subq_22.metric_time__day, subq_27.metric_time__day)
+) subq_28
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric_with_offset_multiple_input_metrics__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric_with_offset_multiple_input_metrics__plan0.sql
index a28f87d3c3..756f47d6dd 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric_with_offset_multiple_input_metrics__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric_with_offset_multiple_input_metrics__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__day
+ subq_15.metric_time__day
, booking_fees - booking_fees_start_of_month AS booking_fees_since_start_of_month
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_9.metric_time__day, subq_15.metric_time__day) AS metric_time__day
+ COALESCE(subq_9.metric_time__day, subq_14.metric_time__day) AS metric_time__day
, MAX(subq_9.booking_fees_start_of_month) AS booking_fees_start_of_month
- , MAX(subq_15.booking_fees) AS booking_fees
+ , MAX(subq_14.booking_fees) AS booking_fees
FROM (
-- Join to Time Spine Dataset
SELECT
@@ -282,124 +282,124 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__day
+ subq_13.metric_time__day
, booking_value * 0.05 AS booking_fees
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_13.metric_time__day
- , subq_13.booking_value
+ subq_12.metric_time__day
+ , subq_12.booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_12.metric_time__day
- , SUM(subq_12.booking_value) AS booking_value
+ subq_11.metric_time__day
+ , SUM(subq_11.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value', 'metric_time__day']
SELECT
- subq_11.metric_time__day
- , subq_11.booking_value
+ subq_10.metric_time__day
+ , subq_10.booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_partitioned__day
- , subq_10.ds_partitioned__week
- , subq_10.ds_partitioned__month
- , subq_10.ds_partitioned__quarter
- , subq_10.ds_partitioned__year
- , subq_10.ds_partitioned__extract_year
- , subq_10.ds_partitioned__extract_quarter
- , subq_10.ds_partitioned__extract_month
- , subq_10.ds_partitioned__extract_day
- , subq_10.ds_partitioned__extract_dow
- , subq_10.ds_partitioned__extract_doy
- , subq_10.paid_at__day
- , subq_10.paid_at__week
- , subq_10.paid_at__month
- , subq_10.paid_at__quarter
- , subq_10.paid_at__year
- , subq_10.paid_at__extract_year
- , subq_10.paid_at__extract_quarter
- , subq_10.paid_at__extract_month
- , subq_10.paid_at__extract_day
- , subq_10.paid_at__extract_dow
- , subq_10.paid_at__extract_doy
- , subq_10.booking__ds__day
- , subq_10.booking__ds__week
- , subq_10.booking__ds__month
- , subq_10.booking__ds__quarter
- , subq_10.booking__ds__year
- , subq_10.booking__ds__extract_year
- , subq_10.booking__ds__extract_quarter
- , subq_10.booking__ds__extract_month
- , subq_10.booking__ds__extract_day
- , subq_10.booking__ds__extract_dow
- , subq_10.booking__ds__extract_doy
- , subq_10.booking__ds_partitioned__day
- , subq_10.booking__ds_partitioned__week
- , subq_10.booking__ds_partitioned__month
- , subq_10.booking__ds_partitioned__quarter
- , subq_10.booking__ds_partitioned__year
- , subq_10.booking__ds_partitioned__extract_year
- , subq_10.booking__ds_partitioned__extract_quarter
- , subq_10.booking__ds_partitioned__extract_month
- , subq_10.booking__ds_partitioned__extract_day
- , subq_10.booking__ds_partitioned__extract_dow
- , subq_10.booking__ds_partitioned__extract_doy
- , subq_10.booking__paid_at__day
- , subq_10.booking__paid_at__week
- , subq_10.booking__paid_at__month
- , subq_10.booking__paid_at__quarter
- , subq_10.booking__paid_at__year
- , subq_10.booking__paid_at__extract_year
- , subq_10.booking__paid_at__extract_quarter
- , subq_10.booking__paid_at__extract_month
- , subq_10.booking__paid_at__extract_day
- , subq_10.booking__paid_at__extract_dow
- , subq_10.booking__paid_at__extract_doy
- , subq_10.ds__day AS metric_time__day
- , subq_10.ds__week AS metric_time__week
- , subq_10.ds__month AS metric_time__month
- , subq_10.ds__quarter AS metric_time__quarter
- , subq_10.ds__year AS metric_time__year
- , subq_10.ds__extract_year AS metric_time__extract_year
- , subq_10.ds__extract_quarter AS metric_time__extract_quarter
- , subq_10.ds__extract_month AS metric_time__extract_month
- , subq_10.ds__extract_day AS metric_time__extract_day
- , subq_10.ds__extract_dow AS metric_time__extract_dow
- , subq_10.ds__extract_doy AS metric_time__extract_doy
- , subq_10.listing
- , subq_10.guest
- , subq_10.host
- , subq_10.booking__listing
- , subq_10.booking__guest
- , subq_10.booking__host
- , subq_10.is_instant
- , subq_10.booking__is_instant
- , subq_10.bookings
- , subq_10.instant_bookings
- , subq_10.booking_value
- , subq_10.max_booking_value
- , subq_10.min_booking_value
- , subq_10.bookers
- , subq_10.average_booking_value
- , subq_10.referred_bookings
- , subq_10.median_booking_value
- , subq_10.booking_value_p99
- , subq_10.discrete_booking_value_p99
- , subq_10.approximate_continuous_booking_value_p99
- , subq_10.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -492,16 +492,16 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_10
- ) subq_11
- ) subq_12
+ ) subq_0
+ ) subq_10
+ ) subq_11
GROUP BY
- subq_12.metric_time__day
- ) subq_13
- ) subq_14
- ) subq_15
+ subq_11.metric_time__day
+ ) subq_12
+ ) subq_13
+ ) subq_14
ON
- subq_9.metric_time__day = subq_15.metric_time__day
+ subq_9.metric_time__day = subq_14.metric_time__day
GROUP BY
- COALESCE(subq_9.metric_time__day, subq_15.metric_time__day)
-) subq_16
+ COALESCE(subq_9.metric_time__day, subq_14.metric_time__day)
+) subq_15
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric_with_offset_multiple_input_metrics__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric_with_offset_multiple_input_metrics__plan0_optimized.sql
index c577329a06..06474e08a7 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric_with_offset_multiple_input_metrics__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_derived_metric_with_offset_multiple_input_metrics__plan0_optimized.sql
@@ -18,14 +18,14 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_26.metric_time__day, subq_31.metric_time__day) AS metric_time__day
- , MAX(subq_26.booking_fees_start_of_month) AS booking_fees_start_of_month
- , MAX(subq_31.booking_fees) AS booking_fees
+ COALESCE(subq_25.metric_time__day, subq_30.metric_time__day) AS metric_time__day
+ , MAX(subq_25.booking_fees_start_of_month) AS booking_fees_start_of_month
+ , MAX(subq_30.booking_fees) AS booking_fees
FROM (
-- Join to Time Spine Dataset
SELECT
time_spine_src_28006.ds AS metric_time__day
- , subq_22.booking_fees_start_of_month AS booking_fees_start_of_month
+ , subq_21.booking_fees_start_of_month AS booking_fees_start_of_month
FROM ***************************.mf_time_spine time_spine_src_28006
INNER JOIN (
-- Compute Metrics via Expressions
@@ -43,11 +43,11 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__day
- ) subq_21
- ) subq_22
+ ) subq_20
+ ) subq_21
ON
- DATE_TRUNC('month', time_spine_src_28006.ds) = subq_22.metric_time__day
- ) subq_26
+ DATE_TRUNC('month', time_spine_src_28006.ds) = subq_21.metric_time__day
+ ) subq_25
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
@@ -64,10 +64,10 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__day
- ) subq_30
- ) subq_31
+ ) subq_29
+ ) subq_30
ON
- subq_26.metric_time__day = subq_31.metric_time__day
+ subq_25.metric_time__day = subq_30.metric_time__day
GROUP BY
- COALESCE(subq_26.metric_time__day, subq_31.metric_time__day)
-) subq_32
+ COALESCE(subq_25.metric_time__day, subq_30.metric_time__day)
+) subq_31
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_filters__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_filters__plan0.sql
index 27d3e680e1..01e21eb467 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_filters__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_filters__plan0.sql
@@ -15,8 +15,8 @@ FROM (
-- Combine Aggregated Outputs
SELECT
MAX(subq_9.average_booking_value) AS average_booking_value
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_25.booking_value) AS booking_value
+ , MAX(subq_17.bookings) AS bookings
+ , MAX(subq_22.booking_value) AS booking_value
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -577,320 +577,320 @@ FROM (
CROSS JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_18.bookings
+ subq_16.bookings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_17.bookings) AS bookings
+ SUM(subq_15.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings',]
SELECT
- subq_16.bookings
+ subq_14.bookings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_15.ds__day
- , subq_15.ds__week
- , subq_15.ds__month
- , subq_15.ds__quarter
- , subq_15.ds__year
- , subq_15.ds__extract_year
- , subq_15.ds__extract_quarter
- , subq_15.ds__extract_month
- , subq_15.ds__extract_day
- , subq_15.ds__extract_dow
- , subq_15.ds__extract_doy
- , subq_15.ds_partitioned__day
- , subq_15.ds_partitioned__week
- , subq_15.ds_partitioned__month
- , subq_15.ds_partitioned__quarter
- , subq_15.ds_partitioned__year
- , subq_15.ds_partitioned__extract_year
- , subq_15.ds_partitioned__extract_quarter
- , subq_15.ds_partitioned__extract_month
- , subq_15.ds_partitioned__extract_day
- , subq_15.ds_partitioned__extract_dow
- , subq_15.ds_partitioned__extract_doy
- , subq_15.paid_at__day
- , subq_15.paid_at__week
- , subq_15.paid_at__month
- , subq_15.paid_at__quarter
- , subq_15.paid_at__year
- , subq_15.paid_at__extract_year
- , subq_15.paid_at__extract_quarter
- , subq_15.paid_at__extract_month
- , subq_15.paid_at__extract_day
- , subq_15.paid_at__extract_dow
- , subq_15.paid_at__extract_doy
- , subq_15.booking__ds__day
- , subq_15.booking__ds__week
- , subq_15.booking__ds__month
- , subq_15.booking__ds__quarter
- , subq_15.booking__ds__year
- , subq_15.booking__ds__extract_year
- , subq_15.booking__ds__extract_quarter
- , subq_15.booking__ds__extract_month
- , subq_15.booking__ds__extract_day
- , subq_15.booking__ds__extract_dow
- , subq_15.booking__ds__extract_doy
- , subq_15.booking__ds_partitioned__day
- , subq_15.booking__ds_partitioned__week
- , subq_15.booking__ds_partitioned__month
- , subq_15.booking__ds_partitioned__quarter
- , subq_15.booking__ds_partitioned__year
- , subq_15.booking__ds_partitioned__extract_year
- , subq_15.booking__ds_partitioned__extract_quarter
- , subq_15.booking__ds_partitioned__extract_month
- , subq_15.booking__ds_partitioned__extract_day
- , subq_15.booking__ds_partitioned__extract_dow
- , subq_15.booking__ds_partitioned__extract_doy
- , subq_15.booking__paid_at__day
- , subq_15.booking__paid_at__week
- , subq_15.booking__paid_at__month
- , subq_15.booking__paid_at__quarter
- , subq_15.booking__paid_at__year
- , subq_15.booking__paid_at__extract_year
- , subq_15.booking__paid_at__extract_quarter
- , subq_15.booking__paid_at__extract_month
- , subq_15.booking__paid_at__extract_day
- , subq_15.booking__paid_at__extract_dow
- , subq_15.booking__paid_at__extract_doy
- , subq_15.metric_time__day
- , subq_15.metric_time__week
- , subq_15.metric_time__month
- , subq_15.metric_time__quarter
- , subq_15.metric_time__year
- , subq_15.metric_time__extract_year
- , subq_15.metric_time__extract_quarter
- , subq_15.metric_time__extract_month
- , subq_15.metric_time__extract_day
- , subq_15.metric_time__extract_dow
- , subq_15.metric_time__extract_doy
- , subq_15.listing
- , subq_15.guest
- , subq_15.host
- , subq_15.booking__listing
- , subq_15.booking__guest
- , subq_15.booking__host
- , subq_15.is_instant
- , subq_15.booking__is_instant
- , subq_15.listing__is_lux_latest
- , subq_15.bookings
- , subq_15.instant_bookings
- , subq_15.booking_value
- , subq_15.max_booking_value
- , subq_15.min_booking_value
- , subq_15.bookers
- , subq_15.average_booking_value
- , subq_15.referred_bookings
- , subq_15.median_booking_value
- , subq_15.booking_value_p99
- , subq_15.discrete_booking_value_p99
- , subq_15.approximate_continuous_booking_value_p99
- , subq_15.approximate_discrete_booking_value_p99
+ subq_13.ds__day
+ , subq_13.ds__week
+ , subq_13.ds__month
+ , subq_13.ds__quarter
+ , subq_13.ds__year
+ , subq_13.ds__extract_year
+ , subq_13.ds__extract_quarter
+ , subq_13.ds__extract_month
+ , subq_13.ds__extract_day
+ , subq_13.ds__extract_dow
+ , subq_13.ds__extract_doy
+ , subq_13.ds_partitioned__day
+ , subq_13.ds_partitioned__week
+ , subq_13.ds_partitioned__month
+ , subq_13.ds_partitioned__quarter
+ , subq_13.ds_partitioned__year
+ , subq_13.ds_partitioned__extract_year
+ , subq_13.ds_partitioned__extract_quarter
+ , subq_13.ds_partitioned__extract_month
+ , subq_13.ds_partitioned__extract_day
+ , subq_13.ds_partitioned__extract_dow
+ , subq_13.ds_partitioned__extract_doy
+ , subq_13.paid_at__day
+ , subq_13.paid_at__week
+ , subq_13.paid_at__month
+ , subq_13.paid_at__quarter
+ , subq_13.paid_at__year
+ , subq_13.paid_at__extract_year
+ , subq_13.paid_at__extract_quarter
+ , subq_13.paid_at__extract_month
+ , subq_13.paid_at__extract_day
+ , subq_13.paid_at__extract_dow
+ , subq_13.paid_at__extract_doy
+ , subq_13.booking__ds__day
+ , subq_13.booking__ds__week
+ , subq_13.booking__ds__month
+ , subq_13.booking__ds__quarter
+ , subq_13.booking__ds__year
+ , subq_13.booking__ds__extract_year
+ , subq_13.booking__ds__extract_quarter
+ , subq_13.booking__ds__extract_month
+ , subq_13.booking__ds__extract_day
+ , subq_13.booking__ds__extract_dow
+ , subq_13.booking__ds__extract_doy
+ , subq_13.booking__ds_partitioned__day
+ , subq_13.booking__ds_partitioned__week
+ , subq_13.booking__ds_partitioned__month
+ , subq_13.booking__ds_partitioned__quarter
+ , subq_13.booking__ds_partitioned__year
+ , subq_13.booking__ds_partitioned__extract_year
+ , subq_13.booking__ds_partitioned__extract_quarter
+ , subq_13.booking__ds_partitioned__extract_month
+ , subq_13.booking__ds_partitioned__extract_day
+ , subq_13.booking__ds_partitioned__extract_dow
+ , subq_13.booking__ds_partitioned__extract_doy
+ , subq_13.booking__paid_at__day
+ , subq_13.booking__paid_at__week
+ , subq_13.booking__paid_at__month
+ , subq_13.booking__paid_at__quarter
+ , subq_13.booking__paid_at__year
+ , subq_13.booking__paid_at__extract_year
+ , subq_13.booking__paid_at__extract_quarter
+ , subq_13.booking__paid_at__extract_month
+ , subq_13.booking__paid_at__extract_day
+ , subq_13.booking__paid_at__extract_dow
+ , subq_13.booking__paid_at__extract_doy
+ , subq_13.metric_time__day
+ , subq_13.metric_time__week
+ , subq_13.metric_time__month
+ , subq_13.metric_time__quarter
+ , subq_13.metric_time__year
+ , subq_13.metric_time__extract_year
+ , subq_13.metric_time__extract_quarter
+ , subq_13.metric_time__extract_month
+ , subq_13.metric_time__extract_day
+ , subq_13.metric_time__extract_dow
+ , subq_13.metric_time__extract_doy
+ , subq_13.listing
+ , subq_13.guest
+ , subq_13.host
+ , subq_13.booking__listing
+ , subq_13.booking__guest
+ , subq_13.booking__host
+ , subq_13.is_instant
+ , subq_13.booking__is_instant
+ , subq_13.listing__is_lux_latest
+ , subq_13.bookings
+ , subq_13.instant_bookings
+ , subq_13.booking_value
+ , subq_13.max_booking_value
+ , subq_13.min_booking_value
+ , subq_13.bookers
+ , subq_13.average_booking_value
+ , subq_13.referred_bookings
+ , subq_13.median_booking_value
+ , subq_13.booking_value_p99
+ , subq_13.discrete_booking_value_p99
+ , subq_13.approximate_continuous_booking_value_p99
+ , subq_13.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_14.is_lux_latest AS listing__is_lux_latest
- , subq_11.ds__day AS ds__day
- , subq_11.ds__week AS ds__week
- , subq_11.ds__month AS ds__month
- , subq_11.ds__quarter AS ds__quarter
- , subq_11.ds__year AS ds__year
- , subq_11.ds__extract_year AS ds__extract_year
- , subq_11.ds__extract_quarter AS ds__extract_quarter
- , subq_11.ds__extract_month AS ds__extract_month
- , subq_11.ds__extract_day AS ds__extract_day
- , subq_11.ds__extract_dow AS ds__extract_dow
- , subq_11.ds__extract_doy AS ds__extract_doy
- , subq_11.ds_partitioned__day AS ds_partitioned__day
- , subq_11.ds_partitioned__week AS ds_partitioned__week
- , subq_11.ds_partitioned__month AS ds_partitioned__month
- , subq_11.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_11.ds_partitioned__year AS ds_partitioned__year
- , subq_11.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_11.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_11.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_11.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_11.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_11.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_11.paid_at__day AS paid_at__day
- , subq_11.paid_at__week AS paid_at__week
- , subq_11.paid_at__month AS paid_at__month
- , subq_11.paid_at__quarter AS paid_at__quarter
- , subq_11.paid_at__year AS paid_at__year
- , subq_11.paid_at__extract_year AS paid_at__extract_year
- , subq_11.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_11.paid_at__extract_month AS paid_at__extract_month
- , subq_11.paid_at__extract_day AS paid_at__extract_day
- , subq_11.paid_at__extract_dow AS paid_at__extract_dow
- , subq_11.paid_at__extract_doy AS paid_at__extract_doy
- , subq_11.booking__ds__day AS booking__ds__day
- , subq_11.booking__ds__week AS booking__ds__week
- , subq_11.booking__ds__month AS booking__ds__month
- , subq_11.booking__ds__quarter AS booking__ds__quarter
- , subq_11.booking__ds__year AS booking__ds__year
- , subq_11.booking__ds__extract_year AS booking__ds__extract_year
- , subq_11.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_11.booking__ds__extract_month AS booking__ds__extract_month
- , subq_11.booking__ds__extract_day AS booking__ds__extract_day
- , subq_11.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_11.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_11.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_11.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_11.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_11.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_11.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_11.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_11.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_11.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_11.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_11.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_11.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_11.booking__paid_at__day AS booking__paid_at__day
- , subq_11.booking__paid_at__week AS booking__paid_at__week
- , subq_11.booking__paid_at__month AS booking__paid_at__month
- , subq_11.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_11.booking__paid_at__year AS booking__paid_at__year
- , subq_11.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_11.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_11.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_11.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_11.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_11.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_11.metric_time__day AS metric_time__day
- , subq_11.metric_time__week AS metric_time__week
- , subq_11.metric_time__month AS metric_time__month
- , subq_11.metric_time__quarter AS metric_time__quarter
- , subq_11.metric_time__year AS metric_time__year
- , subq_11.metric_time__extract_year AS metric_time__extract_year
- , subq_11.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_11.metric_time__extract_month AS metric_time__extract_month
- , subq_11.metric_time__extract_day AS metric_time__extract_day
- , subq_11.metric_time__extract_dow AS metric_time__extract_dow
- , subq_11.metric_time__extract_doy AS metric_time__extract_doy
- , subq_11.listing AS listing
- , subq_11.guest AS guest
- , subq_11.host AS host
- , subq_11.booking__listing AS booking__listing
- , subq_11.booking__guest AS booking__guest
- , subq_11.booking__host AS booking__host
- , subq_11.is_instant AS is_instant
- , subq_11.booking__is_instant AS booking__is_instant
- , subq_11.bookings AS bookings
- , subq_11.instant_bookings AS instant_bookings
- , subq_11.booking_value AS booking_value
- , subq_11.max_booking_value AS max_booking_value
- , subq_11.min_booking_value AS min_booking_value
- , subq_11.bookers AS bookers
- , subq_11.average_booking_value AS average_booking_value
- , subq_11.referred_bookings AS referred_bookings
- , subq_11.median_booking_value AS median_booking_value
- , subq_11.booking_value_p99 AS booking_value_p99
- , subq_11.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_11.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_11.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_12.is_lux_latest AS listing__is_lux_latest
+ , subq_10.ds__day AS ds__day
+ , subq_10.ds__week AS ds__week
+ , subq_10.ds__month AS ds__month
+ , subq_10.ds__quarter AS ds__quarter
+ , subq_10.ds__year AS ds__year
+ , subq_10.ds__extract_year AS ds__extract_year
+ , subq_10.ds__extract_quarter AS ds__extract_quarter
+ , subq_10.ds__extract_month AS ds__extract_month
+ , subq_10.ds__extract_day AS ds__extract_day
+ , subq_10.ds__extract_dow AS ds__extract_dow
+ , subq_10.ds__extract_doy AS ds__extract_doy
+ , subq_10.ds_partitioned__day AS ds_partitioned__day
+ , subq_10.ds_partitioned__week AS ds_partitioned__week
+ , subq_10.ds_partitioned__month AS ds_partitioned__month
+ , subq_10.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_10.ds_partitioned__year AS ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_10.paid_at__day AS paid_at__day
+ , subq_10.paid_at__week AS paid_at__week
+ , subq_10.paid_at__month AS paid_at__month
+ , subq_10.paid_at__quarter AS paid_at__quarter
+ , subq_10.paid_at__year AS paid_at__year
+ , subq_10.paid_at__extract_year AS paid_at__extract_year
+ , subq_10.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_10.paid_at__extract_month AS paid_at__extract_month
+ , subq_10.paid_at__extract_day AS paid_at__extract_day
+ , subq_10.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_10.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_10.booking__ds__day AS booking__ds__day
+ , subq_10.booking__ds__week AS booking__ds__week
+ , subq_10.booking__ds__month AS booking__ds__month
+ , subq_10.booking__ds__quarter AS booking__ds__quarter
+ , subq_10.booking__ds__year AS booking__ds__year
+ , subq_10.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_10.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day AS booking__paid_at__day
+ , subq_10.booking__paid_at__week AS booking__paid_at__week
+ , subq_10.booking__paid_at__month AS booking__paid_at__month
+ , subq_10.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_10.booking__paid_at__year AS booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_10.metric_time__day AS metric_time__day
+ , subq_10.metric_time__week AS metric_time__week
+ , subq_10.metric_time__month AS metric_time__month
+ , subq_10.metric_time__quarter AS metric_time__quarter
+ , subq_10.metric_time__year AS metric_time__year
+ , subq_10.metric_time__extract_year AS metric_time__extract_year
+ , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_10.metric_time__extract_month AS metric_time__extract_month
+ , subq_10.metric_time__extract_day AS metric_time__extract_day
+ , subq_10.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_10.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_10.listing AS listing
+ , subq_10.guest AS guest
+ , subq_10.host AS host
+ , subq_10.booking__listing AS booking__listing
+ , subq_10.booking__guest AS booking__guest
+ , subq_10.booking__host AS booking__host
+ , subq_10.is_instant AS is_instant
+ , subq_10.booking__is_instant AS booking__is_instant
+ , subq_10.bookings AS bookings
+ , subq_10.instant_bookings AS instant_bookings
+ , subq_10.booking_value AS booking_value
+ , subq_10.max_booking_value AS max_booking_value
+ , subq_10.min_booking_value AS min_booking_value
+ , subq_10.bookers AS bookers
+ , subq_10.average_booking_value AS average_booking_value
+ , subq_10.referred_bookings AS referred_bookings
+ , subq_10.median_booking_value AS median_booking_value
+ , subq_10.booking_value_p99 AS booking_value_p99
+ , subq_10.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_10.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_10.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_partitioned__day
- , subq_10.ds_partitioned__week
- , subq_10.ds_partitioned__month
- , subq_10.ds_partitioned__quarter
- , subq_10.ds_partitioned__year
- , subq_10.ds_partitioned__extract_year
- , subq_10.ds_partitioned__extract_quarter
- , subq_10.ds_partitioned__extract_month
- , subq_10.ds_partitioned__extract_day
- , subq_10.ds_partitioned__extract_dow
- , subq_10.ds_partitioned__extract_doy
- , subq_10.paid_at__day
- , subq_10.paid_at__week
- , subq_10.paid_at__month
- , subq_10.paid_at__quarter
- , subq_10.paid_at__year
- , subq_10.paid_at__extract_year
- , subq_10.paid_at__extract_quarter
- , subq_10.paid_at__extract_month
- , subq_10.paid_at__extract_day
- , subq_10.paid_at__extract_dow
- , subq_10.paid_at__extract_doy
- , subq_10.booking__ds__day
- , subq_10.booking__ds__week
- , subq_10.booking__ds__month
- , subq_10.booking__ds__quarter
- , subq_10.booking__ds__year
- , subq_10.booking__ds__extract_year
- , subq_10.booking__ds__extract_quarter
- , subq_10.booking__ds__extract_month
- , subq_10.booking__ds__extract_day
- , subq_10.booking__ds__extract_dow
- , subq_10.booking__ds__extract_doy
- , subq_10.booking__ds_partitioned__day
- , subq_10.booking__ds_partitioned__week
- , subq_10.booking__ds_partitioned__month
- , subq_10.booking__ds_partitioned__quarter
- , subq_10.booking__ds_partitioned__year
- , subq_10.booking__ds_partitioned__extract_year
- , subq_10.booking__ds_partitioned__extract_quarter
- , subq_10.booking__ds_partitioned__extract_month
- , subq_10.booking__ds_partitioned__extract_day
- , subq_10.booking__ds_partitioned__extract_dow
- , subq_10.booking__ds_partitioned__extract_doy
- , subq_10.booking__paid_at__day
- , subq_10.booking__paid_at__week
- , subq_10.booking__paid_at__month
- , subq_10.booking__paid_at__quarter
- , subq_10.booking__paid_at__year
- , subq_10.booking__paid_at__extract_year
- , subq_10.booking__paid_at__extract_quarter
- , subq_10.booking__paid_at__extract_month
- , subq_10.booking__paid_at__extract_day
- , subq_10.booking__paid_at__extract_dow
- , subq_10.booking__paid_at__extract_doy
- , subq_10.ds__day AS metric_time__day
- , subq_10.ds__week AS metric_time__week
- , subq_10.ds__month AS metric_time__month
- , subq_10.ds__quarter AS metric_time__quarter
- , subq_10.ds__year AS metric_time__year
- , subq_10.ds__extract_year AS metric_time__extract_year
- , subq_10.ds__extract_quarter AS metric_time__extract_quarter
- , subq_10.ds__extract_month AS metric_time__extract_month
- , subq_10.ds__extract_day AS metric_time__extract_day
- , subq_10.ds__extract_dow AS metric_time__extract_dow
- , subq_10.ds__extract_doy AS metric_time__extract_doy
- , subq_10.listing
- , subq_10.guest
- , subq_10.host
- , subq_10.booking__listing
- , subq_10.booking__guest
- , subq_10.booking__host
- , subq_10.is_instant
- , subq_10.booking__is_instant
- , subq_10.bookings
- , subq_10.instant_bookings
- , subq_10.booking_value
- , subq_10.max_booking_value
- , subq_10.min_booking_value
- , subq_10.bookers
- , subq_10.average_booking_value
- , subq_10.referred_bookings
- , subq_10.median_booking_value
- , subq_10.booking_value_p99
- , subq_10.discrete_booking_value_p99
- , subq_10.approximate_continuous_booking_value_p99
- , subq_10.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -983,83 +983,83 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_10
- ) subq_11
+ ) subq_0
+ ) subq_10
LEFT OUTER JOIN (
-- Pass Only Elements: ['is_lux_latest', 'listing']
SELECT
- subq_13.listing
- , subq_13.is_lux_latest
+ subq_11.listing
+ , subq_11.is_lux_latest
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.created_at__day
- , subq_12.created_at__week
- , subq_12.created_at__month
- , subq_12.created_at__quarter
- , subq_12.created_at__year
- , subq_12.created_at__extract_year
- , subq_12.created_at__extract_quarter
- , subq_12.created_at__extract_month
- , subq_12.created_at__extract_day
- , subq_12.created_at__extract_dow
- , subq_12.created_at__extract_doy
- , subq_12.listing__ds__day
- , subq_12.listing__ds__week
- , subq_12.listing__ds__month
- , subq_12.listing__ds__quarter
- , subq_12.listing__ds__year
- , subq_12.listing__ds__extract_year
- , subq_12.listing__ds__extract_quarter
- , subq_12.listing__ds__extract_month
- , subq_12.listing__ds__extract_day
- , subq_12.listing__ds__extract_dow
- , subq_12.listing__ds__extract_doy
- , subq_12.listing__created_at__day
- , subq_12.listing__created_at__week
- , subq_12.listing__created_at__month
- , subq_12.listing__created_at__quarter
- , subq_12.listing__created_at__year
- , subq_12.listing__created_at__extract_year
- , subq_12.listing__created_at__extract_quarter
- , subq_12.listing__created_at__extract_month
- , subq_12.listing__created_at__extract_day
- , subq_12.listing__created_at__extract_dow
- , subq_12.listing__created_at__extract_doy
- , subq_12.ds__day AS metric_time__day
- , subq_12.ds__week AS metric_time__week
- , subq_12.ds__month AS metric_time__month
- , subq_12.ds__quarter AS metric_time__quarter
- , subq_12.ds__year AS metric_time__year
- , subq_12.ds__extract_year AS metric_time__extract_year
- , subq_12.ds__extract_quarter AS metric_time__extract_quarter
- , subq_12.ds__extract_month AS metric_time__extract_month
- , subq_12.ds__extract_day AS metric_time__extract_day
- , subq_12.ds__extract_dow AS metric_time__extract_dow
- , subq_12.ds__extract_doy AS metric_time__extract_doy
- , subq_12.listing
- , subq_12.user
- , subq_12.listing__user
- , subq_12.country_latest
- , subq_12.is_lux_latest
- , subq_12.capacity_latest
- , subq_12.listing__country_latest
- , subq_12.listing__is_lux_latest
- , subq_12.listing__capacity_latest
- , subq_12.listings
- , subq_12.largest_listing
- , subq_12.smallest_listing
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.listing__ds__day
+ , subq_2.listing__ds__week
+ , subq_2.listing__ds__month
+ , subq_2.listing__ds__quarter
+ , subq_2.listing__ds__year
+ , subq_2.listing__ds__extract_year
+ , subq_2.listing__ds__extract_quarter
+ , subq_2.listing__ds__extract_month
+ , subq_2.listing__ds__extract_day
+ , subq_2.listing__ds__extract_dow
+ , subq_2.listing__ds__extract_doy
+ , subq_2.listing__created_at__day
+ , subq_2.listing__created_at__week
+ , subq_2.listing__created_at__month
+ , subq_2.listing__created_at__quarter
+ , subq_2.listing__created_at__year
+ , subq_2.listing__created_at__extract_year
+ , subq_2.listing__created_at__extract_quarter
+ , subq_2.listing__created_at__extract_month
+ , subq_2.listing__created_at__extract_day
+ , subq_2.listing__created_at__extract_dow
+ , subq_2.listing__created_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.user
+ , subq_2.listing__user
+ , subq_2.country_latest
+ , subq_2.is_lux_latest
+ , subq_2.capacity_latest
+ , subq_2.listing__country_latest
+ , subq_2.listing__is_lux_latest
+ , subq_2.listing__capacity_latest
+ , subq_2.listings
+ , subq_2.largest_listing
+ , subq_2.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -1120,231 +1120,231 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_2
+ ) subq_11
+ ) subq_12
ON
- subq_11.listing = subq_14.listing
- ) subq_15
+ subq_10.listing = subq_12.listing
+ ) subq_13
WHERE (listing__is_lux_latest) AND (booking__is_instant)
- ) subq_16
- ) subq_17
- ) subq_18
- ) subq_19
+ ) subq_14
+ ) subq_15
+ ) subq_16
+ ) subq_17
CROSS JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_24.booking_value
+ subq_21.booking_value
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_23.booking_value) AS booking_value
+ SUM(subq_20.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value',]
SELECT
- subq_22.booking_value
+ subq_19.booking_value
FROM (
-- Constrain Output with WHERE
SELECT
- subq_21.ds__day
- , subq_21.ds__week
- , subq_21.ds__month
- , subq_21.ds__quarter
- , subq_21.ds__year
- , subq_21.ds__extract_year
- , subq_21.ds__extract_quarter
- , subq_21.ds__extract_month
- , subq_21.ds__extract_day
- , subq_21.ds__extract_dow
- , subq_21.ds__extract_doy
- , subq_21.ds_partitioned__day
- , subq_21.ds_partitioned__week
- , subq_21.ds_partitioned__month
- , subq_21.ds_partitioned__quarter
- , subq_21.ds_partitioned__year
- , subq_21.ds_partitioned__extract_year
- , subq_21.ds_partitioned__extract_quarter
- , subq_21.ds_partitioned__extract_month
- , subq_21.ds_partitioned__extract_day
- , subq_21.ds_partitioned__extract_dow
- , subq_21.ds_partitioned__extract_doy
- , subq_21.paid_at__day
- , subq_21.paid_at__week
- , subq_21.paid_at__month
- , subq_21.paid_at__quarter
- , subq_21.paid_at__year
- , subq_21.paid_at__extract_year
- , subq_21.paid_at__extract_quarter
- , subq_21.paid_at__extract_month
- , subq_21.paid_at__extract_day
- , subq_21.paid_at__extract_dow
- , subq_21.paid_at__extract_doy
- , subq_21.booking__ds__day
- , subq_21.booking__ds__week
- , subq_21.booking__ds__month
- , subq_21.booking__ds__quarter
- , subq_21.booking__ds__year
- , subq_21.booking__ds__extract_year
- , subq_21.booking__ds__extract_quarter
- , subq_21.booking__ds__extract_month
- , subq_21.booking__ds__extract_day
- , subq_21.booking__ds__extract_dow
- , subq_21.booking__ds__extract_doy
- , subq_21.booking__ds_partitioned__day
- , subq_21.booking__ds_partitioned__week
- , subq_21.booking__ds_partitioned__month
- , subq_21.booking__ds_partitioned__quarter
- , subq_21.booking__ds_partitioned__year
- , subq_21.booking__ds_partitioned__extract_year
- , subq_21.booking__ds_partitioned__extract_quarter
- , subq_21.booking__ds_partitioned__extract_month
- , subq_21.booking__ds_partitioned__extract_day
- , subq_21.booking__ds_partitioned__extract_dow
- , subq_21.booking__ds_partitioned__extract_doy
- , subq_21.booking__paid_at__day
- , subq_21.booking__paid_at__week
- , subq_21.booking__paid_at__month
- , subq_21.booking__paid_at__quarter
- , subq_21.booking__paid_at__year
- , subq_21.booking__paid_at__extract_year
- , subq_21.booking__paid_at__extract_quarter
- , subq_21.booking__paid_at__extract_month
- , subq_21.booking__paid_at__extract_day
- , subq_21.booking__paid_at__extract_dow
- , subq_21.booking__paid_at__extract_doy
- , subq_21.metric_time__day
- , subq_21.metric_time__week
- , subq_21.metric_time__month
- , subq_21.metric_time__quarter
- , subq_21.metric_time__year
- , subq_21.metric_time__extract_year
- , subq_21.metric_time__extract_quarter
- , subq_21.metric_time__extract_month
- , subq_21.metric_time__extract_day
- , subq_21.metric_time__extract_dow
- , subq_21.metric_time__extract_doy
- , subq_21.listing
- , subq_21.guest
- , subq_21.host
- , subq_21.booking__listing
- , subq_21.booking__guest
- , subq_21.booking__host
- , subq_21.is_instant
- , subq_21.booking__is_instant
- , subq_21.bookings
- , subq_21.instant_bookings
- , subq_21.booking_value
- , subq_21.max_booking_value
- , subq_21.min_booking_value
- , subq_21.bookers
- , subq_21.average_booking_value
- , subq_21.referred_bookings
- , subq_21.median_booking_value
- , subq_21.booking_value_p99
- , subq_21.discrete_booking_value_p99
- , subq_21.approximate_continuous_booking_value_p99
- , subq_21.approximate_discrete_booking_value_p99
+ subq_18.ds__day
+ , subq_18.ds__week
+ , subq_18.ds__month
+ , subq_18.ds__quarter
+ , subq_18.ds__year
+ , subq_18.ds__extract_year
+ , subq_18.ds__extract_quarter
+ , subq_18.ds__extract_month
+ , subq_18.ds__extract_day
+ , subq_18.ds__extract_dow
+ , subq_18.ds__extract_doy
+ , subq_18.ds_partitioned__day
+ , subq_18.ds_partitioned__week
+ , subq_18.ds_partitioned__month
+ , subq_18.ds_partitioned__quarter
+ , subq_18.ds_partitioned__year
+ , subq_18.ds_partitioned__extract_year
+ , subq_18.ds_partitioned__extract_quarter
+ , subq_18.ds_partitioned__extract_month
+ , subq_18.ds_partitioned__extract_day
+ , subq_18.ds_partitioned__extract_dow
+ , subq_18.ds_partitioned__extract_doy
+ , subq_18.paid_at__day
+ , subq_18.paid_at__week
+ , subq_18.paid_at__month
+ , subq_18.paid_at__quarter
+ , subq_18.paid_at__year
+ , subq_18.paid_at__extract_year
+ , subq_18.paid_at__extract_quarter
+ , subq_18.paid_at__extract_month
+ , subq_18.paid_at__extract_day
+ , subq_18.paid_at__extract_dow
+ , subq_18.paid_at__extract_doy
+ , subq_18.booking__ds__day
+ , subq_18.booking__ds__week
+ , subq_18.booking__ds__month
+ , subq_18.booking__ds__quarter
+ , subq_18.booking__ds__year
+ , subq_18.booking__ds__extract_year
+ , subq_18.booking__ds__extract_quarter
+ , subq_18.booking__ds__extract_month
+ , subq_18.booking__ds__extract_day
+ , subq_18.booking__ds__extract_dow
+ , subq_18.booking__ds__extract_doy
+ , subq_18.booking__ds_partitioned__day
+ , subq_18.booking__ds_partitioned__week
+ , subq_18.booking__ds_partitioned__month
+ , subq_18.booking__ds_partitioned__quarter
+ , subq_18.booking__ds_partitioned__year
+ , subq_18.booking__ds_partitioned__extract_year
+ , subq_18.booking__ds_partitioned__extract_quarter
+ , subq_18.booking__ds_partitioned__extract_month
+ , subq_18.booking__ds_partitioned__extract_day
+ , subq_18.booking__ds_partitioned__extract_dow
+ , subq_18.booking__ds_partitioned__extract_doy
+ , subq_18.booking__paid_at__day
+ , subq_18.booking__paid_at__week
+ , subq_18.booking__paid_at__month
+ , subq_18.booking__paid_at__quarter
+ , subq_18.booking__paid_at__year
+ , subq_18.booking__paid_at__extract_year
+ , subq_18.booking__paid_at__extract_quarter
+ , subq_18.booking__paid_at__extract_month
+ , subq_18.booking__paid_at__extract_day
+ , subq_18.booking__paid_at__extract_dow
+ , subq_18.booking__paid_at__extract_doy
+ , subq_18.metric_time__day
+ , subq_18.metric_time__week
+ , subq_18.metric_time__month
+ , subq_18.metric_time__quarter
+ , subq_18.metric_time__year
+ , subq_18.metric_time__extract_year
+ , subq_18.metric_time__extract_quarter
+ , subq_18.metric_time__extract_month
+ , subq_18.metric_time__extract_day
+ , subq_18.metric_time__extract_dow
+ , subq_18.metric_time__extract_doy
+ , subq_18.listing
+ , subq_18.guest
+ , subq_18.host
+ , subq_18.booking__listing
+ , subq_18.booking__guest
+ , subq_18.booking__host
+ , subq_18.is_instant
+ , subq_18.booking__is_instant
+ , subq_18.bookings
+ , subq_18.instant_bookings
+ , subq_18.booking_value
+ , subq_18.max_booking_value
+ , subq_18.min_booking_value
+ , subq_18.bookers
+ , subq_18.average_booking_value
+ , subq_18.referred_bookings
+ , subq_18.median_booking_value
+ , subq_18.booking_value_p99
+ , subq_18.discrete_booking_value_p99
+ , subq_18.approximate_continuous_booking_value_p99
+ , subq_18.approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_20.ds__day
- , subq_20.ds__week
- , subq_20.ds__month
- , subq_20.ds__quarter
- , subq_20.ds__year
- , subq_20.ds__extract_year
- , subq_20.ds__extract_quarter
- , subq_20.ds__extract_month
- , subq_20.ds__extract_day
- , subq_20.ds__extract_dow
- , subq_20.ds__extract_doy
- , subq_20.ds_partitioned__day
- , subq_20.ds_partitioned__week
- , subq_20.ds_partitioned__month
- , subq_20.ds_partitioned__quarter
- , subq_20.ds_partitioned__year
- , subq_20.ds_partitioned__extract_year
- , subq_20.ds_partitioned__extract_quarter
- , subq_20.ds_partitioned__extract_month
- , subq_20.ds_partitioned__extract_day
- , subq_20.ds_partitioned__extract_dow
- , subq_20.ds_partitioned__extract_doy
- , subq_20.paid_at__day
- , subq_20.paid_at__week
- , subq_20.paid_at__month
- , subq_20.paid_at__quarter
- , subq_20.paid_at__year
- , subq_20.paid_at__extract_year
- , subq_20.paid_at__extract_quarter
- , subq_20.paid_at__extract_month
- , subq_20.paid_at__extract_day
- , subq_20.paid_at__extract_dow
- , subq_20.paid_at__extract_doy
- , subq_20.booking__ds__day
- , subq_20.booking__ds__week
- , subq_20.booking__ds__month
- , subq_20.booking__ds__quarter
- , subq_20.booking__ds__year
- , subq_20.booking__ds__extract_year
- , subq_20.booking__ds__extract_quarter
- , subq_20.booking__ds__extract_month
- , subq_20.booking__ds__extract_day
- , subq_20.booking__ds__extract_dow
- , subq_20.booking__ds__extract_doy
- , subq_20.booking__ds_partitioned__day
- , subq_20.booking__ds_partitioned__week
- , subq_20.booking__ds_partitioned__month
- , subq_20.booking__ds_partitioned__quarter
- , subq_20.booking__ds_partitioned__year
- , subq_20.booking__ds_partitioned__extract_year
- , subq_20.booking__ds_partitioned__extract_quarter
- , subq_20.booking__ds_partitioned__extract_month
- , subq_20.booking__ds_partitioned__extract_day
- , subq_20.booking__ds_partitioned__extract_dow
- , subq_20.booking__ds_partitioned__extract_doy
- , subq_20.booking__paid_at__day
- , subq_20.booking__paid_at__week
- , subq_20.booking__paid_at__month
- , subq_20.booking__paid_at__quarter
- , subq_20.booking__paid_at__year
- , subq_20.booking__paid_at__extract_year
- , subq_20.booking__paid_at__extract_quarter
- , subq_20.booking__paid_at__extract_month
- , subq_20.booking__paid_at__extract_day
- , subq_20.booking__paid_at__extract_dow
- , subq_20.booking__paid_at__extract_doy
- , subq_20.ds__day AS metric_time__day
- , subq_20.ds__week AS metric_time__week
- , subq_20.ds__month AS metric_time__month
- , subq_20.ds__quarter AS metric_time__quarter
- , subq_20.ds__year AS metric_time__year
- , subq_20.ds__extract_year AS metric_time__extract_year
- , subq_20.ds__extract_quarter AS metric_time__extract_quarter
- , subq_20.ds__extract_month AS metric_time__extract_month
- , subq_20.ds__extract_day AS metric_time__extract_day
- , subq_20.ds__extract_dow AS metric_time__extract_dow
- , subq_20.ds__extract_doy AS metric_time__extract_doy
- , subq_20.listing
- , subq_20.guest
- , subq_20.host
- , subq_20.booking__listing
- , subq_20.booking__guest
- , subq_20.booking__host
- , subq_20.is_instant
- , subq_20.booking__is_instant
- , subq_20.bookings
- , subq_20.instant_bookings
- , subq_20.booking_value
- , subq_20.max_booking_value
- , subq_20.min_booking_value
- , subq_20.bookers
- , subq_20.average_booking_value
- , subq_20.referred_bookings
- , subq_20.median_booking_value
- , subq_20.booking_value_p99
- , subq_20.discrete_booking_value_p99
- , subq_20.approximate_continuous_booking_value_p99
- , subq_20.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -1437,12 +1437,12 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_20
- ) subq_21
+ ) subq_0
+ ) subq_18
WHERE booking__is_instant
- ) subq_22
- ) subq_23
- ) subq_24
- ) subq_25
- ) subq_26
-) subq_27
+ ) subq_19
+ ) subq_20
+ ) subq_21
+ ) subq_22
+ ) subq_23
+) subq_24
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_filters__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_filters__plan0_optimized.sql
index d61665f8ea..2f1a95fd07 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_filters__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_nested_filters__plan0_optimized.sql
@@ -14,9 +14,9 @@ FROM (
FROM (
-- Combine Aggregated Outputs
SELECT
- MAX(subq_37.average_booking_value) AS average_booking_value
- , MAX(subq_37.bookings) AS bookings
- , MAX(subq_43.booking_value) AS booking_value
+ MAX(subq_34.average_booking_value) AS average_booking_value
+ , MAX(subq_34.bookings) AS bookings
+ , MAX(subq_40.booking_value) AS booking_value
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['average_booking_value', 'bookings']
@@ -29,9 +29,9 @@ FROM (
-- Join Standard Outputs
SELECT
listings_latest_src_28000.is_lux AS listing__is_lux_latest
- , subq_29.booking__is_instant AS booking__is_instant
- , subq_29.bookings AS bookings
- , subq_29.average_booking_value AS average_booking_value
+ , subq_26.booking__is_instant AS booking__is_instant
+ , subq_26.bookings AS bookings
+ , subq_26.average_booking_value AS average_booking_value
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -41,14 +41,14 @@ FROM (
, 1 AS bookings
, booking_value AS average_booking_value
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_29
+ ) subq_26
LEFT OUTER JOIN
***************************.dim_listings_latest listings_latest_src_28000
ON
- subq_29.listing = listings_latest_src_28000.listing_id
- ) subq_33
+ subq_26.listing = listings_latest_src_28000.listing_id
+ ) subq_30
WHERE (listing__is_lux_latest) AND (booking__is_instant)
- ) subq_37
+ ) subq_34
CROSS JOIN (
-- Constrain Output with WHERE
-- Pass Only Elements: ['booking_value',]
@@ -63,8 +63,8 @@ FROM (
is_instant AS booking__is_instant
, booking_value
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_39
+ ) subq_36
WHERE booking__is_instant
- ) subq_43
- ) subq_44
-) subq_45
+ ) subq_40
+ ) subq_41
+) subq_42
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_to_grain_with_agg_time_dim__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_to_grain_with_agg_time_dim__plan0.sql
index 74ad0b6660..7ffd8d9e5b 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_to_grain_with_agg_time_dim__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_to_grain_with_agg_time_dim__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.booking__ds__day
+ subq_13.booking__ds__day
, bookings - bookings_at_start_of_month AS bookings_growth_since_start_of_month
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.booking__ds__day, subq_13.booking__ds__day) AS booking__ds__day
+ COALESCE(subq_4.booking__ds__day, subq_12.booking__ds__day) AS booking__ds__day
, MAX(subq_4.bookings) AS bookings
- , MAX(subq_13.bookings_at_start_of_month) AS bookings_at_start_of_month
+ , MAX(subq_12.bookings_at_start_of_month) AS bookings_at_start_of_month
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -230,138 +230,138 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.booking__ds__day
- , subq_12.bookings AS bookings_at_start_of_month
+ subq_11.booking__ds__day
+ , subq_11.bookings AS bookings_at_start_of_month
FROM (
-- Aggregate Measures
SELECT
- subq_11.booking__ds__day
- , SUM(subq_11.bookings) AS bookings
+ subq_10.booking__ds__day
+ , SUM(subq_10.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'booking__ds__day']
SELECT
- subq_10.booking__ds__day
- , subq_10.bookings
+ subq_9.booking__ds__day
+ , subq_9.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_9.booking__ds__day AS booking__ds__day
- , subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.ds_partitioned__day AS ds_partitioned__day
- , subq_6.ds_partitioned__week AS ds_partitioned__week
- , subq_6.ds_partitioned__month AS ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_6.paid_at__day AS paid_at__day
- , subq_6.paid_at__week AS paid_at__week
- , subq_6.paid_at__month AS paid_at__month
- , subq_6.paid_at__quarter AS paid_at__quarter
- , subq_6.paid_at__year AS paid_at__year
- , subq_6.paid_at__extract_year AS paid_at__extract_year
- , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_6.paid_at__extract_month AS paid_at__extract_month
- , subq_6.paid_at__extract_day AS paid_at__extract_day
- , subq_6.paid_at__extract_dow AS paid_at__extract_dow
- , subq_6.paid_at__extract_doy AS paid_at__extract_doy
- , subq_6.booking__ds__week AS booking__ds__week
- , subq_6.booking__ds__month AS booking__ds__month
- , subq_6.booking__ds__quarter AS booking__ds__quarter
- , subq_6.booking__ds__year AS booking__ds__year
- , subq_6.booking__ds__extract_year AS booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month AS booking__ds__extract_month
- , subq_6.booking__ds__extract_day AS booking__ds__extract_day
- , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day AS booking__paid_at__day
- , subq_6.booking__paid_at__week AS booking__paid_at__week
- , subq_6.booking__paid_at__month AS booking__paid_at__month
- , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_6.booking__paid_at__year AS booking__paid_at__year
- , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_6.metric_time__day AS metric_time__day
- , subq_6.metric_time__week AS metric_time__week
- , subq_6.metric_time__month AS metric_time__month
- , subq_6.metric_time__quarter AS metric_time__quarter
- , subq_6.metric_time__year AS metric_time__year
- , subq_6.metric_time__extract_year AS metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS metric_time__extract_month
- , subq_6.metric_time__extract_day AS metric_time__extract_day
- , subq_6.metric_time__extract_dow AS metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS metric_time__extract_doy
- , subq_6.listing AS listing
- , subq_6.guest AS guest
- , subq_6.host AS host
- , subq_6.booking__listing AS booking__listing
- , subq_6.booking__guest AS booking__guest
- , subq_6.booking__host AS booking__host
- , subq_6.is_instant AS is_instant
- , subq_6.booking__is_instant AS booking__is_instant
- , subq_6.bookings AS bookings
- , subq_6.instant_bookings AS instant_bookings
- , subq_6.booking_value AS booking_value
- , subq_6.max_booking_value AS max_booking_value
- , subq_6.min_booking_value AS min_booking_value
- , subq_6.bookers AS bookers
- , subq_6.average_booking_value AS average_booking_value
- , subq_6.referred_bookings AS referred_bookings
- , subq_6.median_booking_value AS median_booking_value
- , subq_6.booking_value_p99 AS booking_value_p99
- , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_8.booking__ds__day AS booking__ds__day
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__day AS metric_time__day
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['booking__ds__day',]
SELECT
- subq_8.booking__ds__day
+ subq_7.booking__ds__day
FROM (
-- Change Column Aliases
SELECT
- subq_7.ds__day AS booking__ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds__martian_day
+ subq_6.ds__day AS booking__ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -378,110 +378,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -574,18 +574,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
ON
- DATE_TRUNC('month', subq_9.booking__ds__day) = subq_6.booking__ds__day
- ) subq_10
- ) subq_11
+ DATE_TRUNC('month', subq_8.booking__ds__day) = subq_5.booking__ds__day
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.booking__ds__day
- ) subq_12
- ) subq_13
+ subq_10.booking__ds__day
+ ) subq_11
+ ) subq_12
ON
- subq_4.booking__ds__day = subq_13.booking__ds__day
+ subq_4.booking__ds__day = subq_12.booking__ds__day
GROUP BY
- COALESCE(subq_4.booking__ds__day, subq_13.booking__ds__day)
-) subq_14
+ COALESCE(subq_4.booking__ds__day, subq_12.booking__ds__day)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_to_grain_with_agg_time_dim__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_to_grain_with_agg_time_dim__plan0_optimized.sql
index 1807061266..af4a55d796 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_to_grain_with_agg_time_dim__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_to_grain_with_agg_time_dim__plan0_optimized.sql
@@ -18,9 +18,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_19.booking__ds__day, subq_27.booking__ds__day) AS booking__ds__day
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_27.bookings_at_start_of_month) AS bookings_at_start_of_month
+ COALESCE(subq_18.booking__ds__day, subq_26.booking__ds__day) AS booking__ds__day
+ , MAX(subq_18.bookings) AS bookings
+ , MAX(subq_26.bookings_at_start_of_month) AS bookings_at_start_of_month
FROM (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'booking__ds__day']
@@ -32,7 +32,7 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
booking__ds__day
- ) subq_19
+ ) subq_18
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'booking__ds__day']
@@ -48,9 +48,9 @@ FROM (
DATE_TRUNC('month', time_spine_src_28006.ds) = sma_28009_cte.booking__ds__day
GROUP BY
time_spine_src_28006.ds
- ) subq_27
+ ) subq_26
ON
- subq_19.booking__ds__day = subq_27.booking__ds__day
+ subq_18.booking__ds__day = subq_26.booking__ds__day
GROUP BY
- COALESCE(subq_19.booking__ds__day, subq_27.booking__ds__day)
-) subq_28
+ COALESCE(subq_18.booking__ds__day, subq_26.booking__ds__day)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_filter_and_query_have_different_granularities__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_filter_and_query_have_different_granularities__plan0.sql
index 9adac6b080..023db308cc 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_filter_and_query_have_different_granularities__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_filter_and_query_have_different_granularities__plan0.sql
@@ -6,14 +6,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__month
+ subq_15.metric_time__month
, booking_value * 0.05 / bookers AS booking_fees_last_week_per_booker_this_week
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_9.metric_time__month, subq_15.metric_time__month) AS metric_time__month
+ COALESCE(subq_9.metric_time__month, subq_14.metric_time__month) AS metric_time__month
, MAX(subq_9.booking_value) AS booking_value
- , MAX(subq_15.bookers) AS bookers
+ , MAX(subq_14.bookers) AS bookers
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -478,220 +478,220 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__month
- , subq_14.bookers
+ subq_13.metric_time__month
+ , subq_13.bookers
FROM (
-- Aggregate Measures
SELECT
- subq_13.metric_time__month
- , COUNT(DISTINCT subq_13.bookers) AS bookers
+ subq_12.metric_time__month
+ , COUNT(DISTINCT subq_12.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers', 'metric_time__month']
SELECT
- subq_12.metric_time__month
- , subq_12.bookers
+ subq_11.metric_time__month
+ , subq_11.bookers
FROM (
-- Constrain Output with WHERE
SELECT
- subq_11.ds__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds_partitioned__day
- , subq_11.ds_partitioned__week
- , subq_11.ds_partitioned__month
- , subq_11.ds_partitioned__quarter
- , subq_11.ds_partitioned__year
- , subq_11.ds_partitioned__extract_year
- , subq_11.ds_partitioned__extract_quarter
- , subq_11.ds_partitioned__extract_month
- , subq_11.ds_partitioned__extract_day
- , subq_11.ds_partitioned__extract_dow
- , subq_11.ds_partitioned__extract_doy
- , subq_11.paid_at__day
- , subq_11.paid_at__week
- , subq_11.paid_at__month
- , subq_11.paid_at__quarter
- , subq_11.paid_at__year
- , subq_11.paid_at__extract_year
- , subq_11.paid_at__extract_quarter
- , subq_11.paid_at__extract_month
- , subq_11.paid_at__extract_day
- , subq_11.paid_at__extract_dow
- , subq_11.paid_at__extract_doy
- , subq_11.booking__ds__day
- , subq_11.booking__ds__week
- , subq_11.booking__ds__month
- , subq_11.booking__ds__quarter
- , subq_11.booking__ds__year
- , subq_11.booking__ds__extract_year
- , subq_11.booking__ds__extract_quarter
- , subq_11.booking__ds__extract_month
- , subq_11.booking__ds__extract_day
- , subq_11.booking__ds__extract_dow
- , subq_11.booking__ds__extract_doy
- , subq_11.booking__ds_partitioned__day
- , subq_11.booking__ds_partitioned__week
- , subq_11.booking__ds_partitioned__month
- , subq_11.booking__ds_partitioned__quarter
- , subq_11.booking__ds_partitioned__year
- , subq_11.booking__ds_partitioned__extract_year
- , subq_11.booking__ds_partitioned__extract_quarter
- , subq_11.booking__ds_partitioned__extract_month
- , subq_11.booking__ds_partitioned__extract_day
- , subq_11.booking__ds_partitioned__extract_dow
- , subq_11.booking__ds_partitioned__extract_doy
- , subq_11.booking__paid_at__day
- , subq_11.booking__paid_at__week
- , subq_11.booking__paid_at__month
- , subq_11.booking__paid_at__quarter
- , subq_11.booking__paid_at__year
- , subq_11.booking__paid_at__extract_year
- , subq_11.booking__paid_at__extract_quarter
- , subq_11.booking__paid_at__extract_month
- , subq_11.booking__paid_at__extract_day
- , subq_11.booking__paid_at__extract_dow
- , subq_11.booking__paid_at__extract_doy
- , subq_11.metric_time__day
- , subq_11.metric_time__week
- , subq_11.metric_time__month
- , subq_11.metric_time__quarter
- , subq_11.metric_time__year
- , subq_11.metric_time__extract_year
- , subq_11.metric_time__extract_quarter
- , subq_11.metric_time__extract_month
- , subq_11.metric_time__extract_day
- , subq_11.metric_time__extract_dow
- , subq_11.metric_time__extract_doy
- , subq_11.listing
- , subq_11.guest
- , subq_11.host
- , subq_11.booking__listing
- , subq_11.booking__guest
- , subq_11.booking__host
- , subq_11.is_instant
- , subq_11.booking__is_instant
- , subq_11.bookings
- , subq_11.instant_bookings
- , subq_11.booking_value
- , subq_11.max_booking_value
- , subq_11.min_booking_value
- , subq_11.bookers
- , subq_11.average_booking_value
- , subq_11.referred_bookings
- , subq_11.median_booking_value
- , subq_11.booking_value_p99
- , subq_11.discrete_booking_value_p99
- , subq_11.approximate_continuous_booking_value_p99
- , subq_11.approximate_discrete_booking_value_p99
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_partitioned__day
+ , subq_10.ds_partitioned__week
+ , subq_10.ds_partitioned__month
+ , subq_10.ds_partitioned__quarter
+ , subq_10.ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy
+ , subq_10.paid_at__day
+ , subq_10.paid_at__week
+ , subq_10.paid_at__month
+ , subq_10.paid_at__quarter
+ , subq_10.paid_at__year
+ , subq_10.paid_at__extract_year
+ , subq_10.paid_at__extract_quarter
+ , subq_10.paid_at__extract_month
+ , subq_10.paid_at__extract_day
+ , subq_10.paid_at__extract_dow
+ , subq_10.paid_at__extract_doy
+ , subq_10.booking__ds__day
+ , subq_10.booking__ds__week
+ , subq_10.booking__ds__month
+ , subq_10.booking__ds__quarter
+ , subq_10.booking__ds__year
+ , subq_10.booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month
+ , subq_10.booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day
+ , subq_10.booking__paid_at__week
+ , subq_10.booking__paid_at__month
+ , subq_10.booking__paid_at__quarter
+ , subq_10.booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy
+ , subq_10.metric_time__day
+ , subq_10.metric_time__week
+ , subq_10.metric_time__month
+ , subq_10.metric_time__quarter
+ , subq_10.metric_time__year
+ , subq_10.metric_time__extract_year
+ , subq_10.metric_time__extract_quarter
+ , subq_10.metric_time__extract_month
+ , subq_10.metric_time__extract_day
+ , subq_10.metric_time__extract_dow
+ , subq_10.metric_time__extract_doy
+ , subq_10.listing
+ , subq_10.guest
+ , subq_10.host
+ , subq_10.booking__listing
+ , subq_10.booking__guest
+ , subq_10.booking__host
+ , subq_10.is_instant
+ , subq_10.booking__is_instant
+ , subq_10.bookings
+ , subq_10.instant_bookings
+ , subq_10.booking_value
+ , subq_10.max_booking_value
+ , subq_10.min_booking_value
+ , subq_10.bookers
+ , subq_10.average_booking_value
+ , subq_10.referred_bookings
+ , subq_10.median_booking_value
+ , subq_10.booking_value_p99
+ , subq_10.discrete_booking_value_p99
+ , subq_10.approximate_continuous_booking_value_p99
+ , subq_10.approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_partitioned__day
- , subq_10.ds_partitioned__week
- , subq_10.ds_partitioned__month
- , subq_10.ds_partitioned__quarter
- , subq_10.ds_partitioned__year
- , subq_10.ds_partitioned__extract_year
- , subq_10.ds_partitioned__extract_quarter
- , subq_10.ds_partitioned__extract_month
- , subq_10.ds_partitioned__extract_day
- , subq_10.ds_partitioned__extract_dow
- , subq_10.ds_partitioned__extract_doy
- , subq_10.paid_at__day
- , subq_10.paid_at__week
- , subq_10.paid_at__month
- , subq_10.paid_at__quarter
- , subq_10.paid_at__year
- , subq_10.paid_at__extract_year
- , subq_10.paid_at__extract_quarter
- , subq_10.paid_at__extract_month
- , subq_10.paid_at__extract_day
- , subq_10.paid_at__extract_dow
- , subq_10.paid_at__extract_doy
- , subq_10.booking__ds__day
- , subq_10.booking__ds__week
- , subq_10.booking__ds__month
- , subq_10.booking__ds__quarter
- , subq_10.booking__ds__year
- , subq_10.booking__ds__extract_year
- , subq_10.booking__ds__extract_quarter
- , subq_10.booking__ds__extract_month
- , subq_10.booking__ds__extract_day
- , subq_10.booking__ds__extract_dow
- , subq_10.booking__ds__extract_doy
- , subq_10.booking__ds_partitioned__day
- , subq_10.booking__ds_partitioned__week
- , subq_10.booking__ds_partitioned__month
- , subq_10.booking__ds_partitioned__quarter
- , subq_10.booking__ds_partitioned__year
- , subq_10.booking__ds_partitioned__extract_year
- , subq_10.booking__ds_partitioned__extract_quarter
- , subq_10.booking__ds_partitioned__extract_month
- , subq_10.booking__ds_partitioned__extract_day
- , subq_10.booking__ds_partitioned__extract_dow
- , subq_10.booking__ds_partitioned__extract_doy
- , subq_10.booking__paid_at__day
- , subq_10.booking__paid_at__week
- , subq_10.booking__paid_at__month
- , subq_10.booking__paid_at__quarter
- , subq_10.booking__paid_at__year
- , subq_10.booking__paid_at__extract_year
- , subq_10.booking__paid_at__extract_quarter
- , subq_10.booking__paid_at__extract_month
- , subq_10.booking__paid_at__extract_day
- , subq_10.booking__paid_at__extract_dow
- , subq_10.booking__paid_at__extract_doy
- , subq_10.ds__day AS metric_time__day
- , subq_10.ds__week AS metric_time__week
- , subq_10.ds__month AS metric_time__month
- , subq_10.ds__quarter AS metric_time__quarter
- , subq_10.ds__year AS metric_time__year
- , subq_10.ds__extract_year AS metric_time__extract_year
- , subq_10.ds__extract_quarter AS metric_time__extract_quarter
- , subq_10.ds__extract_month AS metric_time__extract_month
- , subq_10.ds__extract_day AS metric_time__extract_day
- , subq_10.ds__extract_dow AS metric_time__extract_dow
- , subq_10.ds__extract_doy AS metric_time__extract_doy
- , subq_10.listing
- , subq_10.guest
- , subq_10.host
- , subq_10.booking__listing
- , subq_10.booking__guest
- , subq_10.booking__host
- , subq_10.is_instant
- , subq_10.booking__is_instant
- , subq_10.bookings
- , subq_10.instant_bookings
- , subq_10.booking_value
- , subq_10.max_booking_value
- , subq_10.min_booking_value
- , subq_10.bookers
- , subq_10.average_booking_value
- , subq_10.referred_bookings
- , subq_10.median_booking_value
- , subq_10.booking_value_p99
- , subq_10.discrete_booking_value_p99
- , subq_10.approximate_continuous_booking_value_p99
- , subq_10.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -784,17 +784,17 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_10
- ) subq_11
+ ) subq_0
+ ) subq_10
WHERE metric_time__day = '2020-01-01'
- ) subq_12
- ) subq_13
+ ) subq_11
+ ) subq_12
GROUP BY
- subq_13.metric_time__month
- ) subq_14
- ) subq_15
+ subq_12.metric_time__month
+ ) subq_13
+ ) subq_14
ON
- subq_9.metric_time__month = subq_15.metric_time__month
+ subq_9.metric_time__month = subq_14.metric_time__month
GROUP BY
- COALESCE(subq_9.metric_time__month, subq_15.metric_time__month)
-) subq_16
+ COALESCE(subq_9.metric_time__month, subq_14.metric_time__month)
+) subq_15
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_filter_and_query_have_different_granularities__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_filter_and_query_have_different_granularities__plan0_optimized.sql
index da13fedcc1..aa7429584a 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_filter_and_query_have_different_granularities__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_filter_and_query_have_different_granularities__plan0_optimized.sql
@@ -22,9 +22,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_26.metric_time__month, subq_31.metric_time__month) AS metric_time__month
- , MAX(subq_26.booking_value) AS booking_value
- , MAX(subq_31.bookers) AS bookers
+ COALESCE(subq_25.metric_time__month, subq_30.metric_time__month) AS metric_time__month
+ , MAX(subq_25.booking_value) AS booking_value
+ , MAX(subq_30.bookers) AS bookers
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['booking_value', 'metric_time__month']
@@ -44,11 +44,11 @@ FROM (
sma_28009_cte sma_28009_cte
ON
time_spine_src_28006.ds - INTERVAL 1 week = sma_28009_cte.metric_time__day
- ) subq_22
+ ) subq_21
WHERE metric_time__day = '2020-01-01'
GROUP BY
metric_time__month
- ) subq_26
+ ) subq_25
FULL OUTER JOIN (
-- Constrain Output with WHERE
-- Pass Only Elements: ['bookers', 'metric_time__month']
@@ -62,15 +62,16 @@ FROM (
SELECT
metric_time__day
, metric_time__month
+ , booking_value
, bookers
FROM sma_28009_cte sma_28009_cte
- ) subq_27
+ ) subq_26
WHERE metric_time__day = '2020-01-01'
GROUP BY
metric_time__month
- ) subq_31
+ ) subq_30
ON
- subq_26.metric_time__month = subq_31.metric_time__month
+ subq_25.metric_time__month = subq_30.metric_time__month
GROUP BY
- COALESCE(subq_26.metric_time__month, subq_31.metric_time__month)
-) subq_32
+ COALESCE(subq_25.metric_time__month, subq_30.metric_time__month)
+) subq_31
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_multiple_granularities__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_multiple_granularities__plan0.sql
index 096248f5d2..f5feabbb98 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_multiple_granularities__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_multiple_granularities__plan0.sql
@@ -6,18 +6,18 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__day
- , subq_14.metric_time__month
- , subq_14.metric_time__year
+ subq_13.metric_time__day
+ , subq_13.metric_time__month
+ , subq_13.metric_time__year
, booking_value * 0.05 / bookers AS booking_fees_last_week_per_booker_this_week
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_8.metric_time__day, subq_13.metric_time__day) AS metric_time__day
- , COALESCE(subq_8.metric_time__month, subq_13.metric_time__month) AS metric_time__month
- , COALESCE(subq_8.metric_time__year, subq_13.metric_time__year) AS metric_time__year
+ COALESCE(subq_8.metric_time__day, subq_12.metric_time__day) AS metric_time__day
+ , COALESCE(subq_8.metric_time__month, subq_12.metric_time__month) AS metric_time__month
+ , COALESCE(subq_8.metric_time__year, subq_12.metric_time__year) AS metric_time__year
, MAX(subq_8.booking_value) AS booking_value
- , MAX(subq_13.bookers) AS bookers
+ , MAX(subq_12.bookers) AS bookers
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -388,125 +388,125 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__day
- , subq_12.metric_time__month
- , subq_12.metric_time__year
- , subq_12.bookers
+ subq_11.metric_time__day
+ , subq_11.metric_time__month
+ , subq_11.metric_time__year
+ , subq_11.bookers
FROM (
-- Aggregate Measures
SELECT
- subq_11.metric_time__day
- , subq_11.metric_time__month
- , subq_11.metric_time__year
- , COUNT(DISTINCT subq_11.bookers) AS bookers
+ subq_10.metric_time__day
+ , subq_10.metric_time__month
+ , subq_10.metric_time__year
+ , COUNT(DISTINCT subq_10.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers', 'metric_time__day', 'metric_time__month', 'metric_time__year']
SELECT
- subq_10.metric_time__day
- , subq_10.metric_time__month
- , subq_10.metric_time__year
- , subq_10.bookers
+ subq_9.metric_time__day
+ , subq_9.metric_time__month
+ , subq_9.metric_time__year
+ , subq_9.bookers
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_partitioned__day
- , subq_9.ds_partitioned__week
- , subq_9.ds_partitioned__month
- , subq_9.ds_partitioned__quarter
- , subq_9.ds_partitioned__year
- , subq_9.ds_partitioned__extract_year
- , subq_9.ds_partitioned__extract_quarter
- , subq_9.ds_partitioned__extract_month
- , subq_9.ds_partitioned__extract_day
- , subq_9.ds_partitioned__extract_dow
- , subq_9.ds_partitioned__extract_doy
- , subq_9.paid_at__day
- , subq_9.paid_at__week
- , subq_9.paid_at__month
- , subq_9.paid_at__quarter
- , subq_9.paid_at__year
- , subq_9.paid_at__extract_year
- , subq_9.paid_at__extract_quarter
- , subq_9.paid_at__extract_month
- , subq_9.paid_at__extract_day
- , subq_9.paid_at__extract_dow
- , subq_9.paid_at__extract_doy
- , subq_9.booking__ds__day
- , subq_9.booking__ds__week
- , subq_9.booking__ds__month
- , subq_9.booking__ds__quarter
- , subq_9.booking__ds__year
- , subq_9.booking__ds__extract_year
- , subq_9.booking__ds__extract_quarter
- , subq_9.booking__ds__extract_month
- , subq_9.booking__ds__extract_day
- , subq_9.booking__ds__extract_dow
- , subq_9.booking__ds__extract_doy
- , subq_9.booking__ds_partitioned__day
- , subq_9.booking__ds_partitioned__week
- , subq_9.booking__ds_partitioned__month
- , subq_9.booking__ds_partitioned__quarter
- , subq_9.booking__ds_partitioned__year
- , subq_9.booking__ds_partitioned__extract_year
- , subq_9.booking__ds_partitioned__extract_quarter
- , subq_9.booking__ds_partitioned__extract_month
- , subq_9.booking__ds_partitioned__extract_day
- , subq_9.booking__ds_partitioned__extract_dow
- , subq_9.booking__ds_partitioned__extract_doy
- , subq_9.booking__paid_at__day
- , subq_9.booking__paid_at__week
- , subq_9.booking__paid_at__month
- , subq_9.booking__paid_at__quarter
- , subq_9.booking__paid_at__year
- , subq_9.booking__paid_at__extract_year
- , subq_9.booking__paid_at__extract_quarter
- , subq_9.booking__paid_at__extract_month
- , subq_9.booking__paid_at__extract_day
- , subq_9.booking__paid_at__extract_dow
- , subq_9.booking__paid_at__extract_doy
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.listing
- , subq_9.guest
- , subq_9.host
- , subq_9.booking__listing
- , subq_9.booking__guest
- , subq_9.booking__host
- , subq_9.is_instant
- , subq_9.booking__is_instant
- , subq_9.bookings
- , subq_9.instant_bookings
- , subq_9.booking_value
- , subq_9.max_booking_value
- , subq_9.min_booking_value
- , subq_9.bookers
- , subq_9.average_booking_value
- , subq_9.referred_bookings
- , subq_9.median_booking_value
- , subq_9.booking_value_p99
- , subq_9.discrete_booking_value_p99
- , subq_9.approximate_continuous_booking_value_p99
- , subq_9.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -599,25 +599,25 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_0
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.metric_time__day
- , subq_11.metric_time__month
- , subq_11.metric_time__year
- ) subq_12
- ) subq_13
+ subq_10.metric_time__day
+ , subq_10.metric_time__month
+ , subq_10.metric_time__year
+ ) subq_11
+ ) subq_12
ON
(
- subq_8.metric_time__day = subq_13.metric_time__day
+ subq_8.metric_time__day = subq_12.metric_time__day
) AND (
- subq_8.metric_time__month = subq_13.metric_time__month
+ subq_8.metric_time__month = subq_12.metric_time__month
) AND (
- subq_8.metric_time__year = subq_13.metric_time__year
+ subq_8.metric_time__year = subq_12.metric_time__year
)
GROUP BY
- COALESCE(subq_8.metric_time__day, subq_13.metric_time__day)
- , COALESCE(subq_8.metric_time__month, subq_13.metric_time__month)
- , COALESCE(subq_8.metric_time__year, subq_13.metric_time__year)
-) subq_14
+ COALESCE(subq_8.metric_time__day, subq_12.metric_time__day)
+ , COALESCE(subq_8.metric_time__month, subq_12.metric_time__month)
+ , COALESCE(subq_8.metric_time__year, subq_12.metric_time__year)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_multiple_granularities__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_multiple_granularities__plan0_optimized.sql
index 22154d994c..4f4ace45ca 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_multiple_granularities__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_metric_multiple_granularities__plan0_optimized.sql
@@ -25,11 +25,11 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_23.metric_time__day, subq_27.metric_time__day) AS metric_time__day
- , COALESCE(subq_23.metric_time__month, subq_27.metric_time__month) AS metric_time__month
- , COALESCE(subq_23.metric_time__year, subq_27.metric_time__year) AS metric_time__year
- , MAX(subq_23.booking_value) AS booking_value
- , MAX(subq_27.bookers) AS bookers
+ COALESCE(subq_22.metric_time__day, subq_26.metric_time__day) AS metric_time__day
+ , COALESCE(subq_22.metric_time__month, subq_26.metric_time__month) AS metric_time__month
+ , COALESCE(subq_22.metric_time__year, subq_26.metric_time__year) AS metric_time__year
+ , MAX(subq_22.booking_value) AS booking_value
+ , MAX(subq_26.bookers) AS bookers
FROM (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['booking_value', 'metric_time__day', 'metric_time__month', 'metric_time__year']
@@ -49,7 +49,7 @@ FROM (
time_spine_src_28006.ds
, DATE_TRUNC('month', time_spine_src_28006.ds)
, DATE_TRUNC('year', time_spine_src_28006.ds)
- ) subq_23
+ ) subq_22
FULL OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookers', 'metric_time__day', 'metric_time__month', 'metric_time__year']
@@ -65,17 +65,17 @@ FROM (
metric_time__day
, metric_time__month
, metric_time__year
- ) subq_27
+ ) subq_26
ON
(
- subq_23.metric_time__day = subq_27.metric_time__day
+ subq_22.metric_time__day = subq_26.metric_time__day
) AND (
- subq_23.metric_time__month = subq_27.metric_time__month
+ subq_22.metric_time__month = subq_26.metric_time__month
) AND (
- subq_23.metric_time__year = subq_27.metric_time__year
+ subq_22.metric_time__year = subq_26.metric_time__year
)
GROUP BY
- COALESCE(subq_23.metric_time__day, subq_27.metric_time__day)
- , COALESCE(subq_23.metric_time__month, subq_27.metric_time__month)
- , COALESCE(subq_23.metric_time__year, subq_27.metric_time__year)
-) subq_28
+ COALESCE(subq_22.metric_time__day, subq_26.metric_time__day)
+ , COALESCE(subq_22.metric_time__month, subq_26.metric_time__month)
+ , COALESCE(subq_22.metric_time__year, subq_26.metric_time__year)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_with_agg_time_dim__plan0.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_with_agg_time_dim__plan0.sql
index 84f8f72bd6..035c30ce60 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_with_agg_time_dim__plan0.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_with_agg_time_dim__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.booking__ds__day
+ subq_13.booking__ds__day
, bookings - bookings_2_weeks_ago AS bookings_growth_2_weeks
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.booking__ds__day, subq_13.booking__ds__day) AS booking__ds__day
+ COALESCE(subq_4.booking__ds__day, subq_12.booking__ds__day) AS booking__ds__day
, MAX(subq_4.bookings) AS bookings
- , MAX(subq_13.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ , MAX(subq_12.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -230,138 +230,138 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.booking__ds__day
- , subq_12.bookings AS bookings_2_weeks_ago
+ subq_11.booking__ds__day
+ , subq_11.bookings AS bookings_2_weeks_ago
FROM (
-- Aggregate Measures
SELECT
- subq_11.booking__ds__day
- , SUM(subq_11.bookings) AS bookings
+ subq_10.booking__ds__day
+ , SUM(subq_10.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'booking__ds__day']
SELECT
- subq_10.booking__ds__day
- , subq_10.bookings
+ subq_9.booking__ds__day
+ , subq_9.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_9.booking__ds__day AS booking__ds__day
- , subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.ds_partitioned__day AS ds_partitioned__day
- , subq_6.ds_partitioned__week AS ds_partitioned__week
- , subq_6.ds_partitioned__month AS ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_6.paid_at__day AS paid_at__day
- , subq_6.paid_at__week AS paid_at__week
- , subq_6.paid_at__month AS paid_at__month
- , subq_6.paid_at__quarter AS paid_at__quarter
- , subq_6.paid_at__year AS paid_at__year
- , subq_6.paid_at__extract_year AS paid_at__extract_year
- , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_6.paid_at__extract_month AS paid_at__extract_month
- , subq_6.paid_at__extract_day AS paid_at__extract_day
- , subq_6.paid_at__extract_dow AS paid_at__extract_dow
- , subq_6.paid_at__extract_doy AS paid_at__extract_doy
- , subq_6.booking__ds__week AS booking__ds__week
- , subq_6.booking__ds__month AS booking__ds__month
- , subq_6.booking__ds__quarter AS booking__ds__quarter
- , subq_6.booking__ds__year AS booking__ds__year
- , subq_6.booking__ds__extract_year AS booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month AS booking__ds__extract_month
- , subq_6.booking__ds__extract_day AS booking__ds__extract_day
- , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day AS booking__paid_at__day
- , subq_6.booking__paid_at__week AS booking__paid_at__week
- , subq_6.booking__paid_at__month AS booking__paid_at__month
- , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_6.booking__paid_at__year AS booking__paid_at__year
- , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_6.metric_time__day AS metric_time__day
- , subq_6.metric_time__week AS metric_time__week
- , subq_6.metric_time__month AS metric_time__month
- , subq_6.metric_time__quarter AS metric_time__quarter
- , subq_6.metric_time__year AS metric_time__year
- , subq_6.metric_time__extract_year AS metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS metric_time__extract_month
- , subq_6.metric_time__extract_day AS metric_time__extract_day
- , subq_6.metric_time__extract_dow AS metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS metric_time__extract_doy
- , subq_6.listing AS listing
- , subq_6.guest AS guest
- , subq_6.host AS host
- , subq_6.booking__listing AS booking__listing
- , subq_6.booking__guest AS booking__guest
- , subq_6.booking__host AS booking__host
- , subq_6.is_instant AS is_instant
- , subq_6.booking__is_instant AS booking__is_instant
- , subq_6.bookings AS bookings
- , subq_6.instant_bookings AS instant_bookings
- , subq_6.booking_value AS booking_value
- , subq_6.max_booking_value AS max_booking_value
- , subq_6.min_booking_value AS min_booking_value
- , subq_6.bookers AS bookers
- , subq_6.average_booking_value AS average_booking_value
- , subq_6.referred_bookings AS referred_bookings
- , subq_6.median_booking_value AS median_booking_value
- , subq_6.booking_value_p99 AS booking_value_p99
- , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_8.booking__ds__day AS booking__ds__day
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__day AS metric_time__day
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['booking__ds__day',]
SELECT
- subq_8.booking__ds__day
+ subq_7.booking__ds__day
FROM (
-- Change Column Aliases
SELECT
- subq_7.ds__day AS booking__ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds__martian_day
+ subq_6.ds__day AS booking__ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -378,110 +378,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -574,18 +574,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
ON
- subq_9.booking__ds__day - INTERVAL 14 day = subq_6.booking__ds__day
- ) subq_10
- ) subq_11
+ subq_8.booking__ds__day - INTERVAL 14 day = subq_5.booking__ds__day
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.booking__ds__day
- ) subq_12
- ) subq_13
+ subq_10.booking__ds__day
+ ) subq_11
+ ) subq_12
ON
- subq_4.booking__ds__day = subq_13.booking__ds__day
+ subq_4.booking__ds__day = subq_12.booking__ds__day
GROUP BY
- COALESCE(subq_4.booking__ds__day, subq_13.booking__ds__day)
-) subq_14
+ COALESCE(subq_4.booking__ds__day, subq_12.booking__ds__day)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_with_agg_time_dim__plan0_optimized.sql b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_with_agg_time_dim__plan0_optimized.sql
index 71f8c7e514..fe0b30bb12 100644
--- a/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_with_agg_time_dim__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_derived_metric_rendering.py/SqlPlan/DuckDB/test_offset_window_with_agg_time_dim__plan0_optimized.sql
@@ -18,9 +18,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_19.booking__ds__day, subq_27.booking__ds__day) AS booking__ds__day
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_27.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ COALESCE(subq_18.booking__ds__day, subq_26.booking__ds__day) AS booking__ds__day
+ , MAX(subq_18.bookings) AS bookings
+ , MAX(subq_26.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'booking__ds__day']
@@ -32,7 +32,7 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
booking__ds__day
- ) subq_19
+ ) subq_18
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'booking__ds__day']
@@ -48,9 +48,9 @@ FROM (
time_spine_src_28006.ds - INTERVAL 14 day = sma_28009_cte.booking__ds__day
GROUP BY
time_spine_src_28006.ds
- ) subq_27
+ ) subq_26
ON
- subq_19.booking__ds__day = subq_27.booking__ds__day
+ subq_18.booking__ds__day = subq_26.booking__ds__day
GROUP BY
- COALESCE(subq_19.booking__ds__day, subq_27.booking__ds__day)
-) subq_28
+ COALESCE(subq_18.booking__ds__day, subq_26.booking__ds__day)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_explain.py/str/test_optimization_level__result.txt b/tests_metricflow/snapshots/test_explain.py/str/test_optimization_level__result.txt
index a6d27bb8cd..09033daf88 100644
--- a/tests_metricflow/snapshots/test_explain.py/str/test_optimization_level__result.txt
+++ b/tests_metricflow/snapshots/test_explain.py/str/test_optimization_level__result.txt
@@ -7,10 +7,10 @@ expectation_description:
---
O4:
SELECT
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day) AS metric_time__day
- , COALESCE(subq_8.listing__country_latest, subq_17.listing__country_latest) AS listing__country_latest
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day) AS metric_time__day
+ , COALESCE(subq_8.listing__country_latest, subq_16.listing__country_latest) AS listing__country_latest
, MAX(subq_8.bookings) AS bookings
- , MAX(subq_17.views) AS views
+ , MAX(subq_16.views) AS views
FROM (
SELECT
subq_1.metric_time__day AS metric_time__day
@@ -50,16 +50,16 @@ O4:
GROUP BY
subq_10.metric_time__day
, listings_latest_src_10000.country
- ) subq_17
+ ) subq_16
ON
(
- subq_8.listing__country_latest = subq_17.listing__country_latest
+ subq_8.listing__country_latest = subq_16.listing__country_latest
) AND (
- subq_8.metric_time__day = subq_17.metric_time__day
+ subq_8.metric_time__day = subq_16.metric_time__day
)
GROUP BY
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day)
- , COALESCE(subq_8.listing__country_latest, subq_17.listing__country_latest)
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day)
+ , COALESCE(subq_8.listing__country_latest, subq_16.listing__country_latest)
O5:
WITH sma_10014_cte AS (
diff --git a/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_derived_fill_nulls_for_one_input_metric__plan0.sql b/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_derived_fill_nulls_for_one_input_metric__plan0.sql
index a8cf1036ed..d23fc3f4a8 100644
--- a/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_derived_fill_nulls_for_one_input_metric__plan0.sql
+++ b/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_derived_fill_nulls_for_one_input_metric__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.metric_time__day
+ subq_17.metric_time__day
, bookings_fill_nulls_with_0 - bookings_2_weeks_ago AS bookings_growth_2_weeks_fill_nulls_with_0_for_non_offset
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day) AS metric_time__day
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day) AS metric_time__day
, COALESCE(MAX(subq_8.bookings_fill_nulls_with_0), 0) AS bookings_fill_nulls_with_0
- , MAX(subq_17.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ , MAX(subq_16.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -276,138 +276,138 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_16.metric_time__day
- , subq_16.bookings AS bookings_2_weeks_ago
+ subq_15.metric_time__day
+ , subq_15.bookings AS bookings_2_weeks_ago
FROM (
-- Aggregate Measures
SELECT
- subq_15.metric_time__day
- , SUM(subq_15.bookings) AS bookings
+ subq_14.metric_time__day
+ , SUM(subq_14.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_14.metric_time__day
- , subq_14.bookings
+ subq_13.metric_time__day
+ , subq_13.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_13.metric_time__day AS metric_time__day
- , subq_10.ds__day AS ds__day
- , subq_10.ds__week AS ds__week
- , subq_10.ds__month AS ds__month
- , subq_10.ds__quarter AS ds__quarter
- , subq_10.ds__year AS ds__year
- , subq_10.ds__extract_year AS ds__extract_year
- , subq_10.ds__extract_quarter AS ds__extract_quarter
- , subq_10.ds__extract_month AS ds__extract_month
- , subq_10.ds__extract_day AS ds__extract_day
- , subq_10.ds__extract_dow AS ds__extract_dow
- , subq_10.ds__extract_doy AS ds__extract_doy
- , subq_10.ds_partitioned__day AS ds_partitioned__day
- , subq_10.ds_partitioned__week AS ds_partitioned__week
- , subq_10.ds_partitioned__month AS ds_partitioned__month
- , subq_10.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_10.ds_partitioned__year AS ds_partitioned__year
- , subq_10.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_10.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_10.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_10.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_10.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_10.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_10.paid_at__day AS paid_at__day
- , subq_10.paid_at__week AS paid_at__week
- , subq_10.paid_at__month AS paid_at__month
- , subq_10.paid_at__quarter AS paid_at__quarter
- , subq_10.paid_at__year AS paid_at__year
- , subq_10.paid_at__extract_year AS paid_at__extract_year
- , subq_10.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_10.paid_at__extract_month AS paid_at__extract_month
- , subq_10.paid_at__extract_day AS paid_at__extract_day
- , subq_10.paid_at__extract_dow AS paid_at__extract_dow
- , subq_10.paid_at__extract_doy AS paid_at__extract_doy
- , subq_10.booking__ds__day AS booking__ds__day
- , subq_10.booking__ds__week AS booking__ds__week
- , subq_10.booking__ds__month AS booking__ds__month
- , subq_10.booking__ds__quarter AS booking__ds__quarter
- , subq_10.booking__ds__year AS booking__ds__year
- , subq_10.booking__ds__extract_year AS booking__ds__extract_year
- , subq_10.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_10.booking__ds__extract_month AS booking__ds__extract_month
- , subq_10.booking__ds__extract_day AS booking__ds__extract_day
- , subq_10.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_10.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_10.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_10.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_10.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_10.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_10.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_10.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_10.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_10.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_10.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_10.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_10.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_10.booking__paid_at__day AS booking__paid_at__day
- , subq_10.booking__paid_at__week AS booking__paid_at__week
- , subq_10.booking__paid_at__month AS booking__paid_at__month
- , subq_10.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_10.booking__paid_at__year AS booking__paid_at__year
- , subq_10.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_10.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_10.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_10.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_10.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_10.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_10.metric_time__week AS metric_time__week
- , subq_10.metric_time__month AS metric_time__month
- , subq_10.metric_time__quarter AS metric_time__quarter
- , subq_10.metric_time__year AS metric_time__year
- , subq_10.metric_time__extract_year AS metric_time__extract_year
- , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_10.metric_time__extract_month AS metric_time__extract_month
- , subq_10.metric_time__extract_day AS metric_time__extract_day
- , subq_10.metric_time__extract_dow AS metric_time__extract_dow
- , subq_10.metric_time__extract_doy AS metric_time__extract_doy
- , subq_10.listing AS listing
- , subq_10.guest AS guest
- , subq_10.host AS host
- , subq_10.booking__listing AS booking__listing
- , subq_10.booking__guest AS booking__guest
- , subq_10.booking__host AS booking__host
- , subq_10.is_instant AS is_instant
- , subq_10.booking__is_instant AS booking__is_instant
- , subq_10.bookings AS bookings
- , subq_10.instant_bookings AS instant_bookings
- , subq_10.booking_value AS booking_value
- , subq_10.max_booking_value AS max_booking_value
- , subq_10.min_booking_value AS min_booking_value
- , subq_10.bookers AS bookers
- , subq_10.average_booking_value AS average_booking_value
- , subq_10.referred_bookings AS referred_bookings
- , subq_10.median_booking_value AS median_booking_value
- , subq_10.booking_value_p99 AS booking_value_p99
- , subq_10.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_10.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_10.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_12.metric_time__day AS metric_time__day
+ , subq_9.ds__day AS ds__day
+ , subq_9.ds__week AS ds__week
+ , subq_9.ds__month AS ds__month
+ , subq_9.ds__quarter AS ds__quarter
+ , subq_9.ds__year AS ds__year
+ , subq_9.ds__extract_year AS ds__extract_year
+ , subq_9.ds__extract_quarter AS ds__extract_quarter
+ , subq_9.ds__extract_month AS ds__extract_month
+ , subq_9.ds__extract_day AS ds__extract_day
+ , subq_9.ds__extract_dow AS ds__extract_dow
+ , subq_9.ds__extract_doy AS ds__extract_doy
+ , subq_9.ds_partitioned__day AS ds_partitioned__day
+ , subq_9.ds_partitioned__week AS ds_partitioned__week
+ , subq_9.ds_partitioned__month AS ds_partitioned__month
+ , subq_9.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_9.ds_partitioned__year AS ds_partitioned__year
+ , subq_9.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_9.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_9.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_9.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_9.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_9.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_9.paid_at__day AS paid_at__day
+ , subq_9.paid_at__week AS paid_at__week
+ , subq_9.paid_at__month AS paid_at__month
+ , subq_9.paid_at__quarter AS paid_at__quarter
+ , subq_9.paid_at__year AS paid_at__year
+ , subq_9.paid_at__extract_year AS paid_at__extract_year
+ , subq_9.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_9.paid_at__extract_month AS paid_at__extract_month
+ , subq_9.paid_at__extract_day AS paid_at__extract_day
+ , subq_9.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_9.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_9.booking__ds__day AS booking__ds__day
+ , subq_9.booking__ds__week AS booking__ds__week
+ , subq_9.booking__ds__month AS booking__ds__month
+ , subq_9.booking__ds__quarter AS booking__ds__quarter
+ , subq_9.booking__ds__year AS booking__ds__year
+ , subq_9.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_9.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_9.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_9.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_9.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_9.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_9.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_9.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_9.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_9.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_9.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_9.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_9.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_9.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_9.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_9.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_9.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_9.booking__paid_at__day AS booking__paid_at__day
+ , subq_9.booking__paid_at__week AS booking__paid_at__week
+ , subq_9.booking__paid_at__month AS booking__paid_at__month
+ , subq_9.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_9.booking__paid_at__year AS booking__paid_at__year
+ , subq_9.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_9.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_9.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_9.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_9.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_9.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_9.metric_time__week AS metric_time__week
+ , subq_9.metric_time__month AS metric_time__month
+ , subq_9.metric_time__quarter AS metric_time__quarter
+ , subq_9.metric_time__year AS metric_time__year
+ , subq_9.metric_time__extract_year AS metric_time__extract_year
+ , subq_9.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_9.metric_time__extract_month AS metric_time__extract_month
+ , subq_9.metric_time__extract_day AS metric_time__extract_day
+ , subq_9.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_9.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_9.listing AS listing
+ , subq_9.guest AS guest
+ , subq_9.host AS host
+ , subq_9.booking__listing AS booking__listing
+ , subq_9.booking__guest AS booking__guest
+ , subq_9.booking__host AS booking__host
+ , subq_9.is_instant AS is_instant
+ , subq_9.booking__is_instant AS booking__is_instant
+ , subq_9.bookings AS bookings
+ , subq_9.instant_bookings AS instant_bookings
+ , subq_9.booking_value AS booking_value
+ , subq_9.max_booking_value AS max_booking_value
+ , subq_9.min_booking_value AS min_booking_value
+ , subq_9.bookers AS bookers
+ , subq_9.average_booking_value AS average_booking_value
+ , subq_9.referred_bookings AS referred_bookings
+ , subq_9.median_booking_value AS median_booking_value
+ , subq_9.booking_value_p99 AS booking_value_p99
+ , subq_9.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_9.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_9.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_12.metric_time__day
+ subq_11.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_11.ds__day AS metric_time__day
- , subq_11.ds__week
- , subq_11.ds__month
- , subq_11.ds__quarter
- , subq_11.ds__year
- , subq_11.ds__extract_year
- , subq_11.ds__extract_quarter
- , subq_11.ds__extract_month
- , subq_11.ds__extract_day
- , subq_11.ds__extract_dow
- , subq_11.ds__extract_doy
- , subq_11.ds__martian_day
+ subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -424,110 +424,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_11
- ) subq_12
- ) subq_13
+ ) subq_10
+ ) subq_11
+ ) subq_12
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_partitioned__day
- , subq_9.ds_partitioned__week
- , subq_9.ds_partitioned__month
- , subq_9.ds_partitioned__quarter
- , subq_9.ds_partitioned__year
- , subq_9.ds_partitioned__extract_year
- , subq_9.ds_partitioned__extract_quarter
- , subq_9.ds_partitioned__extract_month
- , subq_9.ds_partitioned__extract_day
- , subq_9.ds_partitioned__extract_dow
- , subq_9.ds_partitioned__extract_doy
- , subq_9.paid_at__day
- , subq_9.paid_at__week
- , subq_9.paid_at__month
- , subq_9.paid_at__quarter
- , subq_9.paid_at__year
- , subq_9.paid_at__extract_year
- , subq_9.paid_at__extract_quarter
- , subq_9.paid_at__extract_month
- , subq_9.paid_at__extract_day
- , subq_9.paid_at__extract_dow
- , subq_9.paid_at__extract_doy
- , subq_9.booking__ds__day
- , subq_9.booking__ds__week
- , subq_9.booking__ds__month
- , subq_9.booking__ds__quarter
- , subq_9.booking__ds__year
- , subq_9.booking__ds__extract_year
- , subq_9.booking__ds__extract_quarter
- , subq_9.booking__ds__extract_month
- , subq_9.booking__ds__extract_day
- , subq_9.booking__ds__extract_dow
- , subq_9.booking__ds__extract_doy
- , subq_9.booking__ds_partitioned__day
- , subq_9.booking__ds_partitioned__week
- , subq_9.booking__ds_partitioned__month
- , subq_9.booking__ds_partitioned__quarter
- , subq_9.booking__ds_partitioned__year
- , subq_9.booking__ds_partitioned__extract_year
- , subq_9.booking__ds_partitioned__extract_quarter
- , subq_9.booking__ds_partitioned__extract_month
- , subq_9.booking__ds_partitioned__extract_day
- , subq_9.booking__ds_partitioned__extract_dow
- , subq_9.booking__ds_partitioned__extract_doy
- , subq_9.booking__paid_at__day
- , subq_9.booking__paid_at__week
- , subq_9.booking__paid_at__month
- , subq_9.booking__paid_at__quarter
- , subq_9.booking__paid_at__year
- , subq_9.booking__paid_at__extract_year
- , subq_9.booking__paid_at__extract_quarter
- , subq_9.booking__paid_at__extract_month
- , subq_9.booking__paid_at__extract_day
- , subq_9.booking__paid_at__extract_dow
- , subq_9.booking__paid_at__extract_doy
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.listing
- , subq_9.guest
- , subq_9.host
- , subq_9.booking__listing
- , subq_9.booking__guest
- , subq_9.booking__host
- , subq_9.is_instant
- , subq_9.booking__is_instant
- , subq_9.bookings
- , subq_9.instant_bookings
- , subq_9.booking_value
- , subq_9.max_booking_value
- , subq_9.min_booking_value
- , subq_9.bookers
- , subq_9.average_booking_value
- , subq_9.referred_bookings
- , subq_9.median_booking_value
- , subq_9.booking_value_p99
- , subq_9.discrete_booking_value_p99
- , subq_9.approximate_continuous_booking_value_p99
- , subq_9.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -620,18 +620,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_9
- ) subq_10
+ ) subq_0
+ ) subq_9
ON
- subq_13.metric_time__day - INTERVAL 14 day = subq_10.metric_time__day
- ) subq_14
- ) subq_15
+ subq_12.metric_time__day - INTERVAL 14 day = subq_9.metric_time__day
+ ) subq_13
+ ) subq_14
GROUP BY
- subq_15.metric_time__day
- ) subq_16
- ) subq_17
+ subq_14.metric_time__day
+ ) subq_15
+ ) subq_16
ON
- subq_8.metric_time__day = subq_17.metric_time__day
+ subq_8.metric_time__day = subq_16.metric_time__day
GROUP BY
- COALESCE(subq_8.metric_time__day, subq_17.metric_time__day)
-) subq_18
+ COALESCE(subq_8.metric_time__day, subq_16.metric_time__day)
+) subq_17
diff --git a/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_derived_fill_nulls_for_one_input_metric__plan0_optimized.sql b/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_derived_fill_nulls_for_one_input_metric__plan0_optimized.sql
index 04ccd15223..db84b0cd38 100644
--- a/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_derived_fill_nulls_for_one_input_metric__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_derived_fill_nulls_for_one_input_metric__plan0_optimized.sql
@@ -25,9 +25,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_27.metric_time__day, subq_35.metric_time__day) AS metric_time__day
- , COALESCE(MAX(subq_27.bookings_fill_nulls_with_0), 0) AS bookings_fill_nulls_with_0
- , MAX(subq_35.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ COALESCE(subq_26.metric_time__day, subq_34.metric_time__day) AS metric_time__day
+ , COALESCE(MAX(subq_26.bookings_fill_nulls_with_0), 0) AS bookings_fill_nulls_with_0
+ , MAX(subq_34.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -37,7 +37,7 @@ FROM (
-- Join to Time Spine Dataset
SELECT
rss_28018_cte.ds__day AS metric_time__day
- , subq_22.bookings AS bookings
+ , subq_21.bookings AS bookings
FROM rss_28018_cte rss_28018_cte
LEFT OUTER JOIN (
-- Read From CTE For node_id=sma_28009
@@ -49,11 +49,11 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__day
- ) subq_22
+ ) subq_21
ON
- rss_28018_cte.ds__day = subq_22.metric_time__day
- ) subq_26
- ) subq_27
+ rss_28018_cte.ds__day = subq_21.metric_time__day
+ ) subq_25
+ ) subq_26
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -69,9 +69,9 @@ FROM (
rss_28018_cte.ds__day - INTERVAL 14 day = sma_28009_cte.metric_time__day
GROUP BY
rss_28018_cte.ds__day
- ) subq_35
+ ) subq_34
ON
- subq_27.metric_time__day = subq_35.metric_time__day
+ subq_26.metric_time__day = subq_34.metric_time__day
GROUP BY
- COALESCE(subq_27.metric_time__day, subq_35.metric_time__day)
-) subq_36
+ COALESCE(subq_26.metric_time__day, subq_34.metric_time__day)
+) subq_35
diff --git a/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_filters__plan0.sql b/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_filters__plan0.sql
index 645f31182d..4726764c15 100644
--- a/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_filters__plan0.sql
+++ b/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_filters__plan0.sql
@@ -4,67 +4,67 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__day
- , COALESCE(subq_12.bookings, 0) AS bookings_fill_nulls_with_0
+ subq_13.metric_time__day
+ , COALESCE(subq_13.bookings, 0) AS bookings_fill_nulls_with_0
FROM (
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
SELECT
- subq_11.metric_time__day
- , subq_11.bookings
+ subq_12.metric_time__day
+ , subq_12.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_10.metric_time__day AS metric_time__day
- , subq_5.bookings AS bookings
+ subq_11.metric_time__day AS metric_time__day
+ , subq_6.bookings AS bookings
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_9.metric_time__day
+ subq_10.metric_time__day
FROM (
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
SELECT
- subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds__martian_day
+ subq_9.metric_time__day
+ , subq_9.metric_time__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.ds__martian_day
FROM (
-- Constrain Output with WHERE
SELECT
- subq_7.metric_time__day
- , subq_7.metric_time__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds__martian_day
+ subq_8.metric_time__day
+ , subq_8.metric_time__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds__martian_day
FROM (
-- Change Column Aliases
SELECT
- subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.ds__martian_day
+ subq_7.ds__day AS metric_time__day
+ , subq_7.ds__week AS metric_time__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -81,326 +81,326 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_6
- ) subq_7
+ ) subq_7
+ ) subq_8
WHERE metric_time__week > '2020-01-01'
- ) subq_8
- WHERE subq_8.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
- ) subq_9
- ) subq_10
+ ) subq_9
+ WHERE subq_9.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
+ ) subq_10
+ ) subq_11
LEFT OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_4.metric_time__day
- , SUM(subq_4.bookings) AS bookings
+ subq_5.metric_time__day
+ , SUM(subq_5.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_3.metric_time__day
- , subq_3.bookings
+ subq_4.metric_time__day
+ , subq_4.bookings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.metric_time__day
- , subq_2.metric_time__week
- , subq_2.metric_time__month
- , subq_2.metric_time__quarter
- , subq_2.metric_time__year
- , subq_2.metric_time__extract_year
- , subq_2.metric_time__extract_quarter
- , subq_2.metric_time__extract_month
- , subq_2.metric_time__extract_day
- , subq_2.metric_time__extract_dow
- , subq_2.metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.metric_time__day
+ , subq_3.metric_time__week
+ , subq_3.metric_time__month
+ , subq_3.metric_time__quarter
+ , subq_3.metric_time__year
+ , subq_3.metric_time__extract_year
+ , subq_3.metric_time__extract_quarter
+ , subq_3.metric_time__extract_month
+ , subq_3.metric_time__extract_day
+ , subq_3.metric_time__extract_dow
+ , subq_3.metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.max_booking_value
+ , subq_3.min_booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
+ , subq_3.referred_bookings
+ , subq_3.median_booking_value
+ , subq_3.booking_value_p99
+ , subq_3.discrete_booking_value_p99
+ , subq_3.approximate_continuous_booking_value_p99
+ , subq_3.approximate_discrete_booking_value_p99
FROM (
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.ds_partitioned__day
- , subq_1.ds_partitioned__week
- , subq_1.ds_partitioned__month
- , subq_1.ds_partitioned__quarter
- , subq_1.ds_partitioned__year
- , subq_1.ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy
- , subq_1.paid_at__day
- , subq_1.paid_at__week
- , subq_1.paid_at__month
- , subq_1.paid_at__quarter
- , subq_1.paid_at__year
- , subq_1.paid_at__extract_year
- , subq_1.paid_at__extract_quarter
- , subq_1.paid_at__extract_month
- , subq_1.paid_at__extract_day
- , subq_1.paid_at__extract_dow
- , subq_1.paid_at__extract_doy
- , subq_1.booking__ds__day
- , subq_1.booking__ds__week
- , subq_1.booking__ds__month
- , subq_1.booking__ds__quarter
- , subq_1.booking__ds__year
- , subq_1.booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month
- , subq_1.booking__ds__extract_day
- , subq_1.booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day
- , subq_1.booking__paid_at__week
- , subq_1.booking__paid_at__month
- , subq_1.booking__paid_at__quarter
- , subq_1.booking__paid_at__year
- , subq_1.booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy
- , subq_1.metric_time__day
- , subq_1.metric_time__week
- , subq_1.metric_time__month
- , subq_1.metric_time__quarter
- , subq_1.metric_time__year
- , subq_1.metric_time__extract_year
- , subq_1.metric_time__extract_quarter
- , subq_1.metric_time__extract_month
- , subq_1.metric_time__extract_day
- , subq_1.metric_time__extract_dow
- , subq_1.metric_time__extract_doy
- , subq_1.listing
- , subq_1.guest
- , subq_1.host
- , subq_1.booking__listing
- , subq_1.booking__guest
- , subq_1.booking__host
- , subq_1.is_instant
- , subq_1.booking__is_instant
- , subq_1.bookings
- , subq_1.instant_bookings
- , subq_1.booking_value
- , subq_1.max_booking_value
- , subq_1.min_booking_value
- , subq_1.bookers
- , subq_1.average_booking_value
- , subq_1.referred_bookings
- , subq_1.median_booking_value
- , subq_1.booking_value_p99
- , subq_1.discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.ds_partitioned__day
+ , subq_2.ds_partitioned__week
+ , subq_2.ds_partitioned__month
+ , subq_2.ds_partitioned__quarter
+ , subq_2.ds_partitioned__year
+ , subq_2.ds_partitioned__extract_year
+ , subq_2.ds_partitioned__extract_quarter
+ , subq_2.ds_partitioned__extract_month
+ , subq_2.ds_partitioned__extract_day
+ , subq_2.ds_partitioned__extract_dow
+ , subq_2.ds_partitioned__extract_doy
+ , subq_2.paid_at__day
+ , subq_2.paid_at__week
+ , subq_2.paid_at__month
+ , subq_2.paid_at__quarter
+ , subq_2.paid_at__year
+ , subq_2.paid_at__extract_year
+ , subq_2.paid_at__extract_quarter
+ , subq_2.paid_at__extract_month
+ , subq_2.paid_at__extract_day
+ , subq_2.paid_at__extract_dow
+ , subq_2.paid_at__extract_doy
+ , subq_2.booking__ds__day
+ , subq_2.booking__ds__week
+ , subq_2.booking__ds__month
+ , subq_2.booking__ds__quarter
+ , subq_2.booking__ds__year
+ , subq_2.booking__ds__extract_year
+ , subq_2.booking__ds__extract_quarter
+ , subq_2.booking__ds__extract_month
+ , subq_2.booking__ds__extract_day
+ , subq_2.booking__ds__extract_dow
+ , subq_2.booking__ds__extract_doy
+ , subq_2.booking__ds_partitioned__day
+ , subq_2.booking__ds_partitioned__week
+ , subq_2.booking__ds_partitioned__month
+ , subq_2.booking__ds_partitioned__quarter
+ , subq_2.booking__ds_partitioned__year
+ , subq_2.booking__ds_partitioned__extract_year
+ , subq_2.booking__ds_partitioned__extract_quarter
+ , subq_2.booking__ds_partitioned__extract_month
+ , subq_2.booking__ds_partitioned__extract_day
+ , subq_2.booking__ds_partitioned__extract_dow
+ , subq_2.booking__ds_partitioned__extract_doy
+ , subq_2.booking__paid_at__day
+ , subq_2.booking__paid_at__week
+ , subq_2.booking__paid_at__month
+ , subq_2.booking__paid_at__quarter
+ , subq_2.booking__paid_at__year
+ , subq_2.booking__paid_at__extract_year
+ , subq_2.booking__paid_at__extract_quarter
+ , subq_2.booking__paid_at__extract_month
+ , subq_2.booking__paid_at__extract_day
+ , subq_2.booking__paid_at__extract_dow
+ , subq_2.booking__paid_at__extract_doy
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.guest
+ , subq_2.host
+ , subq_2.booking__listing
+ , subq_2.booking__guest
+ , subq_2.booking__host
+ , subq_2.is_instant
+ , subq_2.booking__is_instant
+ , subq_2.bookings
+ , subq_2.instant_bookings
+ , subq_2.booking_value
+ , subq_2.max_booking_value
+ , subq_2.min_booking_value
+ , subq_2.bookers
+ , subq_2.average_booking_value
+ , subq_2.referred_bookings
+ , subq_2.median_booking_value
+ , subq_2.booking_value_p99
+ , subq_2.discrete_booking_value_p99
+ , subq_2.approximate_continuous_booking_value_p99
+ , subq_2.approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.ds_partitioned__day
+ , subq_1.ds_partitioned__week
+ , subq_1.ds_partitioned__month
+ , subq_1.ds_partitioned__quarter
+ , subq_1.ds_partitioned__year
+ , subq_1.ds_partitioned__extract_year
+ , subq_1.ds_partitioned__extract_quarter
+ , subq_1.ds_partitioned__extract_month
+ , subq_1.ds_partitioned__extract_day
+ , subq_1.ds_partitioned__extract_dow
+ , subq_1.ds_partitioned__extract_doy
+ , subq_1.paid_at__day
+ , subq_1.paid_at__week
+ , subq_1.paid_at__month
+ , subq_1.paid_at__quarter
+ , subq_1.paid_at__year
+ , subq_1.paid_at__extract_year
+ , subq_1.paid_at__extract_quarter
+ , subq_1.paid_at__extract_month
+ , subq_1.paid_at__extract_day
+ , subq_1.paid_at__extract_dow
+ , subq_1.paid_at__extract_doy
+ , subq_1.booking__ds__day
+ , subq_1.booking__ds__week
+ , subq_1.booking__ds__month
+ , subq_1.booking__ds__quarter
+ , subq_1.booking__ds__year
+ , subq_1.booking__ds__extract_year
+ , subq_1.booking__ds__extract_quarter
+ , subq_1.booking__ds__extract_month
+ , subq_1.booking__ds__extract_day
+ , subq_1.booking__ds__extract_dow
+ , subq_1.booking__ds__extract_doy
+ , subq_1.booking__ds_partitioned__day
+ , subq_1.booking__ds_partitioned__week
+ , subq_1.booking__ds_partitioned__month
+ , subq_1.booking__ds_partitioned__quarter
+ , subq_1.booking__ds_partitioned__year
+ , subq_1.booking__ds_partitioned__extract_year
+ , subq_1.booking__ds_partitioned__extract_quarter
+ , subq_1.booking__ds_partitioned__extract_month
+ , subq_1.booking__ds_partitioned__extract_day
+ , subq_1.booking__ds_partitioned__extract_dow
+ , subq_1.booking__ds_partitioned__extract_doy
+ , subq_1.booking__paid_at__day
+ , subq_1.booking__paid_at__week
+ , subq_1.booking__paid_at__month
+ , subq_1.booking__paid_at__quarter
+ , subq_1.booking__paid_at__year
+ , subq_1.booking__paid_at__extract_year
+ , subq_1.booking__paid_at__extract_quarter
+ , subq_1.booking__paid_at__extract_month
+ , subq_1.booking__paid_at__extract_day
+ , subq_1.booking__paid_at__extract_dow
+ , subq_1.booking__paid_at__extract_doy
+ , subq_1.ds__day AS metric_time__day
+ , subq_1.ds__week AS metric_time__week
+ , subq_1.ds__month AS metric_time__month
+ , subq_1.ds__quarter AS metric_time__quarter
+ , subq_1.ds__year AS metric_time__year
+ , subq_1.ds__extract_year AS metric_time__extract_year
+ , subq_1.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_1.ds__extract_month AS metric_time__extract_month
+ , subq_1.ds__extract_day AS metric_time__extract_day
+ , subq_1.ds__extract_dow AS metric_time__extract_dow
+ , subq_1.ds__extract_doy AS metric_time__extract_doy
+ , subq_1.listing
+ , subq_1.guest
+ , subq_1.host
+ , subq_1.booking__listing
+ , subq_1.booking__guest
+ , subq_1.booking__host
+ , subq_1.is_instant
+ , subq_1.booking__is_instant
+ , subq_1.bookings
+ , subq_1.instant_bookings
+ , subq_1.booking_value
+ , subq_1.max_booking_value
+ , subq_1.min_booking_value
+ , subq_1.bookers
+ , subq_1.average_booking_value
+ , subq_1.referred_bookings
+ , subq_1.median_booking_value
+ , subq_1.booking_value_p99
+ , subq_1.discrete_booking_value_p99
+ , subq_1.approximate_continuous_booking_value_p99
+ , subq_1.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -493,18 +493,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
- WHERE subq_1.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
- ) subq_2
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
+ ) subq_3
WHERE metric_time__week > '2020-01-01'
- ) subq_3
- ) subq_4
+ ) subq_4
+ ) subq_5
GROUP BY
- subq_4.metric_time__day
- ) subq_5
+ subq_5.metric_time__day
+ ) subq_6
ON
- subq_10.metric_time__day = subq_5.metric_time__day
- ) subq_11
- WHERE subq_11.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
-) subq_12
+ subq_11.metric_time__day = subq_6.metric_time__day
+ ) subq_12
+ WHERE subq_12.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
+) subq_13
diff --git a/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_filters__plan0_optimized.sql b/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_filters__plan0_optimized.sql
index a29cff3999..040dd31242 100644
--- a/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_filters__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_fill_nulls_with_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_filters__plan0_optimized.sql
@@ -10,8 +10,8 @@ FROM (
-- Join to Time Spine Dataset
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
SELECT
- subq_23.metric_time__day AS metric_time__day
- , subq_18.bookings AS bookings
+ subq_24.metric_time__day AS metric_time__day
+ , subq_19.bookings AS bookings
FROM (
-- Constrain Output with WHERE
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
@@ -25,13 +25,13 @@ FROM (
ds AS metric_time__day
, DATE_TRUNC('week', ds) AS metric_time__week
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_20
+ ) subq_21
WHERE (
metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
) AND (
metric_time__week > '2020-01-01'
)
- ) subq_23
+ ) subq_24
LEFT OUTER JOIN (
-- Constrain Output with WHERE
-- Pass Only Elements: ['bookings', 'metric_time__day']
@@ -49,12 +49,12 @@ FROM (
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
WHERE DATE_TRUNC('day', ds) BETWEEN '2020-01-03' AND '2020-01-05'
- ) subq_15
+ ) subq_16
WHERE metric_time__week > '2020-01-01'
GROUP BY
metric_time__day
- ) subq_18
+ ) subq_19
ON
- subq_23.metric_time__day = subq_18.metric_time__day
- WHERE subq_23.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
-) subq_25
+ subq_24.metric_time__day = subq_19.metric_time__day
+ WHERE subq_24.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
+) subq_26
diff --git a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_offset_window_with_date_part__plan0.sql b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_offset_window_with_date_part__plan0.sql
index 8ec951e626..7cc2aba975 100644
--- a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_offset_window_with_date_part__plan0.sql
+++ b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_offset_window_with_date_part__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_14.metric_time__extract_dow
+ subq_13.metric_time__extract_dow
, bookings - bookings_2_weeks_ago AS bookings_growth_2_weeks
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__extract_dow, subq_13.metric_time__extract_dow) AS metric_time__extract_dow
+ COALESCE(subq_4.metric_time__extract_dow, subq_12.metric_time__extract_dow) AS metric_time__extract_dow
, MAX(subq_4.bookings) AS bookings
- , MAX(subq_13.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ , MAX(subq_12.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -230,139 +230,139 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__extract_dow
- , subq_12.bookings AS bookings_2_weeks_ago
+ subq_11.metric_time__extract_dow
+ , subq_11.bookings AS bookings_2_weeks_ago
FROM (
-- Aggregate Measures
SELECT
- subq_11.metric_time__extract_dow
- , SUM(subq_11.bookings) AS bookings
+ subq_10.metric_time__extract_dow
+ , SUM(subq_10.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__extract_dow']
SELECT
- subq_10.metric_time__extract_dow
- , subq_10.bookings
+ subq_9.metric_time__extract_dow
+ , subq_9.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_9.metric_time__day AS metric_time__day
- , subq_9.metric_time__extract_dow AS metric_time__extract_dow
- , subq_6.ds__day AS ds__day
- , subq_6.ds__week AS ds__week
- , subq_6.ds__month AS ds__month
- , subq_6.ds__quarter AS ds__quarter
- , subq_6.ds__year AS ds__year
- , subq_6.ds__extract_year AS ds__extract_year
- , subq_6.ds__extract_quarter AS ds__extract_quarter
- , subq_6.ds__extract_month AS ds__extract_month
- , subq_6.ds__extract_day AS ds__extract_day
- , subq_6.ds__extract_dow AS ds__extract_dow
- , subq_6.ds__extract_doy AS ds__extract_doy
- , subq_6.ds_partitioned__day AS ds_partitioned__day
- , subq_6.ds_partitioned__week AS ds_partitioned__week
- , subq_6.ds_partitioned__month AS ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_6.paid_at__day AS paid_at__day
- , subq_6.paid_at__week AS paid_at__week
- , subq_6.paid_at__month AS paid_at__month
- , subq_6.paid_at__quarter AS paid_at__quarter
- , subq_6.paid_at__year AS paid_at__year
- , subq_6.paid_at__extract_year AS paid_at__extract_year
- , subq_6.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_6.paid_at__extract_month AS paid_at__extract_month
- , subq_6.paid_at__extract_day AS paid_at__extract_day
- , subq_6.paid_at__extract_dow AS paid_at__extract_dow
- , subq_6.paid_at__extract_doy AS paid_at__extract_doy
- , subq_6.booking__ds__day AS booking__ds__day
- , subq_6.booking__ds__week AS booking__ds__week
- , subq_6.booking__ds__month AS booking__ds__month
- , subq_6.booking__ds__quarter AS booking__ds__quarter
- , subq_6.booking__ds__year AS booking__ds__year
- , subq_6.booking__ds__extract_year AS booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month AS booking__ds__extract_month
- , subq_6.booking__ds__extract_day AS booking__ds__extract_day
- , subq_6.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day AS booking__paid_at__day
- , subq_6.booking__paid_at__week AS booking__paid_at__week
- , subq_6.booking__paid_at__month AS booking__paid_at__month
- , subq_6.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_6.booking__paid_at__year AS booking__paid_at__year
- , subq_6.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_6.metric_time__week AS metric_time__week
- , subq_6.metric_time__month AS metric_time__month
- , subq_6.metric_time__quarter AS metric_time__quarter
- , subq_6.metric_time__year AS metric_time__year
- , subq_6.metric_time__extract_year AS metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS metric_time__extract_month
- , subq_6.metric_time__extract_day AS metric_time__extract_day
- , subq_6.metric_time__extract_doy AS metric_time__extract_doy
- , subq_6.listing AS listing
- , subq_6.guest AS guest
- , subq_6.host AS host
- , subq_6.booking__listing AS booking__listing
- , subq_6.booking__guest AS booking__guest
- , subq_6.booking__host AS booking__host
- , subq_6.is_instant AS is_instant
- , subq_6.booking__is_instant AS booking__is_instant
- , subq_6.bookings AS bookings
- , subq_6.instant_bookings AS instant_bookings
- , subq_6.booking_value AS booking_value
- , subq_6.max_booking_value AS max_booking_value
- , subq_6.min_booking_value AS min_booking_value
- , subq_6.bookers AS bookers
- , subq_6.average_booking_value AS average_booking_value
- , subq_6.referred_bookings AS referred_bookings
- , subq_6.median_booking_value AS median_booking_value
- , subq_6.booking_value_p99 AS booking_value_p99
- , subq_6.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_8.metric_time__day AS metric_time__day
+ , subq_8.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__day AS booking__ds__day
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day', 'metric_time__extract_dow']
SELECT
- subq_8.metric_time__day
- , subq_8.metric_time__extract_dow
+ subq_7.metric_time__day
+ , subq_7.metric_time__extract_dow
FROM (
-- Change Column Aliases
SELECT
- subq_7.ds__day AS metric_time__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow AS metric_time__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds__martian_day
+ subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -379,110 +379,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_6
+ ) subq_7
+ ) subq_8
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -575,18 +575,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
+ ) subq_0
+ ) subq_5
ON
- subq_9.metric_time__day - INTERVAL 14 day = subq_6.metric_time__day
- ) subq_10
- ) subq_11
+ subq_8.metric_time__day - INTERVAL 14 day = subq_5.metric_time__day
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_11.metric_time__extract_dow
- ) subq_12
- ) subq_13
+ subq_10.metric_time__extract_dow
+ ) subq_11
+ ) subq_12
ON
- subq_4.metric_time__extract_dow = subq_13.metric_time__extract_dow
+ subq_4.metric_time__extract_dow = subq_12.metric_time__extract_dow
GROUP BY
- COALESCE(subq_4.metric_time__extract_dow, subq_13.metric_time__extract_dow)
-) subq_14
+ COALESCE(subq_4.metric_time__extract_dow, subq_12.metric_time__extract_dow)
+) subq_13
diff --git a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_offset_window_with_date_part__plan0_optimized.sql b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_offset_window_with_date_part__plan0_optimized.sql
index 823a050c81..d4e0b458b2 100644
--- a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_offset_window_with_date_part__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_offset_window_with_date_part__plan0_optimized.sql
@@ -19,9 +19,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_19.metric_time__extract_dow, subq_27.metric_time__extract_dow) AS metric_time__extract_dow
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_27.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ COALESCE(subq_18.metric_time__extract_dow, subq_26.metric_time__extract_dow) AS metric_time__extract_dow
+ , MAX(subq_18.bookings) AS bookings
+ , MAX(subq_26.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'metric_time__extract_dow']
@@ -33,7 +33,7 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__extract_dow
- ) subq_19
+ ) subq_18
FULL OUTER JOIN (
-- Join to Time Spine Dataset
-- Pass Only Elements: ['bookings', 'metric_time__extract_dow']
@@ -49,9 +49,9 @@ FROM (
time_spine_src_28006.ds - INTERVAL 14 day = sma_28009_cte.metric_time__day
GROUP BY
EXTRACT(isodow FROM time_spine_src_28006.ds)
- ) subq_27
+ ) subq_26
ON
- subq_19.metric_time__extract_dow = subq_27.metric_time__extract_dow
+ subq_18.metric_time__extract_dow = subq_26.metric_time__extract_dow
GROUP BY
- COALESCE(subq_19.metric_time__extract_dow, subq_27.metric_time__extract_dow)
-) subq_28
+ COALESCE(subq_18.metric_time__extract_dow, subq_26.metric_time__extract_dow)
+) subq_27
diff --git a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_simple_metric_with_joined_sub_daily_dimension__plan0.sql b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_simple_metric_with_joined_sub_daily_dimension__plan0.sql
index 6fa0b2a72c..a644e45832 100644
--- a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_simple_metric_with_joined_sub_daily_dimension__plan0.sql
+++ b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_simple_metric_with_joined_sub_daily_dimension__plan0.sql
@@ -4,222 +4,222 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.listing__user__bio_added_ts__minute
- , subq_11.bookings
+ subq_23.listing__user__bio_added_ts__minute
+ , subq_23.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_10.listing__user__bio_added_ts__minute
- , SUM(subq_10.bookings) AS bookings
+ subq_22.listing__user__bio_added_ts__minute
+ , SUM(subq_22.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing__user__bio_added_ts__minute']
SELECT
- subq_9.listing__user__bio_added_ts__minute
- , subq_9.bookings
+ subq_21.listing__user__bio_added_ts__minute
+ , subq_21.bookings
FROM (
-- Join Standard Outputs
SELECT
- subq_8.user__ds_partitioned__day AS listing__user__ds_partitioned__day
- , subq_8.user__bio_added_ts__minute AS listing__user__bio_added_ts__minute
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.max_booking_value AS max_booking_value
- , subq_1.min_booking_value AS min_booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
- , subq_1.referred_bookings AS referred_bookings
- , subq_1.median_booking_value AS median_booking_value
- , subq_1.booking_value_p99 AS booking_value_p99
- , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_20.user__ds_partitioned__day AS listing__user__ds_partitioned__day
+ , subq_20.user__bio_added_ts__minute AS listing__user__bio_added_ts__minute
+ , subq_13.ds__day AS ds__day
+ , subq_13.ds__week AS ds__week
+ , subq_13.ds__month AS ds__month
+ , subq_13.ds__quarter AS ds__quarter
+ , subq_13.ds__year AS ds__year
+ , subq_13.ds__extract_year AS ds__extract_year
+ , subq_13.ds__extract_quarter AS ds__extract_quarter
+ , subq_13.ds__extract_month AS ds__extract_month
+ , subq_13.ds__extract_day AS ds__extract_day
+ , subq_13.ds__extract_dow AS ds__extract_dow
+ , subq_13.ds__extract_doy AS ds__extract_doy
+ , subq_13.ds_partitioned__day AS ds_partitioned__day
+ , subq_13.ds_partitioned__week AS ds_partitioned__week
+ , subq_13.ds_partitioned__month AS ds_partitioned__month
+ , subq_13.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_13.ds_partitioned__year AS ds_partitioned__year
+ , subq_13.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_13.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_13.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_13.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_13.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_13.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_13.paid_at__day AS paid_at__day
+ , subq_13.paid_at__week AS paid_at__week
+ , subq_13.paid_at__month AS paid_at__month
+ , subq_13.paid_at__quarter AS paid_at__quarter
+ , subq_13.paid_at__year AS paid_at__year
+ , subq_13.paid_at__extract_year AS paid_at__extract_year
+ , subq_13.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_13.paid_at__extract_month AS paid_at__extract_month
+ , subq_13.paid_at__extract_day AS paid_at__extract_day
+ , subq_13.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_13.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_13.booking__ds__day AS booking__ds__day
+ , subq_13.booking__ds__week AS booking__ds__week
+ , subq_13.booking__ds__month AS booking__ds__month
+ , subq_13.booking__ds__quarter AS booking__ds__quarter
+ , subq_13.booking__ds__year AS booking__ds__year
+ , subq_13.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_13.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_13.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_13.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_13.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_13.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_13.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_13.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_13.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_13.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_13.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_13.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_13.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_13.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_13.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_13.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_13.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_13.booking__paid_at__day AS booking__paid_at__day
+ , subq_13.booking__paid_at__week AS booking__paid_at__week
+ , subq_13.booking__paid_at__month AS booking__paid_at__month
+ , subq_13.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_13.booking__paid_at__year AS booking__paid_at__year
+ , subq_13.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_13.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_13.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_13.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_13.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_13.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_13.metric_time__day AS metric_time__day
+ , subq_13.metric_time__week AS metric_time__week
+ , subq_13.metric_time__month AS metric_time__month
+ , subq_13.metric_time__quarter AS metric_time__quarter
+ , subq_13.metric_time__year AS metric_time__year
+ , subq_13.metric_time__extract_year AS metric_time__extract_year
+ , subq_13.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_13.metric_time__extract_month AS metric_time__extract_month
+ , subq_13.metric_time__extract_day AS metric_time__extract_day
+ , subq_13.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_13.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_13.listing AS listing
+ , subq_13.guest AS guest
+ , subq_13.host AS host
+ , subq_13.booking__listing AS booking__listing
+ , subq_13.booking__guest AS booking__guest
+ , subq_13.booking__host AS booking__host
+ , subq_13.is_instant AS is_instant
+ , subq_13.booking__is_instant AS booking__is_instant
+ , subq_13.bookings AS bookings
+ , subq_13.instant_bookings AS instant_bookings
+ , subq_13.booking_value AS booking_value
+ , subq_13.max_booking_value AS max_booking_value
+ , subq_13.min_booking_value AS min_booking_value
+ , subq_13.bookers AS bookers
+ , subq_13.average_booking_value AS average_booking_value
+ , subq_13.referred_bookings AS referred_bookings
+ , subq_13.median_booking_value AS median_booking_value
+ , subq_13.booking_value_p99 AS booking_value_p99
+ , subq_13.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_13.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_13.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_12.ds__day
+ , subq_12.ds__week
+ , subq_12.ds__month
+ , subq_12.ds__quarter
+ , subq_12.ds__year
+ , subq_12.ds__extract_year
+ , subq_12.ds__extract_quarter
+ , subq_12.ds__extract_month
+ , subq_12.ds__extract_day
+ , subq_12.ds__extract_dow
+ , subq_12.ds__extract_doy
+ , subq_12.ds_partitioned__day
+ , subq_12.ds_partitioned__week
+ , subq_12.ds_partitioned__month
+ , subq_12.ds_partitioned__quarter
+ , subq_12.ds_partitioned__year
+ , subq_12.ds_partitioned__extract_year
+ , subq_12.ds_partitioned__extract_quarter
+ , subq_12.ds_partitioned__extract_month
+ , subq_12.ds_partitioned__extract_day
+ , subq_12.ds_partitioned__extract_dow
+ , subq_12.ds_partitioned__extract_doy
+ , subq_12.paid_at__day
+ , subq_12.paid_at__week
+ , subq_12.paid_at__month
+ , subq_12.paid_at__quarter
+ , subq_12.paid_at__year
+ , subq_12.paid_at__extract_year
+ , subq_12.paid_at__extract_quarter
+ , subq_12.paid_at__extract_month
+ , subq_12.paid_at__extract_day
+ , subq_12.paid_at__extract_dow
+ , subq_12.paid_at__extract_doy
+ , subq_12.booking__ds__day
+ , subq_12.booking__ds__week
+ , subq_12.booking__ds__month
+ , subq_12.booking__ds__quarter
+ , subq_12.booking__ds__year
+ , subq_12.booking__ds__extract_year
+ , subq_12.booking__ds__extract_quarter
+ , subq_12.booking__ds__extract_month
+ , subq_12.booking__ds__extract_day
+ , subq_12.booking__ds__extract_dow
+ , subq_12.booking__ds__extract_doy
+ , subq_12.booking__ds_partitioned__day
+ , subq_12.booking__ds_partitioned__week
+ , subq_12.booking__ds_partitioned__month
+ , subq_12.booking__ds_partitioned__quarter
+ , subq_12.booking__ds_partitioned__year
+ , subq_12.booking__ds_partitioned__extract_year
+ , subq_12.booking__ds_partitioned__extract_quarter
+ , subq_12.booking__ds_partitioned__extract_month
+ , subq_12.booking__ds_partitioned__extract_day
+ , subq_12.booking__ds_partitioned__extract_dow
+ , subq_12.booking__ds_partitioned__extract_doy
+ , subq_12.booking__paid_at__day
+ , subq_12.booking__paid_at__week
+ , subq_12.booking__paid_at__month
+ , subq_12.booking__paid_at__quarter
+ , subq_12.booking__paid_at__year
+ , subq_12.booking__paid_at__extract_year
+ , subq_12.booking__paid_at__extract_quarter
+ , subq_12.booking__paid_at__extract_month
+ , subq_12.booking__paid_at__extract_day
+ , subq_12.booking__paid_at__extract_dow
+ , subq_12.booking__paid_at__extract_doy
+ , subq_12.ds__day AS metric_time__day
+ , subq_12.ds__week AS metric_time__week
+ , subq_12.ds__month AS metric_time__month
+ , subq_12.ds__quarter AS metric_time__quarter
+ , subq_12.ds__year AS metric_time__year
+ , subq_12.ds__extract_year AS metric_time__extract_year
+ , subq_12.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_12.ds__extract_month AS metric_time__extract_month
+ , subq_12.ds__extract_day AS metric_time__extract_day
+ , subq_12.ds__extract_dow AS metric_time__extract_dow
+ , subq_12.ds__extract_doy AS metric_time__extract_doy
+ , subq_12.listing
+ , subq_12.guest
+ , subq_12.host
+ , subq_12.booking__listing
+ , subq_12.booking__guest
+ , subq_12.booking__host
+ , subq_12.is_instant
+ , subq_12.booking__is_instant
+ , subq_12.bookings
+ , subq_12.instant_bookings
+ , subq_12.booking_value
+ , subq_12.max_booking_value
+ , subq_12.min_booking_value
+ , subq_12.bookers
+ , subq_12.average_booking_value
+ , subq_12.referred_bookings
+ , subq_12.median_booking_value
+ , subq_12.booking_value_p99
+ , subq_12.discrete_booking_value_p99
+ , subq_12.approximate_continuous_booking_value_p99
+ , subq_12.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -312,253 +312,253 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
+ ) subq_12
+ ) subq_13
LEFT OUTER JOIN (
-- Pass Only Elements: ['user__ds_partitioned__day', 'user__bio_added_ts__minute', 'listing']
SELECT
- subq_7.user__ds_partitioned__day
- , subq_7.user__bio_added_ts__minute
- , subq_7.listing
+ subq_19.user__ds_partitioned__day
+ , subq_19.user__bio_added_ts__minute
+ , subq_19.listing
FROM (
-- Join Standard Outputs
SELECT
- subq_6.home_state AS user__home_state
- , subq_6.ds__day AS user__ds__day
- , subq_6.ds__week AS user__ds__week
- , subq_6.ds__month AS user__ds__month
- , subq_6.ds__quarter AS user__ds__quarter
- , subq_6.ds__year AS user__ds__year
- , subq_6.ds__extract_year AS user__ds__extract_year
- , subq_6.ds__extract_quarter AS user__ds__extract_quarter
- , subq_6.ds__extract_month AS user__ds__extract_month
- , subq_6.ds__extract_day AS user__ds__extract_day
- , subq_6.ds__extract_dow AS user__ds__extract_dow
- , subq_6.ds__extract_doy AS user__ds__extract_doy
- , subq_6.created_at__day AS user__created_at__day
- , subq_6.created_at__week AS user__created_at__week
- , subq_6.created_at__month AS user__created_at__month
- , subq_6.created_at__quarter AS user__created_at__quarter
- , subq_6.created_at__year AS user__created_at__year
- , subq_6.created_at__extract_year AS user__created_at__extract_year
- , subq_6.created_at__extract_quarter AS user__created_at__extract_quarter
- , subq_6.created_at__extract_month AS user__created_at__extract_month
- , subq_6.created_at__extract_day AS user__created_at__extract_day
- , subq_6.created_at__extract_dow AS user__created_at__extract_dow
- , subq_6.created_at__extract_doy AS user__created_at__extract_doy
- , subq_6.ds_partitioned__day AS user__ds_partitioned__day
- , subq_6.ds_partitioned__week AS user__ds_partitioned__week
- , subq_6.ds_partitioned__month AS user__ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS user__ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS user__ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS user__ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS user__ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS user__ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS user__ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS user__ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS user__ds_partitioned__extract_doy
- , subq_6.last_profile_edit_ts__millisecond AS user__last_profile_edit_ts__millisecond
- , subq_6.last_profile_edit_ts__second AS user__last_profile_edit_ts__second
- , subq_6.last_profile_edit_ts__minute AS user__last_profile_edit_ts__minute
- , subq_6.last_profile_edit_ts__hour AS user__last_profile_edit_ts__hour
- , subq_6.last_profile_edit_ts__day AS user__last_profile_edit_ts__day
- , subq_6.last_profile_edit_ts__week AS user__last_profile_edit_ts__week
- , subq_6.last_profile_edit_ts__month AS user__last_profile_edit_ts__month
- , subq_6.last_profile_edit_ts__quarter AS user__last_profile_edit_ts__quarter
- , subq_6.last_profile_edit_ts__year AS user__last_profile_edit_ts__year
- , subq_6.last_profile_edit_ts__extract_year AS user__last_profile_edit_ts__extract_year
- , subq_6.last_profile_edit_ts__extract_quarter AS user__last_profile_edit_ts__extract_quarter
- , subq_6.last_profile_edit_ts__extract_month AS user__last_profile_edit_ts__extract_month
- , subq_6.last_profile_edit_ts__extract_day AS user__last_profile_edit_ts__extract_day
- , subq_6.last_profile_edit_ts__extract_dow AS user__last_profile_edit_ts__extract_dow
- , subq_6.last_profile_edit_ts__extract_doy AS user__last_profile_edit_ts__extract_doy
- , subq_6.bio_added_ts__second AS user__bio_added_ts__second
- , subq_6.bio_added_ts__minute AS user__bio_added_ts__minute
- , subq_6.bio_added_ts__hour AS user__bio_added_ts__hour
- , subq_6.bio_added_ts__day AS user__bio_added_ts__day
- , subq_6.bio_added_ts__week AS user__bio_added_ts__week
- , subq_6.bio_added_ts__month AS user__bio_added_ts__month
- , subq_6.bio_added_ts__quarter AS user__bio_added_ts__quarter
- , subq_6.bio_added_ts__year AS user__bio_added_ts__year
- , subq_6.bio_added_ts__extract_year AS user__bio_added_ts__extract_year
- , subq_6.bio_added_ts__extract_quarter AS user__bio_added_ts__extract_quarter
- , subq_6.bio_added_ts__extract_month AS user__bio_added_ts__extract_month
- , subq_6.bio_added_ts__extract_day AS user__bio_added_ts__extract_day
- , subq_6.bio_added_ts__extract_dow AS user__bio_added_ts__extract_dow
- , subq_6.bio_added_ts__extract_doy AS user__bio_added_ts__extract_doy
- , subq_6.last_login_ts__minute AS user__last_login_ts__minute
- , subq_6.last_login_ts__hour AS user__last_login_ts__hour
- , subq_6.last_login_ts__day AS user__last_login_ts__day
- , subq_6.last_login_ts__week AS user__last_login_ts__week
- , subq_6.last_login_ts__month AS user__last_login_ts__month
- , subq_6.last_login_ts__quarter AS user__last_login_ts__quarter
- , subq_6.last_login_ts__year AS user__last_login_ts__year
- , subq_6.last_login_ts__extract_year AS user__last_login_ts__extract_year
- , subq_6.last_login_ts__extract_quarter AS user__last_login_ts__extract_quarter
- , subq_6.last_login_ts__extract_month AS user__last_login_ts__extract_month
- , subq_6.last_login_ts__extract_day AS user__last_login_ts__extract_day
- , subq_6.last_login_ts__extract_dow AS user__last_login_ts__extract_dow
- , subq_6.last_login_ts__extract_doy AS user__last_login_ts__extract_doy
- , subq_6.archived_at__hour AS user__archived_at__hour
- , subq_6.archived_at__day AS user__archived_at__day
- , subq_6.archived_at__week AS user__archived_at__week
- , subq_6.archived_at__month AS user__archived_at__month
- , subq_6.archived_at__quarter AS user__archived_at__quarter
- , subq_6.archived_at__year AS user__archived_at__year
- , subq_6.archived_at__extract_year AS user__archived_at__extract_year
- , subq_6.archived_at__extract_quarter AS user__archived_at__extract_quarter
- , subq_6.archived_at__extract_month AS user__archived_at__extract_month
- , subq_6.archived_at__extract_day AS user__archived_at__extract_day
- , subq_6.archived_at__extract_dow AS user__archived_at__extract_dow
- , subq_6.archived_at__extract_doy AS user__archived_at__extract_doy
- , subq_6.metric_time__day AS user__metric_time__day
- , subq_6.metric_time__week AS user__metric_time__week
- , subq_6.metric_time__month AS user__metric_time__month
- , subq_6.metric_time__quarter AS user__metric_time__quarter
- , subq_6.metric_time__year AS user__metric_time__year
- , subq_6.metric_time__extract_year AS user__metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS user__metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS user__metric_time__extract_month
- , subq_6.metric_time__extract_day AS user__metric_time__extract_day
- , subq_6.metric_time__extract_dow AS user__metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS user__metric_time__extract_doy
- , subq_3.ds__day AS ds__day
- , subq_3.ds__week AS ds__week
- , subq_3.ds__month AS ds__month
- , subq_3.ds__quarter AS ds__quarter
- , subq_3.ds__year AS ds__year
- , subq_3.ds__extract_year AS ds__extract_year
- , subq_3.ds__extract_quarter AS ds__extract_quarter
- , subq_3.ds__extract_month AS ds__extract_month
- , 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.created_at__day AS created_at__day
- , subq_3.created_at__week AS created_at__week
- , subq_3.created_at__month AS created_at__month
- , subq_3.created_at__quarter AS created_at__quarter
- , subq_3.created_at__year AS created_at__year
- , subq_3.created_at__extract_year AS created_at__extract_year
- , subq_3.created_at__extract_quarter AS created_at__extract_quarter
- , subq_3.created_at__extract_month AS created_at__extract_month
- , subq_3.created_at__extract_day AS created_at__extract_day
- , subq_3.created_at__extract_dow AS created_at__extract_dow
- , subq_3.created_at__extract_doy AS created_at__extract_doy
- , subq_3.listing__ds__day AS listing__ds__day
- , subq_3.listing__ds__week AS listing__ds__week
- , subq_3.listing__ds__month AS listing__ds__month
- , subq_3.listing__ds__quarter AS listing__ds__quarter
- , subq_3.listing__ds__year AS listing__ds__year
- , subq_3.listing__ds__extract_year AS listing__ds__extract_year
- , subq_3.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_3.listing__ds__extract_month AS listing__ds__extract_month
- , subq_3.listing__ds__extract_day AS listing__ds__extract_day
- , subq_3.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_3.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_3.listing__created_at__day AS listing__created_at__day
- , subq_3.listing__created_at__week AS listing__created_at__week
- , subq_3.listing__created_at__month AS listing__created_at__month
- , subq_3.listing__created_at__quarter AS listing__created_at__quarter
- , subq_3.listing__created_at__year AS listing__created_at__year
- , subq_3.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_3.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_3.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_3.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_3.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_3.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_3.metric_time__day AS metric_time__day
- , subq_3.metric_time__week AS metric_time__week
- , subq_3.metric_time__month AS metric_time__month
- , subq_3.metric_time__quarter AS metric_time__quarter
- , subq_3.metric_time__year AS metric_time__year
- , subq_3.metric_time__extract_year AS metric_time__extract_year
- , subq_3.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_3.metric_time__extract_month AS metric_time__extract_month
- , subq_3.metric_time__extract_day AS metric_time__extract_day
- , subq_3.metric_time__extract_dow AS metric_time__extract_dow
- , subq_3.metric_time__extract_doy AS metric_time__extract_doy
- , subq_3.listing AS listing
- , subq_3.user AS user
- , subq_3.listing__user AS listing__user
- , subq_3.country_latest AS country_latest
- , subq_3.is_lux_latest AS is_lux_latest
- , subq_3.capacity_latest AS capacity_latest
- , subq_3.listing__country_latest AS listing__country_latest
- , subq_3.listing__is_lux_latest AS listing__is_lux_latest
- , subq_3.listing__capacity_latest AS listing__capacity_latest
- , subq_3.listings AS listings
- , subq_3.largest_listing AS largest_listing
- , subq_3.smallest_listing AS smallest_listing
+ subq_18.home_state AS user__home_state
+ , subq_18.ds__day AS user__ds__day
+ , subq_18.ds__week AS user__ds__week
+ , subq_18.ds__month AS user__ds__month
+ , subq_18.ds__quarter AS user__ds__quarter
+ , subq_18.ds__year AS user__ds__year
+ , subq_18.ds__extract_year AS user__ds__extract_year
+ , subq_18.ds__extract_quarter AS user__ds__extract_quarter
+ , subq_18.ds__extract_month AS user__ds__extract_month
+ , subq_18.ds__extract_day AS user__ds__extract_day
+ , subq_18.ds__extract_dow AS user__ds__extract_dow
+ , subq_18.ds__extract_doy AS user__ds__extract_doy
+ , subq_18.created_at__day AS user__created_at__day
+ , subq_18.created_at__week AS user__created_at__week
+ , subq_18.created_at__month AS user__created_at__month
+ , subq_18.created_at__quarter AS user__created_at__quarter
+ , subq_18.created_at__year AS user__created_at__year
+ , subq_18.created_at__extract_year AS user__created_at__extract_year
+ , subq_18.created_at__extract_quarter AS user__created_at__extract_quarter
+ , subq_18.created_at__extract_month AS user__created_at__extract_month
+ , subq_18.created_at__extract_day AS user__created_at__extract_day
+ , subq_18.created_at__extract_dow AS user__created_at__extract_dow
+ , subq_18.created_at__extract_doy AS user__created_at__extract_doy
+ , subq_18.ds_partitioned__day AS user__ds_partitioned__day
+ , subq_18.ds_partitioned__week AS user__ds_partitioned__week
+ , subq_18.ds_partitioned__month AS user__ds_partitioned__month
+ , subq_18.ds_partitioned__quarter AS user__ds_partitioned__quarter
+ , subq_18.ds_partitioned__year AS user__ds_partitioned__year
+ , subq_18.ds_partitioned__extract_year AS user__ds_partitioned__extract_year
+ , subq_18.ds_partitioned__extract_quarter AS user__ds_partitioned__extract_quarter
+ , subq_18.ds_partitioned__extract_month AS user__ds_partitioned__extract_month
+ , subq_18.ds_partitioned__extract_day AS user__ds_partitioned__extract_day
+ , subq_18.ds_partitioned__extract_dow AS user__ds_partitioned__extract_dow
+ , subq_18.ds_partitioned__extract_doy AS user__ds_partitioned__extract_doy
+ , subq_18.last_profile_edit_ts__millisecond AS user__last_profile_edit_ts__millisecond
+ , subq_18.last_profile_edit_ts__second AS user__last_profile_edit_ts__second
+ , subq_18.last_profile_edit_ts__minute AS user__last_profile_edit_ts__minute
+ , subq_18.last_profile_edit_ts__hour AS user__last_profile_edit_ts__hour
+ , subq_18.last_profile_edit_ts__day AS user__last_profile_edit_ts__day
+ , subq_18.last_profile_edit_ts__week AS user__last_profile_edit_ts__week
+ , subq_18.last_profile_edit_ts__month AS user__last_profile_edit_ts__month
+ , subq_18.last_profile_edit_ts__quarter AS user__last_profile_edit_ts__quarter
+ , subq_18.last_profile_edit_ts__year AS user__last_profile_edit_ts__year
+ , subq_18.last_profile_edit_ts__extract_year AS user__last_profile_edit_ts__extract_year
+ , subq_18.last_profile_edit_ts__extract_quarter AS user__last_profile_edit_ts__extract_quarter
+ , subq_18.last_profile_edit_ts__extract_month AS user__last_profile_edit_ts__extract_month
+ , subq_18.last_profile_edit_ts__extract_day AS user__last_profile_edit_ts__extract_day
+ , subq_18.last_profile_edit_ts__extract_dow AS user__last_profile_edit_ts__extract_dow
+ , subq_18.last_profile_edit_ts__extract_doy AS user__last_profile_edit_ts__extract_doy
+ , subq_18.bio_added_ts__second AS user__bio_added_ts__second
+ , subq_18.bio_added_ts__minute AS user__bio_added_ts__minute
+ , subq_18.bio_added_ts__hour AS user__bio_added_ts__hour
+ , subq_18.bio_added_ts__day AS user__bio_added_ts__day
+ , subq_18.bio_added_ts__week AS user__bio_added_ts__week
+ , subq_18.bio_added_ts__month AS user__bio_added_ts__month
+ , subq_18.bio_added_ts__quarter AS user__bio_added_ts__quarter
+ , subq_18.bio_added_ts__year AS user__bio_added_ts__year
+ , subq_18.bio_added_ts__extract_year AS user__bio_added_ts__extract_year
+ , subq_18.bio_added_ts__extract_quarter AS user__bio_added_ts__extract_quarter
+ , subq_18.bio_added_ts__extract_month AS user__bio_added_ts__extract_month
+ , subq_18.bio_added_ts__extract_day AS user__bio_added_ts__extract_day
+ , subq_18.bio_added_ts__extract_dow AS user__bio_added_ts__extract_dow
+ , subq_18.bio_added_ts__extract_doy AS user__bio_added_ts__extract_doy
+ , subq_18.last_login_ts__minute AS user__last_login_ts__minute
+ , subq_18.last_login_ts__hour AS user__last_login_ts__hour
+ , subq_18.last_login_ts__day AS user__last_login_ts__day
+ , subq_18.last_login_ts__week AS user__last_login_ts__week
+ , subq_18.last_login_ts__month AS user__last_login_ts__month
+ , subq_18.last_login_ts__quarter AS user__last_login_ts__quarter
+ , subq_18.last_login_ts__year AS user__last_login_ts__year
+ , subq_18.last_login_ts__extract_year AS user__last_login_ts__extract_year
+ , subq_18.last_login_ts__extract_quarter AS user__last_login_ts__extract_quarter
+ , subq_18.last_login_ts__extract_month AS user__last_login_ts__extract_month
+ , subq_18.last_login_ts__extract_day AS user__last_login_ts__extract_day
+ , subq_18.last_login_ts__extract_dow AS user__last_login_ts__extract_dow
+ , subq_18.last_login_ts__extract_doy AS user__last_login_ts__extract_doy
+ , subq_18.archived_at__hour AS user__archived_at__hour
+ , subq_18.archived_at__day AS user__archived_at__day
+ , subq_18.archived_at__week AS user__archived_at__week
+ , subq_18.archived_at__month AS user__archived_at__month
+ , subq_18.archived_at__quarter AS user__archived_at__quarter
+ , subq_18.archived_at__year AS user__archived_at__year
+ , subq_18.archived_at__extract_year AS user__archived_at__extract_year
+ , subq_18.archived_at__extract_quarter AS user__archived_at__extract_quarter
+ , subq_18.archived_at__extract_month AS user__archived_at__extract_month
+ , subq_18.archived_at__extract_day AS user__archived_at__extract_day
+ , subq_18.archived_at__extract_dow AS user__archived_at__extract_dow
+ , subq_18.archived_at__extract_doy AS user__archived_at__extract_doy
+ , subq_18.metric_time__day AS user__metric_time__day
+ , subq_18.metric_time__week AS user__metric_time__week
+ , subq_18.metric_time__month AS user__metric_time__month
+ , subq_18.metric_time__quarter AS user__metric_time__quarter
+ , subq_18.metric_time__year AS user__metric_time__year
+ , subq_18.metric_time__extract_year AS user__metric_time__extract_year
+ , subq_18.metric_time__extract_quarter AS user__metric_time__extract_quarter
+ , subq_18.metric_time__extract_month AS user__metric_time__extract_month
+ , subq_18.metric_time__extract_day AS user__metric_time__extract_day
+ , subq_18.metric_time__extract_dow AS user__metric_time__extract_dow
+ , subq_18.metric_time__extract_doy AS user__metric_time__extract_doy
+ , subq_15.ds__day AS ds__day
+ , subq_15.ds__week AS ds__week
+ , subq_15.ds__month AS ds__month
+ , subq_15.ds__quarter AS ds__quarter
+ , subq_15.ds__year AS ds__year
+ , subq_15.ds__extract_year AS ds__extract_year
+ , subq_15.ds__extract_quarter AS ds__extract_quarter
+ , subq_15.ds__extract_month AS ds__extract_month
+ , subq_15.ds__extract_day AS ds__extract_day
+ , subq_15.ds__extract_dow AS ds__extract_dow
+ , subq_15.ds__extract_doy AS ds__extract_doy
+ , subq_15.created_at__day AS created_at__day
+ , subq_15.created_at__week AS created_at__week
+ , subq_15.created_at__month AS created_at__month
+ , subq_15.created_at__quarter AS created_at__quarter
+ , subq_15.created_at__year AS created_at__year
+ , subq_15.created_at__extract_year AS created_at__extract_year
+ , subq_15.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_15.created_at__extract_month AS created_at__extract_month
+ , subq_15.created_at__extract_day AS created_at__extract_day
+ , subq_15.created_at__extract_dow AS created_at__extract_dow
+ , subq_15.created_at__extract_doy AS created_at__extract_doy
+ , subq_15.listing__ds__day AS listing__ds__day
+ , subq_15.listing__ds__week AS listing__ds__week
+ , subq_15.listing__ds__month AS listing__ds__month
+ , subq_15.listing__ds__quarter AS listing__ds__quarter
+ , subq_15.listing__ds__year AS listing__ds__year
+ , subq_15.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_15.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_15.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_15.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_15.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_15.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_15.listing__created_at__day AS listing__created_at__day
+ , subq_15.listing__created_at__week AS listing__created_at__week
+ , subq_15.listing__created_at__month AS listing__created_at__month
+ , subq_15.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_15.listing__created_at__year AS listing__created_at__year
+ , subq_15.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_15.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_15.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_15.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_15.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_15.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_15.metric_time__day AS metric_time__day
+ , subq_15.metric_time__week AS metric_time__week
+ , subq_15.metric_time__month AS metric_time__month
+ , subq_15.metric_time__quarter AS metric_time__quarter
+ , subq_15.metric_time__year AS metric_time__year
+ , subq_15.metric_time__extract_year AS metric_time__extract_year
+ , subq_15.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_15.metric_time__extract_month AS metric_time__extract_month
+ , subq_15.metric_time__extract_day AS metric_time__extract_day
+ , subq_15.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_15.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_15.listing AS listing
+ , subq_15.user AS user
+ , subq_15.listing__user AS listing__user
+ , subq_15.country_latest AS country_latest
+ , subq_15.is_lux_latest AS is_lux_latest
+ , subq_15.capacity_latest AS capacity_latest
+ , subq_15.listing__country_latest AS listing__country_latest
+ , subq_15.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_15.listing__capacity_latest AS listing__capacity_latest
+ , subq_15.listings AS listings
+ , subq_15.largest_listing AS largest_listing
+ , subq_15.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.created_at__day
- , subq_2.created_at__week
- , subq_2.created_at__month
- , subq_2.created_at__quarter
- , subq_2.created_at__year
- , subq_2.created_at__extract_year
- , subq_2.created_at__extract_quarter
- , subq_2.created_at__extract_month
- , subq_2.created_at__extract_day
- , subq_2.created_at__extract_dow
- , subq_2.created_at__extract_doy
- , subq_2.listing__ds__day
- , subq_2.listing__ds__week
- , subq_2.listing__ds__month
- , subq_2.listing__ds__quarter
- , subq_2.listing__ds__year
- , subq_2.listing__ds__extract_year
- , subq_2.listing__ds__extract_quarter
- , subq_2.listing__ds__extract_month
- , subq_2.listing__ds__extract_day
- , subq_2.listing__ds__extract_dow
- , subq_2.listing__ds__extract_doy
- , subq_2.listing__created_at__day
- , subq_2.listing__created_at__week
- , subq_2.listing__created_at__month
- , subq_2.listing__created_at__quarter
- , subq_2.listing__created_at__year
- , subq_2.listing__created_at__extract_year
- , subq_2.listing__created_at__extract_quarter
- , subq_2.listing__created_at__extract_month
- , subq_2.listing__created_at__extract_day
- , subq_2.listing__created_at__extract_dow
- , subq_2.listing__created_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.user
- , subq_2.listing__user
- , subq_2.country_latest
- , subq_2.is_lux_latest
- , subq_2.capacity_latest
- , subq_2.listing__country_latest
- , subq_2.listing__is_lux_latest
- , subq_2.listing__capacity_latest
- , subq_2.listings
- , subq_2.largest_listing
- , subq_2.smallest_listing
+ subq_14.ds__day
+ , subq_14.ds__week
+ , subq_14.ds__month
+ , subq_14.ds__quarter
+ , subq_14.ds__year
+ , subq_14.ds__extract_year
+ , subq_14.ds__extract_quarter
+ , subq_14.ds__extract_month
+ , subq_14.ds__extract_day
+ , subq_14.ds__extract_dow
+ , subq_14.ds__extract_doy
+ , subq_14.created_at__day
+ , subq_14.created_at__week
+ , subq_14.created_at__month
+ , subq_14.created_at__quarter
+ , subq_14.created_at__year
+ , subq_14.created_at__extract_year
+ , subq_14.created_at__extract_quarter
+ , subq_14.created_at__extract_month
+ , subq_14.created_at__extract_day
+ , subq_14.created_at__extract_dow
+ , subq_14.created_at__extract_doy
+ , subq_14.listing__ds__day
+ , subq_14.listing__ds__week
+ , subq_14.listing__ds__month
+ , subq_14.listing__ds__quarter
+ , subq_14.listing__ds__year
+ , subq_14.listing__ds__extract_year
+ , subq_14.listing__ds__extract_quarter
+ , subq_14.listing__ds__extract_month
+ , subq_14.listing__ds__extract_day
+ , subq_14.listing__ds__extract_dow
+ , subq_14.listing__ds__extract_doy
+ , subq_14.listing__created_at__day
+ , subq_14.listing__created_at__week
+ , subq_14.listing__created_at__month
+ , subq_14.listing__created_at__quarter
+ , subq_14.listing__created_at__year
+ , subq_14.listing__created_at__extract_year
+ , subq_14.listing__created_at__extract_quarter
+ , subq_14.listing__created_at__extract_month
+ , subq_14.listing__created_at__extract_day
+ , subq_14.listing__created_at__extract_dow
+ , subq_14.listing__created_at__extract_doy
+ , subq_14.ds__day AS metric_time__day
+ , subq_14.ds__week AS metric_time__week
+ , subq_14.ds__month AS metric_time__month
+ , subq_14.ds__quarter AS metric_time__quarter
+ , subq_14.ds__year AS metric_time__year
+ , subq_14.ds__extract_year AS metric_time__extract_year
+ , subq_14.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_14.ds__extract_month AS metric_time__extract_month
+ , subq_14.ds__extract_day AS metric_time__extract_day
+ , subq_14.ds__extract_dow AS metric_time__extract_dow
+ , subq_14.ds__extract_doy AS metric_time__extract_doy
+ , subq_14.listing
+ , subq_14.user
+ , subq_14.listing__user
+ , subq_14.country_latest
+ , subq_14.is_lux_latest
+ , subq_14.capacity_latest
+ , subq_14.listing__country_latest
+ , subq_14.listing__is_lux_latest
+ , subq_14.listing__capacity_latest
+ , subq_14.listings
+ , subq_14.largest_listing
+ , subq_14.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -619,8 +619,8 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_2
- ) subq_3
+ ) subq_14
+ ) subq_15
LEFT OUTER JOIN (
-- Pass Only Elements: [
-- 'home_state',
@@ -813,386 +813,386 @@ FROM (
-- 'user',
-- ]
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.created_at__day
- , subq_5.created_at__week
- , subq_5.created_at__month
- , subq_5.created_at__quarter
- , subq_5.created_at__year
- , subq_5.created_at__extract_year
- , subq_5.created_at__extract_quarter
- , subq_5.created_at__extract_month
- , subq_5.created_at__extract_day
- , subq_5.created_at__extract_dow
- , subq_5.created_at__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.last_profile_edit_ts__millisecond
- , subq_5.last_profile_edit_ts__second
- , subq_5.last_profile_edit_ts__minute
- , subq_5.last_profile_edit_ts__hour
- , subq_5.last_profile_edit_ts__day
- , subq_5.last_profile_edit_ts__week
- , subq_5.last_profile_edit_ts__month
- , subq_5.last_profile_edit_ts__quarter
- , subq_5.last_profile_edit_ts__year
- , subq_5.last_profile_edit_ts__extract_year
- , subq_5.last_profile_edit_ts__extract_quarter
- , subq_5.last_profile_edit_ts__extract_month
- , subq_5.last_profile_edit_ts__extract_day
- , subq_5.last_profile_edit_ts__extract_dow
- , subq_5.last_profile_edit_ts__extract_doy
- , subq_5.bio_added_ts__second
- , subq_5.bio_added_ts__minute
- , subq_5.bio_added_ts__hour
- , subq_5.bio_added_ts__day
- , subq_5.bio_added_ts__week
- , subq_5.bio_added_ts__month
- , subq_5.bio_added_ts__quarter
- , subq_5.bio_added_ts__year
- , subq_5.bio_added_ts__extract_year
- , subq_5.bio_added_ts__extract_quarter
- , subq_5.bio_added_ts__extract_month
- , subq_5.bio_added_ts__extract_day
- , subq_5.bio_added_ts__extract_dow
- , subq_5.bio_added_ts__extract_doy
- , subq_5.last_login_ts__minute
- , subq_5.last_login_ts__hour
- , subq_5.last_login_ts__day
- , subq_5.last_login_ts__week
- , subq_5.last_login_ts__month
- , subq_5.last_login_ts__quarter
- , subq_5.last_login_ts__year
- , subq_5.last_login_ts__extract_year
- , subq_5.last_login_ts__extract_quarter
- , subq_5.last_login_ts__extract_month
- , subq_5.last_login_ts__extract_day
- , subq_5.last_login_ts__extract_dow
- , subq_5.last_login_ts__extract_doy
- , subq_5.archived_at__hour
- , subq_5.archived_at__day
- , subq_5.archived_at__week
- , subq_5.archived_at__month
- , subq_5.archived_at__quarter
- , subq_5.archived_at__year
- , subq_5.archived_at__extract_year
- , subq_5.archived_at__extract_quarter
- , subq_5.archived_at__extract_month
- , subq_5.archived_at__extract_day
- , subq_5.archived_at__extract_dow
- , subq_5.archived_at__extract_doy
- , subq_5.user__ds__day
- , subq_5.user__ds__week
- , subq_5.user__ds__month
- , subq_5.user__ds__quarter
- , subq_5.user__ds__year
- , subq_5.user__ds__extract_year
- , subq_5.user__ds__extract_quarter
- , subq_5.user__ds__extract_month
- , subq_5.user__ds__extract_day
- , subq_5.user__ds__extract_dow
- , subq_5.user__ds__extract_doy
- , subq_5.user__created_at__day
- , subq_5.user__created_at__week
- , subq_5.user__created_at__month
- , subq_5.user__created_at__quarter
- , subq_5.user__created_at__year
- , subq_5.user__created_at__extract_year
- , subq_5.user__created_at__extract_quarter
- , subq_5.user__created_at__extract_month
- , subq_5.user__created_at__extract_day
- , subq_5.user__created_at__extract_dow
- , subq_5.user__created_at__extract_doy
- , subq_5.user__ds_partitioned__day
- , subq_5.user__ds_partitioned__week
- , subq_5.user__ds_partitioned__month
- , subq_5.user__ds_partitioned__quarter
- , subq_5.user__ds_partitioned__year
- , subq_5.user__ds_partitioned__extract_year
- , subq_5.user__ds_partitioned__extract_quarter
- , subq_5.user__ds_partitioned__extract_month
- , subq_5.user__ds_partitioned__extract_day
- , subq_5.user__ds_partitioned__extract_dow
- , subq_5.user__ds_partitioned__extract_doy
- , subq_5.user__last_profile_edit_ts__millisecond
- , subq_5.user__last_profile_edit_ts__second
- , subq_5.user__last_profile_edit_ts__minute
- , subq_5.user__last_profile_edit_ts__hour
- , subq_5.user__last_profile_edit_ts__day
- , subq_5.user__last_profile_edit_ts__week
- , subq_5.user__last_profile_edit_ts__month
- , subq_5.user__last_profile_edit_ts__quarter
- , subq_5.user__last_profile_edit_ts__year
- , subq_5.user__last_profile_edit_ts__extract_year
- , subq_5.user__last_profile_edit_ts__extract_quarter
- , subq_5.user__last_profile_edit_ts__extract_month
- , subq_5.user__last_profile_edit_ts__extract_day
- , subq_5.user__last_profile_edit_ts__extract_dow
- , subq_5.user__last_profile_edit_ts__extract_doy
- , subq_5.user__bio_added_ts__second
- , subq_5.user__bio_added_ts__minute
- , subq_5.user__bio_added_ts__hour
- , subq_5.user__bio_added_ts__day
- , subq_5.user__bio_added_ts__week
- , subq_5.user__bio_added_ts__month
- , subq_5.user__bio_added_ts__quarter
- , subq_5.user__bio_added_ts__year
- , subq_5.user__bio_added_ts__extract_year
- , subq_5.user__bio_added_ts__extract_quarter
- , subq_5.user__bio_added_ts__extract_month
- , subq_5.user__bio_added_ts__extract_day
- , subq_5.user__bio_added_ts__extract_dow
- , subq_5.user__bio_added_ts__extract_doy
- , subq_5.user__last_login_ts__minute
- , subq_5.user__last_login_ts__hour
- , subq_5.user__last_login_ts__day
- , subq_5.user__last_login_ts__week
- , subq_5.user__last_login_ts__month
- , subq_5.user__last_login_ts__quarter
- , subq_5.user__last_login_ts__year
- , subq_5.user__last_login_ts__extract_year
- , subq_5.user__last_login_ts__extract_quarter
- , subq_5.user__last_login_ts__extract_month
- , subq_5.user__last_login_ts__extract_day
- , subq_5.user__last_login_ts__extract_dow
- , subq_5.user__last_login_ts__extract_doy
- , subq_5.user__archived_at__hour
- , subq_5.user__archived_at__day
- , subq_5.user__archived_at__week
- , subq_5.user__archived_at__month
- , subq_5.user__archived_at__quarter
- , subq_5.user__archived_at__year
- , subq_5.user__archived_at__extract_year
- , subq_5.user__archived_at__extract_quarter
- , subq_5.user__archived_at__extract_month
- , subq_5.user__archived_at__extract_day
- , subq_5.user__archived_at__extract_dow
- , subq_5.user__archived_at__extract_doy
- , subq_5.metric_time__day
- , subq_5.metric_time__week
- , subq_5.metric_time__month
- , subq_5.metric_time__quarter
- , subq_5.metric_time__year
- , subq_5.metric_time__extract_year
- , subq_5.metric_time__extract_quarter
- , subq_5.metric_time__extract_month
- , subq_5.metric_time__extract_day
- , subq_5.metric_time__extract_dow
- , subq_5.metric_time__extract_doy
- , subq_5.user
- , subq_5.home_state
- , subq_5.user__home_state
+ subq_17.ds__day
+ , subq_17.ds__week
+ , subq_17.ds__month
+ , subq_17.ds__quarter
+ , subq_17.ds__year
+ , subq_17.ds__extract_year
+ , subq_17.ds__extract_quarter
+ , subq_17.ds__extract_month
+ , subq_17.ds__extract_day
+ , subq_17.ds__extract_dow
+ , subq_17.ds__extract_doy
+ , subq_17.created_at__day
+ , subq_17.created_at__week
+ , subq_17.created_at__month
+ , subq_17.created_at__quarter
+ , subq_17.created_at__year
+ , subq_17.created_at__extract_year
+ , subq_17.created_at__extract_quarter
+ , subq_17.created_at__extract_month
+ , subq_17.created_at__extract_day
+ , subq_17.created_at__extract_dow
+ , subq_17.created_at__extract_doy
+ , subq_17.ds_partitioned__day
+ , subq_17.ds_partitioned__week
+ , subq_17.ds_partitioned__month
+ , subq_17.ds_partitioned__quarter
+ , subq_17.ds_partitioned__year
+ , subq_17.ds_partitioned__extract_year
+ , subq_17.ds_partitioned__extract_quarter
+ , subq_17.ds_partitioned__extract_month
+ , subq_17.ds_partitioned__extract_day
+ , subq_17.ds_partitioned__extract_dow
+ , subq_17.ds_partitioned__extract_doy
+ , subq_17.last_profile_edit_ts__millisecond
+ , subq_17.last_profile_edit_ts__second
+ , subq_17.last_profile_edit_ts__minute
+ , subq_17.last_profile_edit_ts__hour
+ , subq_17.last_profile_edit_ts__day
+ , subq_17.last_profile_edit_ts__week
+ , subq_17.last_profile_edit_ts__month
+ , subq_17.last_profile_edit_ts__quarter
+ , subq_17.last_profile_edit_ts__year
+ , subq_17.last_profile_edit_ts__extract_year
+ , subq_17.last_profile_edit_ts__extract_quarter
+ , subq_17.last_profile_edit_ts__extract_month
+ , subq_17.last_profile_edit_ts__extract_day
+ , subq_17.last_profile_edit_ts__extract_dow
+ , subq_17.last_profile_edit_ts__extract_doy
+ , subq_17.bio_added_ts__second
+ , subq_17.bio_added_ts__minute
+ , subq_17.bio_added_ts__hour
+ , subq_17.bio_added_ts__day
+ , subq_17.bio_added_ts__week
+ , subq_17.bio_added_ts__month
+ , subq_17.bio_added_ts__quarter
+ , subq_17.bio_added_ts__year
+ , subq_17.bio_added_ts__extract_year
+ , subq_17.bio_added_ts__extract_quarter
+ , subq_17.bio_added_ts__extract_month
+ , subq_17.bio_added_ts__extract_day
+ , subq_17.bio_added_ts__extract_dow
+ , subq_17.bio_added_ts__extract_doy
+ , subq_17.last_login_ts__minute
+ , subq_17.last_login_ts__hour
+ , subq_17.last_login_ts__day
+ , subq_17.last_login_ts__week
+ , subq_17.last_login_ts__month
+ , subq_17.last_login_ts__quarter
+ , subq_17.last_login_ts__year
+ , subq_17.last_login_ts__extract_year
+ , subq_17.last_login_ts__extract_quarter
+ , subq_17.last_login_ts__extract_month
+ , subq_17.last_login_ts__extract_day
+ , subq_17.last_login_ts__extract_dow
+ , subq_17.last_login_ts__extract_doy
+ , subq_17.archived_at__hour
+ , subq_17.archived_at__day
+ , subq_17.archived_at__week
+ , subq_17.archived_at__month
+ , subq_17.archived_at__quarter
+ , subq_17.archived_at__year
+ , subq_17.archived_at__extract_year
+ , subq_17.archived_at__extract_quarter
+ , subq_17.archived_at__extract_month
+ , subq_17.archived_at__extract_day
+ , subq_17.archived_at__extract_dow
+ , subq_17.archived_at__extract_doy
+ , subq_17.user__ds__day
+ , subq_17.user__ds__week
+ , subq_17.user__ds__month
+ , subq_17.user__ds__quarter
+ , subq_17.user__ds__year
+ , subq_17.user__ds__extract_year
+ , subq_17.user__ds__extract_quarter
+ , subq_17.user__ds__extract_month
+ , subq_17.user__ds__extract_day
+ , subq_17.user__ds__extract_dow
+ , subq_17.user__ds__extract_doy
+ , subq_17.user__created_at__day
+ , subq_17.user__created_at__week
+ , subq_17.user__created_at__month
+ , subq_17.user__created_at__quarter
+ , subq_17.user__created_at__year
+ , subq_17.user__created_at__extract_year
+ , subq_17.user__created_at__extract_quarter
+ , subq_17.user__created_at__extract_month
+ , subq_17.user__created_at__extract_day
+ , subq_17.user__created_at__extract_dow
+ , subq_17.user__created_at__extract_doy
+ , subq_17.user__ds_partitioned__day
+ , subq_17.user__ds_partitioned__week
+ , subq_17.user__ds_partitioned__month
+ , subq_17.user__ds_partitioned__quarter
+ , subq_17.user__ds_partitioned__year
+ , subq_17.user__ds_partitioned__extract_year
+ , subq_17.user__ds_partitioned__extract_quarter
+ , subq_17.user__ds_partitioned__extract_month
+ , subq_17.user__ds_partitioned__extract_day
+ , subq_17.user__ds_partitioned__extract_dow
+ , subq_17.user__ds_partitioned__extract_doy
+ , subq_17.user__last_profile_edit_ts__millisecond
+ , subq_17.user__last_profile_edit_ts__second
+ , subq_17.user__last_profile_edit_ts__minute
+ , subq_17.user__last_profile_edit_ts__hour
+ , subq_17.user__last_profile_edit_ts__day
+ , subq_17.user__last_profile_edit_ts__week
+ , subq_17.user__last_profile_edit_ts__month
+ , subq_17.user__last_profile_edit_ts__quarter
+ , subq_17.user__last_profile_edit_ts__year
+ , subq_17.user__last_profile_edit_ts__extract_year
+ , subq_17.user__last_profile_edit_ts__extract_quarter
+ , subq_17.user__last_profile_edit_ts__extract_month
+ , subq_17.user__last_profile_edit_ts__extract_day
+ , subq_17.user__last_profile_edit_ts__extract_dow
+ , subq_17.user__last_profile_edit_ts__extract_doy
+ , subq_17.user__bio_added_ts__second
+ , subq_17.user__bio_added_ts__minute
+ , subq_17.user__bio_added_ts__hour
+ , subq_17.user__bio_added_ts__day
+ , subq_17.user__bio_added_ts__week
+ , subq_17.user__bio_added_ts__month
+ , subq_17.user__bio_added_ts__quarter
+ , subq_17.user__bio_added_ts__year
+ , subq_17.user__bio_added_ts__extract_year
+ , subq_17.user__bio_added_ts__extract_quarter
+ , subq_17.user__bio_added_ts__extract_month
+ , subq_17.user__bio_added_ts__extract_day
+ , subq_17.user__bio_added_ts__extract_dow
+ , subq_17.user__bio_added_ts__extract_doy
+ , subq_17.user__last_login_ts__minute
+ , subq_17.user__last_login_ts__hour
+ , subq_17.user__last_login_ts__day
+ , subq_17.user__last_login_ts__week
+ , subq_17.user__last_login_ts__month
+ , subq_17.user__last_login_ts__quarter
+ , subq_17.user__last_login_ts__year
+ , subq_17.user__last_login_ts__extract_year
+ , subq_17.user__last_login_ts__extract_quarter
+ , subq_17.user__last_login_ts__extract_month
+ , subq_17.user__last_login_ts__extract_day
+ , subq_17.user__last_login_ts__extract_dow
+ , subq_17.user__last_login_ts__extract_doy
+ , subq_17.user__archived_at__hour
+ , subq_17.user__archived_at__day
+ , subq_17.user__archived_at__week
+ , subq_17.user__archived_at__month
+ , subq_17.user__archived_at__quarter
+ , subq_17.user__archived_at__year
+ , subq_17.user__archived_at__extract_year
+ , subq_17.user__archived_at__extract_quarter
+ , subq_17.user__archived_at__extract_month
+ , subq_17.user__archived_at__extract_day
+ , subq_17.user__archived_at__extract_dow
+ , subq_17.user__archived_at__extract_doy
+ , subq_17.metric_time__day
+ , subq_17.metric_time__week
+ , subq_17.metric_time__month
+ , subq_17.metric_time__quarter
+ , subq_17.metric_time__year
+ , subq_17.metric_time__extract_year
+ , subq_17.metric_time__extract_quarter
+ , subq_17.metric_time__extract_month
+ , subq_17.metric_time__extract_day
+ , subq_17.metric_time__extract_dow
+ , subq_17.metric_time__extract_doy
+ , subq_17.user
+ , subq_17.home_state
+ , subq_17.user__home_state
FROM (
-- Metric Time Dimension 'created_at'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.created_at__day
- , subq_4.created_at__week
- , subq_4.created_at__month
- , subq_4.created_at__quarter
- , subq_4.created_at__year
- , subq_4.created_at__extract_year
- , subq_4.created_at__extract_quarter
- , subq_4.created_at__extract_month
- , subq_4.created_at__extract_day
- , subq_4.created_at__extract_dow
- , subq_4.created_at__extract_doy
- , subq_4.ds_partitioned__day
- , subq_4.ds_partitioned__week
- , subq_4.ds_partitioned__month
- , subq_4.ds_partitioned__quarter
- , subq_4.ds_partitioned__year
- , subq_4.ds_partitioned__extract_year
- , subq_4.ds_partitioned__extract_quarter
- , subq_4.ds_partitioned__extract_month
- , subq_4.ds_partitioned__extract_day
- , subq_4.ds_partitioned__extract_dow
- , subq_4.ds_partitioned__extract_doy
- , subq_4.last_profile_edit_ts__millisecond
- , subq_4.last_profile_edit_ts__second
- , subq_4.last_profile_edit_ts__minute
- , subq_4.last_profile_edit_ts__hour
- , subq_4.last_profile_edit_ts__day
- , subq_4.last_profile_edit_ts__week
- , subq_4.last_profile_edit_ts__month
- , subq_4.last_profile_edit_ts__quarter
- , subq_4.last_profile_edit_ts__year
- , subq_4.last_profile_edit_ts__extract_year
- , subq_4.last_profile_edit_ts__extract_quarter
- , subq_4.last_profile_edit_ts__extract_month
- , subq_4.last_profile_edit_ts__extract_day
- , subq_4.last_profile_edit_ts__extract_dow
- , subq_4.last_profile_edit_ts__extract_doy
- , subq_4.bio_added_ts__second
- , subq_4.bio_added_ts__minute
- , subq_4.bio_added_ts__hour
- , subq_4.bio_added_ts__day
- , subq_4.bio_added_ts__week
- , subq_4.bio_added_ts__month
- , subq_4.bio_added_ts__quarter
- , subq_4.bio_added_ts__year
- , subq_4.bio_added_ts__extract_year
- , subq_4.bio_added_ts__extract_quarter
- , subq_4.bio_added_ts__extract_month
- , subq_4.bio_added_ts__extract_day
- , subq_4.bio_added_ts__extract_dow
- , subq_4.bio_added_ts__extract_doy
- , subq_4.last_login_ts__minute
- , subq_4.last_login_ts__hour
- , subq_4.last_login_ts__day
- , subq_4.last_login_ts__week
- , subq_4.last_login_ts__month
- , subq_4.last_login_ts__quarter
- , subq_4.last_login_ts__year
- , subq_4.last_login_ts__extract_year
- , subq_4.last_login_ts__extract_quarter
- , subq_4.last_login_ts__extract_month
- , subq_4.last_login_ts__extract_day
- , subq_4.last_login_ts__extract_dow
- , subq_4.last_login_ts__extract_doy
- , subq_4.archived_at__hour
- , subq_4.archived_at__day
- , subq_4.archived_at__week
- , subq_4.archived_at__month
- , subq_4.archived_at__quarter
- , subq_4.archived_at__year
- , subq_4.archived_at__extract_year
- , subq_4.archived_at__extract_quarter
- , subq_4.archived_at__extract_month
- , subq_4.archived_at__extract_day
- , subq_4.archived_at__extract_dow
- , subq_4.archived_at__extract_doy
- , subq_4.user__ds__day
- , subq_4.user__ds__week
- , subq_4.user__ds__month
- , subq_4.user__ds__quarter
- , subq_4.user__ds__year
- , subq_4.user__ds__extract_year
- , subq_4.user__ds__extract_quarter
- , subq_4.user__ds__extract_month
- , subq_4.user__ds__extract_day
- , subq_4.user__ds__extract_dow
- , subq_4.user__ds__extract_doy
- , subq_4.user__created_at__day
- , subq_4.user__created_at__week
- , subq_4.user__created_at__month
- , subq_4.user__created_at__quarter
- , subq_4.user__created_at__year
- , subq_4.user__created_at__extract_year
- , subq_4.user__created_at__extract_quarter
- , subq_4.user__created_at__extract_month
- , subq_4.user__created_at__extract_day
- , subq_4.user__created_at__extract_dow
- , subq_4.user__created_at__extract_doy
- , subq_4.user__ds_partitioned__day
- , subq_4.user__ds_partitioned__week
- , subq_4.user__ds_partitioned__month
- , subq_4.user__ds_partitioned__quarter
- , subq_4.user__ds_partitioned__year
- , subq_4.user__ds_partitioned__extract_year
- , subq_4.user__ds_partitioned__extract_quarter
- , subq_4.user__ds_partitioned__extract_month
- , subq_4.user__ds_partitioned__extract_day
- , subq_4.user__ds_partitioned__extract_dow
- , subq_4.user__ds_partitioned__extract_doy
- , subq_4.user__last_profile_edit_ts__millisecond
- , subq_4.user__last_profile_edit_ts__second
- , subq_4.user__last_profile_edit_ts__minute
- , subq_4.user__last_profile_edit_ts__hour
- , subq_4.user__last_profile_edit_ts__day
- , subq_4.user__last_profile_edit_ts__week
- , subq_4.user__last_profile_edit_ts__month
- , subq_4.user__last_profile_edit_ts__quarter
- , subq_4.user__last_profile_edit_ts__year
- , subq_4.user__last_profile_edit_ts__extract_year
- , subq_4.user__last_profile_edit_ts__extract_quarter
- , subq_4.user__last_profile_edit_ts__extract_month
- , subq_4.user__last_profile_edit_ts__extract_day
- , subq_4.user__last_profile_edit_ts__extract_dow
- , subq_4.user__last_profile_edit_ts__extract_doy
- , subq_4.user__bio_added_ts__second
- , subq_4.user__bio_added_ts__minute
- , subq_4.user__bio_added_ts__hour
- , subq_4.user__bio_added_ts__day
- , subq_4.user__bio_added_ts__week
- , subq_4.user__bio_added_ts__month
- , subq_4.user__bio_added_ts__quarter
- , subq_4.user__bio_added_ts__year
- , subq_4.user__bio_added_ts__extract_year
- , subq_4.user__bio_added_ts__extract_quarter
- , subq_4.user__bio_added_ts__extract_month
- , subq_4.user__bio_added_ts__extract_day
- , subq_4.user__bio_added_ts__extract_dow
- , subq_4.user__bio_added_ts__extract_doy
- , subq_4.user__last_login_ts__minute
- , subq_4.user__last_login_ts__hour
- , subq_4.user__last_login_ts__day
- , subq_4.user__last_login_ts__week
- , subq_4.user__last_login_ts__month
- , subq_4.user__last_login_ts__quarter
- , subq_4.user__last_login_ts__year
- , subq_4.user__last_login_ts__extract_year
- , subq_4.user__last_login_ts__extract_quarter
- , subq_4.user__last_login_ts__extract_month
- , subq_4.user__last_login_ts__extract_day
- , subq_4.user__last_login_ts__extract_dow
- , subq_4.user__last_login_ts__extract_doy
- , subq_4.user__archived_at__hour
- , subq_4.user__archived_at__day
- , subq_4.user__archived_at__week
- , subq_4.user__archived_at__month
- , subq_4.user__archived_at__quarter
- , subq_4.user__archived_at__year
- , subq_4.user__archived_at__extract_year
- , subq_4.user__archived_at__extract_quarter
- , subq_4.user__archived_at__extract_month
- , subq_4.user__archived_at__extract_day
- , subq_4.user__archived_at__extract_dow
- , subq_4.user__archived_at__extract_doy
- , subq_4.created_at__day AS metric_time__day
- , subq_4.created_at__week AS metric_time__week
- , subq_4.created_at__month AS metric_time__month
- , subq_4.created_at__quarter AS metric_time__quarter
- , subq_4.created_at__year AS metric_time__year
- , subq_4.created_at__extract_year AS metric_time__extract_year
- , subq_4.created_at__extract_quarter AS metric_time__extract_quarter
- , subq_4.created_at__extract_month AS metric_time__extract_month
- , subq_4.created_at__extract_day AS metric_time__extract_day
- , subq_4.created_at__extract_dow AS metric_time__extract_dow
- , subq_4.created_at__extract_doy AS metric_time__extract_doy
- , subq_4.user
- , subq_4.home_state
- , subq_4.user__home_state
- , subq_4.new_users
+ subq_16.ds__day
+ , subq_16.ds__week
+ , subq_16.ds__month
+ , subq_16.ds__quarter
+ , subq_16.ds__year
+ , subq_16.ds__extract_year
+ , subq_16.ds__extract_quarter
+ , subq_16.ds__extract_month
+ , subq_16.ds__extract_day
+ , subq_16.ds__extract_dow
+ , subq_16.ds__extract_doy
+ , subq_16.created_at__day
+ , subq_16.created_at__week
+ , subq_16.created_at__month
+ , subq_16.created_at__quarter
+ , subq_16.created_at__year
+ , subq_16.created_at__extract_year
+ , subq_16.created_at__extract_quarter
+ , subq_16.created_at__extract_month
+ , subq_16.created_at__extract_day
+ , subq_16.created_at__extract_dow
+ , subq_16.created_at__extract_doy
+ , subq_16.ds_partitioned__day
+ , subq_16.ds_partitioned__week
+ , subq_16.ds_partitioned__month
+ , subq_16.ds_partitioned__quarter
+ , subq_16.ds_partitioned__year
+ , subq_16.ds_partitioned__extract_year
+ , subq_16.ds_partitioned__extract_quarter
+ , subq_16.ds_partitioned__extract_month
+ , subq_16.ds_partitioned__extract_day
+ , subq_16.ds_partitioned__extract_dow
+ , subq_16.ds_partitioned__extract_doy
+ , subq_16.last_profile_edit_ts__millisecond
+ , subq_16.last_profile_edit_ts__second
+ , subq_16.last_profile_edit_ts__minute
+ , subq_16.last_profile_edit_ts__hour
+ , subq_16.last_profile_edit_ts__day
+ , subq_16.last_profile_edit_ts__week
+ , subq_16.last_profile_edit_ts__month
+ , subq_16.last_profile_edit_ts__quarter
+ , subq_16.last_profile_edit_ts__year
+ , subq_16.last_profile_edit_ts__extract_year
+ , subq_16.last_profile_edit_ts__extract_quarter
+ , subq_16.last_profile_edit_ts__extract_month
+ , subq_16.last_profile_edit_ts__extract_day
+ , subq_16.last_profile_edit_ts__extract_dow
+ , subq_16.last_profile_edit_ts__extract_doy
+ , subq_16.bio_added_ts__second
+ , subq_16.bio_added_ts__minute
+ , subq_16.bio_added_ts__hour
+ , subq_16.bio_added_ts__day
+ , subq_16.bio_added_ts__week
+ , subq_16.bio_added_ts__month
+ , subq_16.bio_added_ts__quarter
+ , subq_16.bio_added_ts__year
+ , subq_16.bio_added_ts__extract_year
+ , subq_16.bio_added_ts__extract_quarter
+ , subq_16.bio_added_ts__extract_month
+ , subq_16.bio_added_ts__extract_day
+ , subq_16.bio_added_ts__extract_dow
+ , subq_16.bio_added_ts__extract_doy
+ , subq_16.last_login_ts__minute
+ , subq_16.last_login_ts__hour
+ , subq_16.last_login_ts__day
+ , subq_16.last_login_ts__week
+ , subq_16.last_login_ts__month
+ , subq_16.last_login_ts__quarter
+ , subq_16.last_login_ts__year
+ , subq_16.last_login_ts__extract_year
+ , subq_16.last_login_ts__extract_quarter
+ , subq_16.last_login_ts__extract_month
+ , subq_16.last_login_ts__extract_day
+ , subq_16.last_login_ts__extract_dow
+ , subq_16.last_login_ts__extract_doy
+ , subq_16.archived_at__hour
+ , subq_16.archived_at__day
+ , subq_16.archived_at__week
+ , subq_16.archived_at__month
+ , subq_16.archived_at__quarter
+ , subq_16.archived_at__year
+ , subq_16.archived_at__extract_year
+ , subq_16.archived_at__extract_quarter
+ , subq_16.archived_at__extract_month
+ , subq_16.archived_at__extract_day
+ , subq_16.archived_at__extract_dow
+ , subq_16.archived_at__extract_doy
+ , subq_16.user__ds__day
+ , subq_16.user__ds__week
+ , subq_16.user__ds__month
+ , subq_16.user__ds__quarter
+ , subq_16.user__ds__year
+ , subq_16.user__ds__extract_year
+ , subq_16.user__ds__extract_quarter
+ , subq_16.user__ds__extract_month
+ , subq_16.user__ds__extract_day
+ , subq_16.user__ds__extract_dow
+ , subq_16.user__ds__extract_doy
+ , subq_16.user__created_at__day
+ , subq_16.user__created_at__week
+ , subq_16.user__created_at__month
+ , subq_16.user__created_at__quarter
+ , subq_16.user__created_at__year
+ , subq_16.user__created_at__extract_year
+ , subq_16.user__created_at__extract_quarter
+ , subq_16.user__created_at__extract_month
+ , subq_16.user__created_at__extract_day
+ , subq_16.user__created_at__extract_dow
+ , subq_16.user__created_at__extract_doy
+ , subq_16.user__ds_partitioned__day
+ , subq_16.user__ds_partitioned__week
+ , subq_16.user__ds_partitioned__month
+ , subq_16.user__ds_partitioned__quarter
+ , subq_16.user__ds_partitioned__year
+ , subq_16.user__ds_partitioned__extract_year
+ , subq_16.user__ds_partitioned__extract_quarter
+ , subq_16.user__ds_partitioned__extract_month
+ , subq_16.user__ds_partitioned__extract_day
+ , subq_16.user__ds_partitioned__extract_dow
+ , subq_16.user__ds_partitioned__extract_doy
+ , subq_16.user__last_profile_edit_ts__millisecond
+ , subq_16.user__last_profile_edit_ts__second
+ , subq_16.user__last_profile_edit_ts__minute
+ , subq_16.user__last_profile_edit_ts__hour
+ , subq_16.user__last_profile_edit_ts__day
+ , subq_16.user__last_profile_edit_ts__week
+ , subq_16.user__last_profile_edit_ts__month
+ , subq_16.user__last_profile_edit_ts__quarter
+ , subq_16.user__last_profile_edit_ts__year
+ , subq_16.user__last_profile_edit_ts__extract_year
+ , subq_16.user__last_profile_edit_ts__extract_quarter
+ , subq_16.user__last_profile_edit_ts__extract_month
+ , subq_16.user__last_profile_edit_ts__extract_day
+ , subq_16.user__last_profile_edit_ts__extract_dow
+ , subq_16.user__last_profile_edit_ts__extract_doy
+ , subq_16.user__bio_added_ts__second
+ , subq_16.user__bio_added_ts__minute
+ , subq_16.user__bio_added_ts__hour
+ , subq_16.user__bio_added_ts__day
+ , subq_16.user__bio_added_ts__week
+ , subq_16.user__bio_added_ts__month
+ , subq_16.user__bio_added_ts__quarter
+ , subq_16.user__bio_added_ts__year
+ , subq_16.user__bio_added_ts__extract_year
+ , subq_16.user__bio_added_ts__extract_quarter
+ , subq_16.user__bio_added_ts__extract_month
+ , subq_16.user__bio_added_ts__extract_day
+ , subq_16.user__bio_added_ts__extract_dow
+ , subq_16.user__bio_added_ts__extract_doy
+ , subq_16.user__last_login_ts__minute
+ , subq_16.user__last_login_ts__hour
+ , subq_16.user__last_login_ts__day
+ , subq_16.user__last_login_ts__week
+ , subq_16.user__last_login_ts__month
+ , subq_16.user__last_login_ts__quarter
+ , subq_16.user__last_login_ts__year
+ , subq_16.user__last_login_ts__extract_year
+ , subq_16.user__last_login_ts__extract_quarter
+ , subq_16.user__last_login_ts__extract_month
+ , subq_16.user__last_login_ts__extract_day
+ , subq_16.user__last_login_ts__extract_dow
+ , subq_16.user__last_login_ts__extract_doy
+ , subq_16.user__archived_at__hour
+ , subq_16.user__archived_at__day
+ , subq_16.user__archived_at__week
+ , subq_16.user__archived_at__month
+ , subq_16.user__archived_at__quarter
+ , subq_16.user__archived_at__year
+ , subq_16.user__archived_at__extract_year
+ , subq_16.user__archived_at__extract_quarter
+ , subq_16.user__archived_at__extract_month
+ , subq_16.user__archived_at__extract_day
+ , subq_16.user__archived_at__extract_dow
+ , subq_16.user__archived_at__extract_doy
+ , subq_16.created_at__day AS metric_time__day
+ , subq_16.created_at__week AS metric_time__week
+ , subq_16.created_at__month AS metric_time__month
+ , subq_16.created_at__quarter AS metric_time__quarter
+ , subq_16.created_at__year AS metric_time__year
+ , subq_16.created_at__extract_year AS metric_time__extract_year
+ , subq_16.created_at__extract_quarter AS metric_time__extract_quarter
+ , subq_16.created_at__extract_month AS metric_time__extract_month
+ , subq_16.created_at__extract_day AS metric_time__extract_day
+ , subq_16.created_at__extract_dow AS metric_time__extract_dow
+ , subq_16.created_at__extract_doy AS metric_time__extract_doy
+ , subq_16.user
+ , subq_16.home_state
+ , subq_16.user__home_state
+ , subq_16.new_users
FROM (
-- Read Elements From Semantic Model 'users_ds_source'
SELECT
@@ -1376,21 +1376,21 @@ FROM (
, EXTRACT(doy FROM users_ds_source_src_28000.archived_at) AS user__archived_at__extract_doy
, users_ds_source_src_28000.user_id AS user
FROM ***************************.dim_users users_ds_source_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_16
+ ) subq_17
+ ) subq_18
ON
- subq_3.user = subq_6.user
- ) subq_7
- ) subq_8
+ subq_15.user = subq_18.user
+ ) subq_19
+ ) subq_20
ON
(
- subq_1.listing = subq_8.listing
+ subq_13.listing = subq_20.listing
) AND (
- subq_1.ds_partitioned__day = subq_8.user__ds_partitioned__day
+ subq_13.ds_partitioned__day = subq_20.user__ds_partitioned__day
)
- ) subq_9
- ) subq_10
+ ) subq_21
+ ) subq_22
GROUP BY
- subq_10.listing__user__bio_added_ts__minute
-) subq_11
+ subq_22.listing__user__bio_added_ts__minute
+) subq_23
diff --git a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_simple_metric_with_joined_sub_daily_dimension__plan0_optimized.sql b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_simple_metric_with_joined_sub_daily_dimension__plan0_optimized.sql
index 0e9ca352a9..9a4387a9c7 100644
--- a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_simple_metric_with_joined_sub_daily_dimension__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_simple_metric_with_joined_sub_daily_dimension__plan0_optimized.sql
@@ -7,8 +7,8 @@ sql_engine: DuckDB
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_20.user__bio_added_ts__minute AS listing__user__bio_added_ts__minute
- , SUM(subq_13.bookings) AS bookings
+ subq_32.user__bio_added_ts__minute AS listing__user__bio_added_ts__minute
+ , SUM(subq_25.bookings) AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -17,7 +17,7 @@ FROM (
, listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
-) subq_13
+) subq_25
LEFT OUTER JOIN (
-- Join Standard Outputs
-- Pass Only Elements: ['user__ds_partitioned__day', 'user__bio_added_ts__minute', 'listing']
@@ -30,12 +30,12 @@ LEFT OUTER JOIN (
***************************.dim_users users_ds_source_src_28000
ON
listings_latest_src_28000.user_id = users_ds_source_src_28000.user_id
-) subq_20
+) subq_32
ON
(
- subq_13.listing = subq_20.listing
+ subq_25.listing = subq_32.listing
) AND (
- subq_13.ds_partitioned__day = subq_20.user__ds_partitioned__day
+ subq_25.ds_partitioned__day = subq_32.user__ds_partitioned__day
)
GROUP BY
- subq_20.user__bio_added_ts__minute
+ subq_32.user__bio_added_ts__minute
diff --git a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_subdaily_time_constraint_with_metric__plan0.sql b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_subdaily_time_constraint_with_metric__plan0.sql
index 9163159724..34e52201ec 100644
--- a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_subdaily_time_constraint_with_metric__plan0.sql
+++ b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_subdaily_time_constraint_with_metric__plan0.sql
@@ -4,52 +4,52 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_10.metric_time__hour
- , subq_10.archived_users AS subdaily_join_to_time_spine_metric
+ subq_11.metric_time__hour
+ , subq_11.archived_users AS subdaily_join_to_time_spine_metric
FROM (
-- Constrain Time Range to [2020-01-01T02:00:00, 2020-01-01T05:00:00]
SELECT
- subq_9.metric_time__hour
- , subq_9.archived_users
+ subq_10.metric_time__hour
+ , subq_10.archived_users
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_8.metric_time__hour AS metric_time__hour
- , subq_4.archived_users AS archived_users
+ subq_9.metric_time__hour AS metric_time__hour
+ , subq_5.archived_users AS archived_users
FROM (
-- Pass Only Elements: ['metric_time__hour',]
SELECT
- subq_7.metric_time__hour
+ subq_8.metric_time__hour
FROM (
-- Constrain Time Range to [2020-01-01T02:00:00, 2020-01-01T05:00:00]
SELECT
- subq_6.metric_time__hour
- , subq_6.ts__day
- , subq_6.ts__week
- , subq_6.ts__month
- , subq_6.ts__quarter
- , subq_6.ts__year
- , subq_6.ts__extract_year
- , subq_6.ts__extract_quarter
- , subq_6.ts__extract_month
- , subq_6.ts__extract_day
- , subq_6.ts__extract_dow
- , subq_6.ts__extract_doy
+ subq_7.metric_time__hour
+ , subq_7.ts__day
+ , subq_7.ts__week
+ , subq_7.ts__month
+ , subq_7.ts__quarter
+ , subq_7.ts__year
+ , subq_7.ts__extract_year
+ , subq_7.ts__extract_quarter
+ , subq_7.ts__extract_month
+ , subq_7.ts__extract_day
+ , subq_7.ts__extract_dow
+ , subq_7.ts__extract_doy
FROM (
-- Change Column Aliases
SELECT
- subq_5.ts__hour AS metric_time__hour
- , subq_5.ts__day
- , subq_5.ts__week
- , subq_5.ts__month
- , subq_5.ts__quarter
- , subq_5.ts__year
- , subq_5.ts__extract_year
- , subq_5.ts__extract_quarter
- , subq_5.ts__extract_month
- , subq_5.ts__extract_day
- , subq_5.ts__extract_dow
- , subq_5.ts__extract_doy
+ subq_6.ts__hour AS metric_time__hour
+ , subq_6.ts__day
+ , subq_6.ts__week
+ , subq_6.ts__month
+ , subq_6.ts__quarter
+ , subq_6.ts__year
+ , subq_6.ts__extract_year
+ , subq_6.ts__extract_quarter
+ , subq_6.ts__extract_month
+ , subq_6.ts__extract_day
+ , subq_6.ts__extract_dow
+ , subq_6.ts__extract_doy
FROM (
-- Read From Time Spine 'mf_time_spine_hour'
SELECT
@@ -66,407 +66,407 @@ FROM (
, EXTRACT(isodow FROM time_spine_src_28005.ts) AS ts__extract_dow
, EXTRACT(doy FROM time_spine_src_28005.ts) AS ts__extract_doy
FROM ***************************.mf_time_spine_hour time_spine_src_28005
- ) subq_5
- ) subq_6
- WHERE subq_6.metric_time__hour BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
- ) subq_7
- ) subq_8
+ ) subq_6
+ ) subq_7
+ WHERE subq_7.metric_time__hour BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
+ ) subq_8
+ ) subq_9
LEFT OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_3.metric_time__hour
- , SUM(subq_3.archived_users) AS archived_users
+ subq_4.metric_time__hour
+ , SUM(subq_4.archived_users) AS archived_users
FROM (
-- Pass Only Elements: ['archived_users', 'metric_time__hour']
SELECT
- subq_2.metric_time__hour
- , subq_2.archived_users
+ subq_3.metric_time__hour
+ , subq_3.archived_users
FROM (
-- Constrain Time Range to [2020-01-01T02:00:00, 2020-01-01T05:00:00]
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.created_at__day
- , subq_1.created_at__week
- , subq_1.created_at__month
- , subq_1.created_at__quarter
- , subq_1.created_at__year
- , subq_1.created_at__extract_year
- , subq_1.created_at__extract_quarter
- , subq_1.created_at__extract_month
- , subq_1.created_at__extract_day
- , subq_1.created_at__extract_dow
- , subq_1.created_at__extract_doy
- , subq_1.ds_partitioned__day
- , subq_1.ds_partitioned__week
- , subq_1.ds_partitioned__month
- , subq_1.ds_partitioned__quarter
- , subq_1.ds_partitioned__year
- , subq_1.ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy
- , subq_1.last_profile_edit_ts__millisecond
- , subq_1.last_profile_edit_ts__second
- , subq_1.last_profile_edit_ts__minute
- , subq_1.last_profile_edit_ts__hour
- , subq_1.last_profile_edit_ts__day
- , subq_1.last_profile_edit_ts__week
- , subq_1.last_profile_edit_ts__month
- , subq_1.last_profile_edit_ts__quarter
- , subq_1.last_profile_edit_ts__year
- , subq_1.last_profile_edit_ts__extract_year
- , subq_1.last_profile_edit_ts__extract_quarter
- , subq_1.last_profile_edit_ts__extract_month
- , subq_1.last_profile_edit_ts__extract_day
- , subq_1.last_profile_edit_ts__extract_dow
- , subq_1.last_profile_edit_ts__extract_doy
- , subq_1.bio_added_ts__second
- , subq_1.bio_added_ts__minute
- , subq_1.bio_added_ts__hour
- , subq_1.bio_added_ts__day
- , subq_1.bio_added_ts__week
- , subq_1.bio_added_ts__month
- , subq_1.bio_added_ts__quarter
- , subq_1.bio_added_ts__year
- , subq_1.bio_added_ts__extract_year
- , subq_1.bio_added_ts__extract_quarter
- , subq_1.bio_added_ts__extract_month
- , subq_1.bio_added_ts__extract_day
- , subq_1.bio_added_ts__extract_dow
- , subq_1.bio_added_ts__extract_doy
- , subq_1.last_login_ts__minute
- , subq_1.last_login_ts__hour
- , subq_1.last_login_ts__day
- , subq_1.last_login_ts__week
- , subq_1.last_login_ts__month
- , subq_1.last_login_ts__quarter
- , subq_1.last_login_ts__year
- , subq_1.last_login_ts__extract_year
- , subq_1.last_login_ts__extract_quarter
- , subq_1.last_login_ts__extract_month
- , subq_1.last_login_ts__extract_day
- , subq_1.last_login_ts__extract_dow
- , subq_1.last_login_ts__extract_doy
- , subq_1.archived_at__hour
- , subq_1.archived_at__day
- , subq_1.archived_at__week
- , subq_1.archived_at__month
- , subq_1.archived_at__quarter
- , subq_1.archived_at__year
- , subq_1.archived_at__extract_year
- , subq_1.archived_at__extract_quarter
- , subq_1.archived_at__extract_month
- , subq_1.archived_at__extract_day
- , subq_1.archived_at__extract_dow
- , subq_1.archived_at__extract_doy
- , subq_1.user__ds__day
- , subq_1.user__ds__week
- , subq_1.user__ds__month
- , subq_1.user__ds__quarter
- , subq_1.user__ds__year
- , subq_1.user__ds__extract_year
- , subq_1.user__ds__extract_quarter
- , subq_1.user__ds__extract_month
- , subq_1.user__ds__extract_day
- , subq_1.user__ds__extract_dow
- , subq_1.user__ds__extract_doy
- , subq_1.user__created_at__day
- , subq_1.user__created_at__week
- , subq_1.user__created_at__month
- , subq_1.user__created_at__quarter
- , subq_1.user__created_at__year
- , subq_1.user__created_at__extract_year
- , subq_1.user__created_at__extract_quarter
- , subq_1.user__created_at__extract_month
- , subq_1.user__created_at__extract_day
- , subq_1.user__created_at__extract_dow
- , subq_1.user__created_at__extract_doy
- , subq_1.user__ds_partitioned__day
- , subq_1.user__ds_partitioned__week
- , subq_1.user__ds_partitioned__month
- , subq_1.user__ds_partitioned__quarter
- , subq_1.user__ds_partitioned__year
- , subq_1.user__ds_partitioned__extract_year
- , subq_1.user__ds_partitioned__extract_quarter
- , subq_1.user__ds_partitioned__extract_month
- , subq_1.user__ds_partitioned__extract_day
- , subq_1.user__ds_partitioned__extract_dow
- , subq_1.user__ds_partitioned__extract_doy
- , subq_1.user__last_profile_edit_ts__millisecond
- , subq_1.user__last_profile_edit_ts__second
- , subq_1.user__last_profile_edit_ts__minute
- , subq_1.user__last_profile_edit_ts__hour
- , subq_1.user__last_profile_edit_ts__day
- , subq_1.user__last_profile_edit_ts__week
- , subq_1.user__last_profile_edit_ts__month
- , subq_1.user__last_profile_edit_ts__quarter
- , subq_1.user__last_profile_edit_ts__year
- , subq_1.user__last_profile_edit_ts__extract_year
- , subq_1.user__last_profile_edit_ts__extract_quarter
- , subq_1.user__last_profile_edit_ts__extract_month
- , subq_1.user__last_profile_edit_ts__extract_day
- , subq_1.user__last_profile_edit_ts__extract_dow
- , subq_1.user__last_profile_edit_ts__extract_doy
- , subq_1.user__bio_added_ts__second
- , subq_1.user__bio_added_ts__minute
- , subq_1.user__bio_added_ts__hour
- , subq_1.user__bio_added_ts__day
- , subq_1.user__bio_added_ts__week
- , subq_1.user__bio_added_ts__month
- , subq_1.user__bio_added_ts__quarter
- , subq_1.user__bio_added_ts__year
- , subq_1.user__bio_added_ts__extract_year
- , subq_1.user__bio_added_ts__extract_quarter
- , subq_1.user__bio_added_ts__extract_month
- , subq_1.user__bio_added_ts__extract_day
- , subq_1.user__bio_added_ts__extract_dow
- , subq_1.user__bio_added_ts__extract_doy
- , subq_1.user__last_login_ts__minute
- , subq_1.user__last_login_ts__hour
- , subq_1.user__last_login_ts__day
- , subq_1.user__last_login_ts__week
- , subq_1.user__last_login_ts__month
- , subq_1.user__last_login_ts__quarter
- , subq_1.user__last_login_ts__year
- , subq_1.user__last_login_ts__extract_year
- , subq_1.user__last_login_ts__extract_quarter
- , subq_1.user__last_login_ts__extract_month
- , subq_1.user__last_login_ts__extract_day
- , subq_1.user__last_login_ts__extract_dow
- , subq_1.user__last_login_ts__extract_doy
- , subq_1.user__archived_at__hour
- , subq_1.user__archived_at__day
- , subq_1.user__archived_at__week
- , subq_1.user__archived_at__month
- , subq_1.user__archived_at__quarter
- , subq_1.user__archived_at__year
- , subq_1.user__archived_at__extract_year
- , subq_1.user__archived_at__extract_quarter
- , subq_1.user__archived_at__extract_month
- , subq_1.user__archived_at__extract_day
- , subq_1.user__archived_at__extract_dow
- , subq_1.user__archived_at__extract_doy
- , subq_1.metric_time__hour
- , subq_1.metric_time__day
- , subq_1.metric_time__week
- , subq_1.metric_time__month
- , subq_1.metric_time__quarter
- , subq_1.metric_time__year
- , subq_1.metric_time__extract_year
- , subq_1.metric_time__extract_quarter
- , subq_1.metric_time__extract_month
- , subq_1.metric_time__extract_day
- , subq_1.metric_time__extract_dow
- , subq_1.metric_time__extract_doy
- , subq_1.user
- , subq_1.home_state
- , subq_1.user__home_state
- , subq_1.archived_users
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.ds_partitioned__day
+ , subq_2.ds_partitioned__week
+ , subq_2.ds_partitioned__month
+ , subq_2.ds_partitioned__quarter
+ , subq_2.ds_partitioned__year
+ , subq_2.ds_partitioned__extract_year
+ , subq_2.ds_partitioned__extract_quarter
+ , subq_2.ds_partitioned__extract_month
+ , subq_2.ds_partitioned__extract_day
+ , subq_2.ds_partitioned__extract_dow
+ , subq_2.ds_partitioned__extract_doy
+ , subq_2.last_profile_edit_ts__millisecond
+ , subq_2.last_profile_edit_ts__second
+ , subq_2.last_profile_edit_ts__minute
+ , subq_2.last_profile_edit_ts__hour
+ , subq_2.last_profile_edit_ts__day
+ , subq_2.last_profile_edit_ts__week
+ , subq_2.last_profile_edit_ts__month
+ , subq_2.last_profile_edit_ts__quarter
+ , subq_2.last_profile_edit_ts__year
+ , subq_2.last_profile_edit_ts__extract_year
+ , subq_2.last_profile_edit_ts__extract_quarter
+ , subq_2.last_profile_edit_ts__extract_month
+ , subq_2.last_profile_edit_ts__extract_day
+ , subq_2.last_profile_edit_ts__extract_dow
+ , subq_2.last_profile_edit_ts__extract_doy
+ , subq_2.bio_added_ts__second
+ , subq_2.bio_added_ts__minute
+ , subq_2.bio_added_ts__hour
+ , subq_2.bio_added_ts__day
+ , subq_2.bio_added_ts__week
+ , subq_2.bio_added_ts__month
+ , subq_2.bio_added_ts__quarter
+ , subq_2.bio_added_ts__year
+ , subq_2.bio_added_ts__extract_year
+ , subq_2.bio_added_ts__extract_quarter
+ , subq_2.bio_added_ts__extract_month
+ , subq_2.bio_added_ts__extract_day
+ , subq_2.bio_added_ts__extract_dow
+ , subq_2.bio_added_ts__extract_doy
+ , subq_2.last_login_ts__minute
+ , subq_2.last_login_ts__hour
+ , subq_2.last_login_ts__day
+ , subq_2.last_login_ts__week
+ , subq_2.last_login_ts__month
+ , subq_2.last_login_ts__quarter
+ , subq_2.last_login_ts__year
+ , subq_2.last_login_ts__extract_year
+ , subq_2.last_login_ts__extract_quarter
+ , subq_2.last_login_ts__extract_month
+ , subq_2.last_login_ts__extract_day
+ , subq_2.last_login_ts__extract_dow
+ , subq_2.last_login_ts__extract_doy
+ , subq_2.archived_at__hour
+ , subq_2.archived_at__day
+ , subq_2.archived_at__week
+ , subq_2.archived_at__month
+ , subq_2.archived_at__quarter
+ , subq_2.archived_at__year
+ , subq_2.archived_at__extract_year
+ , subq_2.archived_at__extract_quarter
+ , subq_2.archived_at__extract_month
+ , subq_2.archived_at__extract_day
+ , subq_2.archived_at__extract_dow
+ , subq_2.archived_at__extract_doy
+ , subq_2.user__ds__day
+ , subq_2.user__ds__week
+ , subq_2.user__ds__month
+ , subq_2.user__ds__quarter
+ , subq_2.user__ds__year
+ , subq_2.user__ds__extract_year
+ , subq_2.user__ds__extract_quarter
+ , subq_2.user__ds__extract_month
+ , subq_2.user__ds__extract_day
+ , subq_2.user__ds__extract_dow
+ , subq_2.user__ds__extract_doy
+ , subq_2.user__created_at__day
+ , subq_2.user__created_at__week
+ , subq_2.user__created_at__month
+ , subq_2.user__created_at__quarter
+ , subq_2.user__created_at__year
+ , subq_2.user__created_at__extract_year
+ , subq_2.user__created_at__extract_quarter
+ , subq_2.user__created_at__extract_month
+ , subq_2.user__created_at__extract_day
+ , subq_2.user__created_at__extract_dow
+ , subq_2.user__created_at__extract_doy
+ , subq_2.user__ds_partitioned__day
+ , subq_2.user__ds_partitioned__week
+ , subq_2.user__ds_partitioned__month
+ , subq_2.user__ds_partitioned__quarter
+ , subq_2.user__ds_partitioned__year
+ , subq_2.user__ds_partitioned__extract_year
+ , subq_2.user__ds_partitioned__extract_quarter
+ , subq_2.user__ds_partitioned__extract_month
+ , subq_2.user__ds_partitioned__extract_day
+ , subq_2.user__ds_partitioned__extract_dow
+ , subq_2.user__ds_partitioned__extract_doy
+ , subq_2.user__last_profile_edit_ts__millisecond
+ , subq_2.user__last_profile_edit_ts__second
+ , subq_2.user__last_profile_edit_ts__minute
+ , subq_2.user__last_profile_edit_ts__hour
+ , subq_2.user__last_profile_edit_ts__day
+ , subq_2.user__last_profile_edit_ts__week
+ , subq_2.user__last_profile_edit_ts__month
+ , subq_2.user__last_profile_edit_ts__quarter
+ , subq_2.user__last_profile_edit_ts__year
+ , subq_2.user__last_profile_edit_ts__extract_year
+ , subq_2.user__last_profile_edit_ts__extract_quarter
+ , subq_2.user__last_profile_edit_ts__extract_month
+ , subq_2.user__last_profile_edit_ts__extract_day
+ , subq_2.user__last_profile_edit_ts__extract_dow
+ , subq_2.user__last_profile_edit_ts__extract_doy
+ , subq_2.user__bio_added_ts__second
+ , subq_2.user__bio_added_ts__minute
+ , subq_2.user__bio_added_ts__hour
+ , subq_2.user__bio_added_ts__day
+ , subq_2.user__bio_added_ts__week
+ , subq_2.user__bio_added_ts__month
+ , subq_2.user__bio_added_ts__quarter
+ , subq_2.user__bio_added_ts__year
+ , subq_2.user__bio_added_ts__extract_year
+ , subq_2.user__bio_added_ts__extract_quarter
+ , subq_2.user__bio_added_ts__extract_month
+ , subq_2.user__bio_added_ts__extract_day
+ , subq_2.user__bio_added_ts__extract_dow
+ , subq_2.user__bio_added_ts__extract_doy
+ , subq_2.user__last_login_ts__minute
+ , subq_2.user__last_login_ts__hour
+ , subq_2.user__last_login_ts__day
+ , subq_2.user__last_login_ts__week
+ , subq_2.user__last_login_ts__month
+ , subq_2.user__last_login_ts__quarter
+ , subq_2.user__last_login_ts__year
+ , subq_2.user__last_login_ts__extract_year
+ , subq_2.user__last_login_ts__extract_quarter
+ , subq_2.user__last_login_ts__extract_month
+ , subq_2.user__last_login_ts__extract_day
+ , subq_2.user__last_login_ts__extract_dow
+ , subq_2.user__last_login_ts__extract_doy
+ , subq_2.user__archived_at__hour
+ , subq_2.user__archived_at__day
+ , subq_2.user__archived_at__week
+ , subq_2.user__archived_at__month
+ , subq_2.user__archived_at__quarter
+ , subq_2.user__archived_at__year
+ , subq_2.user__archived_at__extract_year
+ , subq_2.user__archived_at__extract_quarter
+ , subq_2.user__archived_at__extract_month
+ , subq_2.user__archived_at__extract_day
+ , subq_2.user__archived_at__extract_dow
+ , subq_2.user__archived_at__extract_doy
+ , subq_2.metric_time__hour
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.user
+ , subq_2.home_state
+ , subq_2.user__home_state
+ , subq_2.archived_users
FROM (
-- Metric Time Dimension 'archived_at'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.last_profile_edit_ts__millisecond
- , subq_0.last_profile_edit_ts__second
- , subq_0.last_profile_edit_ts__minute
- , subq_0.last_profile_edit_ts__hour
- , subq_0.last_profile_edit_ts__day
- , subq_0.last_profile_edit_ts__week
- , subq_0.last_profile_edit_ts__month
- , subq_0.last_profile_edit_ts__quarter
- , subq_0.last_profile_edit_ts__year
- , subq_0.last_profile_edit_ts__extract_year
- , subq_0.last_profile_edit_ts__extract_quarter
- , subq_0.last_profile_edit_ts__extract_month
- , subq_0.last_profile_edit_ts__extract_day
- , subq_0.last_profile_edit_ts__extract_dow
- , subq_0.last_profile_edit_ts__extract_doy
- , subq_0.bio_added_ts__second
- , subq_0.bio_added_ts__minute
- , subq_0.bio_added_ts__hour
- , subq_0.bio_added_ts__day
- , subq_0.bio_added_ts__week
- , subq_0.bio_added_ts__month
- , subq_0.bio_added_ts__quarter
- , subq_0.bio_added_ts__year
- , subq_0.bio_added_ts__extract_year
- , subq_0.bio_added_ts__extract_quarter
- , subq_0.bio_added_ts__extract_month
- , subq_0.bio_added_ts__extract_day
- , subq_0.bio_added_ts__extract_dow
- , subq_0.bio_added_ts__extract_doy
- , subq_0.last_login_ts__minute
- , subq_0.last_login_ts__hour
- , subq_0.last_login_ts__day
- , subq_0.last_login_ts__week
- , subq_0.last_login_ts__month
- , subq_0.last_login_ts__quarter
- , subq_0.last_login_ts__year
- , subq_0.last_login_ts__extract_year
- , subq_0.last_login_ts__extract_quarter
- , subq_0.last_login_ts__extract_month
- , subq_0.last_login_ts__extract_day
- , subq_0.last_login_ts__extract_dow
- , subq_0.last_login_ts__extract_doy
- , subq_0.archived_at__hour
- , subq_0.archived_at__day
- , subq_0.archived_at__week
- , subq_0.archived_at__month
- , subq_0.archived_at__quarter
- , subq_0.archived_at__year
- , subq_0.archived_at__extract_year
- , subq_0.archived_at__extract_quarter
- , subq_0.archived_at__extract_month
- , subq_0.archived_at__extract_day
- , subq_0.archived_at__extract_dow
- , subq_0.archived_at__extract_doy
- , subq_0.user__ds__day
- , subq_0.user__ds__week
- , subq_0.user__ds__month
- , subq_0.user__ds__quarter
- , subq_0.user__ds__year
- , subq_0.user__ds__extract_year
- , subq_0.user__ds__extract_quarter
- , subq_0.user__ds__extract_month
- , subq_0.user__ds__extract_day
- , subq_0.user__ds__extract_dow
- , subq_0.user__ds__extract_doy
- , subq_0.user__created_at__day
- , subq_0.user__created_at__week
- , subq_0.user__created_at__month
- , subq_0.user__created_at__quarter
- , subq_0.user__created_at__year
- , subq_0.user__created_at__extract_year
- , subq_0.user__created_at__extract_quarter
- , subq_0.user__created_at__extract_month
- , subq_0.user__created_at__extract_day
- , subq_0.user__created_at__extract_dow
- , subq_0.user__created_at__extract_doy
- , subq_0.user__ds_partitioned__day
- , subq_0.user__ds_partitioned__week
- , subq_0.user__ds_partitioned__month
- , subq_0.user__ds_partitioned__quarter
- , subq_0.user__ds_partitioned__year
- , subq_0.user__ds_partitioned__extract_year
- , subq_0.user__ds_partitioned__extract_quarter
- , subq_0.user__ds_partitioned__extract_month
- , subq_0.user__ds_partitioned__extract_day
- , subq_0.user__ds_partitioned__extract_dow
- , subq_0.user__ds_partitioned__extract_doy
- , subq_0.user__last_profile_edit_ts__millisecond
- , subq_0.user__last_profile_edit_ts__second
- , subq_0.user__last_profile_edit_ts__minute
- , subq_0.user__last_profile_edit_ts__hour
- , subq_0.user__last_profile_edit_ts__day
- , subq_0.user__last_profile_edit_ts__week
- , subq_0.user__last_profile_edit_ts__month
- , subq_0.user__last_profile_edit_ts__quarter
- , subq_0.user__last_profile_edit_ts__year
- , subq_0.user__last_profile_edit_ts__extract_year
- , subq_0.user__last_profile_edit_ts__extract_quarter
- , subq_0.user__last_profile_edit_ts__extract_month
- , subq_0.user__last_profile_edit_ts__extract_day
- , subq_0.user__last_profile_edit_ts__extract_dow
- , subq_0.user__last_profile_edit_ts__extract_doy
- , subq_0.user__bio_added_ts__second
- , subq_0.user__bio_added_ts__minute
- , subq_0.user__bio_added_ts__hour
- , subq_0.user__bio_added_ts__day
- , subq_0.user__bio_added_ts__week
- , subq_0.user__bio_added_ts__month
- , subq_0.user__bio_added_ts__quarter
- , subq_0.user__bio_added_ts__year
- , subq_0.user__bio_added_ts__extract_year
- , subq_0.user__bio_added_ts__extract_quarter
- , subq_0.user__bio_added_ts__extract_month
- , subq_0.user__bio_added_ts__extract_day
- , subq_0.user__bio_added_ts__extract_dow
- , subq_0.user__bio_added_ts__extract_doy
- , subq_0.user__last_login_ts__minute
- , subq_0.user__last_login_ts__hour
- , subq_0.user__last_login_ts__day
- , subq_0.user__last_login_ts__week
- , subq_0.user__last_login_ts__month
- , subq_0.user__last_login_ts__quarter
- , subq_0.user__last_login_ts__year
- , subq_0.user__last_login_ts__extract_year
- , subq_0.user__last_login_ts__extract_quarter
- , subq_0.user__last_login_ts__extract_month
- , subq_0.user__last_login_ts__extract_day
- , subq_0.user__last_login_ts__extract_dow
- , subq_0.user__last_login_ts__extract_doy
- , subq_0.user__archived_at__hour
- , subq_0.user__archived_at__day
- , subq_0.user__archived_at__week
- , subq_0.user__archived_at__month
- , subq_0.user__archived_at__quarter
- , subq_0.user__archived_at__year
- , subq_0.user__archived_at__extract_year
- , subq_0.user__archived_at__extract_quarter
- , subq_0.user__archived_at__extract_month
- , subq_0.user__archived_at__extract_day
- , subq_0.user__archived_at__extract_dow
- , subq_0.user__archived_at__extract_doy
- , subq_0.archived_at__hour AS metric_time__hour
- , subq_0.archived_at__day AS metric_time__day
- , subq_0.archived_at__week AS metric_time__week
- , subq_0.archived_at__month AS metric_time__month
- , subq_0.archived_at__quarter AS metric_time__quarter
- , subq_0.archived_at__year AS metric_time__year
- , subq_0.archived_at__extract_year AS metric_time__extract_year
- , subq_0.archived_at__extract_quarter AS metric_time__extract_quarter
- , subq_0.archived_at__extract_month AS metric_time__extract_month
- , subq_0.archived_at__extract_day AS metric_time__extract_day
- , subq_0.archived_at__extract_dow AS metric_time__extract_dow
- , subq_0.archived_at__extract_doy AS metric_time__extract_doy
- , subq_0.user
- , subq_0.home_state
- , subq_0.user__home_state
- , subq_0.archived_users
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.created_at__day
+ , subq_1.created_at__week
+ , subq_1.created_at__month
+ , subq_1.created_at__quarter
+ , subq_1.created_at__year
+ , subq_1.created_at__extract_year
+ , subq_1.created_at__extract_quarter
+ , subq_1.created_at__extract_month
+ , subq_1.created_at__extract_day
+ , subq_1.created_at__extract_dow
+ , subq_1.created_at__extract_doy
+ , subq_1.ds_partitioned__day
+ , subq_1.ds_partitioned__week
+ , subq_1.ds_partitioned__month
+ , subq_1.ds_partitioned__quarter
+ , subq_1.ds_partitioned__year
+ , subq_1.ds_partitioned__extract_year
+ , subq_1.ds_partitioned__extract_quarter
+ , subq_1.ds_partitioned__extract_month
+ , subq_1.ds_partitioned__extract_day
+ , subq_1.ds_partitioned__extract_dow
+ , subq_1.ds_partitioned__extract_doy
+ , subq_1.last_profile_edit_ts__millisecond
+ , subq_1.last_profile_edit_ts__second
+ , subq_1.last_profile_edit_ts__minute
+ , subq_1.last_profile_edit_ts__hour
+ , subq_1.last_profile_edit_ts__day
+ , subq_1.last_profile_edit_ts__week
+ , subq_1.last_profile_edit_ts__month
+ , subq_1.last_profile_edit_ts__quarter
+ , subq_1.last_profile_edit_ts__year
+ , subq_1.last_profile_edit_ts__extract_year
+ , subq_1.last_profile_edit_ts__extract_quarter
+ , subq_1.last_profile_edit_ts__extract_month
+ , subq_1.last_profile_edit_ts__extract_day
+ , subq_1.last_profile_edit_ts__extract_dow
+ , subq_1.last_profile_edit_ts__extract_doy
+ , subq_1.bio_added_ts__second
+ , subq_1.bio_added_ts__minute
+ , subq_1.bio_added_ts__hour
+ , subq_1.bio_added_ts__day
+ , subq_1.bio_added_ts__week
+ , subq_1.bio_added_ts__month
+ , subq_1.bio_added_ts__quarter
+ , subq_1.bio_added_ts__year
+ , subq_1.bio_added_ts__extract_year
+ , subq_1.bio_added_ts__extract_quarter
+ , subq_1.bio_added_ts__extract_month
+ , subq_1.bio_added_ts__extract_day
+ , subq_1.bio_added_ts__extract_dow
+ , subq_1.bio_added_ts__extract_doy
+ , subq_1.last_login_ts__minute
+ , subq_1.last_login_ts__hour
+ , subq_1.last_login_ts__day
+ , subq_1.last_login_ts__week
+ , subq_1.last_login_ts__month
+ , subq_1.last_login_ts__quarter
+ , subq_1.last_login_ts__year
+ , subq_1.last_login_ts__extract_year
+ , subq_1.last_login_ts__extract_quarter
+ , subq_1.last_login_ts__extract_month
+ , subq_1.last_login_ts__extract_day
+ , subq_1.last_login_ts__extract_dow
+ , subq_1.last_login_ts__extract_doy
+ , subq_1.archived_at__hour
+ , subq_1.archived_at__day
+ , subq_1.archived_at__week
+ , subq_1.archived_at__month
+ , subq_1.archived_at__quarter
+ , subq_1.archived_at__year
+ , subq_1.archived_at__extract_year
+ , subq_1.archived_at__extract_quarter
+ , subq_1.archived_at__extract_month
+ , subq_1.archived_at__extract_day
+ , subq_1.archived_at__extract_dow
+ , subq_1.archived_at__extract_doy
+ , subq_1.user__ds__day
+ , subq_1.user__ds__week
+ , subq_1.user__ds__month
+ , subq_1.user__ds__quarter
+ , subq_1.user__ds__year
+ , subq_1.user__ds__extract_year
+ , subq_1.user__ds__extract_quarter
+ , subq_1.user__ds__extract_month
+ , subq_1.user__ds__extract_day
+ , subq_1.user__ds__extract_dow
+ , subq_1.user__ds__extract_doy
+ , subq_1.user__created_at__day
+ , subq_1.user__created_at__week
+ , subq_1.user__created_at__month
+ , subq_1.user__created_at__quarter
+ , subq_1.user__created_at__year
+ , subq_1.user__created_at__extract_year
+ , subq_1.user__created_at__extract_quarter
+ , subq_1.user__created_at__extract_month
+ , subq_1.user__created_at__extract_day
+ , subq_1.user__created_at__extract_dow
+ , subq_1.user__created_at__extract_doy
+ , subq_1.user__ds_partitioned__day
+ , subq_1.user__ds_partitioned__week
+ , subq_1.user__ds_partitioned__month
+ , subq_1.user__ds_partitioned__quarter
+ , subq_1.user__ds_partitioned__year
+ , subq_1.user__ds_partitioned__extract_year
+ , subq_1.user__ds_partitioned__extract_quarter
+ , subq_1.user__ds_partitioned__extract_month
+ , subq_1.user__ds_partitioned__extract_day
+ , subq_1.user__ds_partitioned__extract_dow
+ , subq_1.user__ds_partitioned__extract_doy
+ , subq_1.user__last_profile_edit_ts__millisecond
+ , subq_1.user__last_profile_edit_ts__second
+ , subq_1.user__last_profile_edit_ts__minute
+ , subq_1.user__last_profile_edit_ts__hour
+ , subq_1.user__last_profile_edit_ts__day
+ , subq_1.user__last_profile_edit_ts__week
+ , subq_1.user__last_profile_edit_ts__month
+ , subq_1.user__last_profile_edit_ts__quarter
+ , subq_1.user__last_profile_edit_ts__year
+ , subq_1.user__last_profile_edit_ts__extract_year
+ , subq_1.user__last_profile_edit_ts__extract_quarter
+ , subq_1.user__last_profile_edit_ts__extract_month
+ , subq_1.user__last_profile_edit_ts__extract_day
+ , subq_1.user__last_profile_edit_ts__extract_dow
+ , subq_1.user__last_profile_edit_ts__extract_doy
+ , subq_1.user__bio_added_ts__second
+ , subq_1.user__bio_added_ts__minute
+ , subq_1.user__bio_added_ts__hour
+ , subq_1.user__bio_added_ts__day
+ , subq_1.user__bio_added_ts__week
+ , subq_1.user__bio_added_ts__month
+ , subq_1.user__bio_added_ts__quarter
+ , subq_1.user__bio_added_ts__year
+ , subq_1.user__bio_added_ts__extract_year
+ , subq_1.user__bio_added_ts__extract_quarter
+ , subq_1.user__bio_added_ts__extract_month
+ , subq_1.user__bio_added_ts__extract_day
+ , subq_1.user__bio_added_ts__extract_dow
+ , subq_1.user__bio_added_ts__extract_doy
+ , subq_1.user__last_login_ts__minute
+ , subq_1.user__last_login_ts__hour
+ , subq_1.user__last_login_ts__day
+ , subq_1.user__last_login_ts__week
+ , subq_1.user__last_login_ts__month
+ , subq_1.user__last_login_ts__quarter
+ , subq_1.user__last_login_ts__year
+ , subq_1.user__last_login_ts__extract_year
+ , subq_1.user__last_login_ts__extract_quarter
+ , subq_1.user__last_login_ts__extract_month
+ , subq_1.user__last_login_ts__extract_day
+ , subq_1.user__last_login_ts__extract_dow
+ , subq_1.user__last_login_ts__extract_doy
+ , subq_1.user__archived_at__hour
+ , subq_1.user__archived_at__day
+ , subq_1.user__archived_at__week
+ , subq_1.user__archived_at__month
+ , subq_1.user__archived_at__quarter
+ , subq_1.user__archived_at__year
+ , subq_1.user__archived_at__extract_year
+ , subq_1.user__archived_at__extract_quarter
+ , subq_1.user__archived_at__extract_month
+ , subq_1.user__archived_at__extract_day
+ , subq_1.user__archived_at__extract_dow
+ , subq_1.user__archived_at__extract_doy
+ , subq_1.archived_at__hour AS metric_time__hour
+ , subq_1.archived_at__day AS metric_time__day
+ , subq_1.archived_at__week AS metric_time__week
+ , subq_1.archived_at__month AS metric_time__month
+ , subq_1.archived_at__quarter AS metric_time__quarter
+ , subq_1.archived_at__year AS metric_time__year
+ , subq_1.archived_at__extract_year AS metric_time__extract_year
+ , subq_1.archived_at__extract_quarter AS metric_time__extract_quarter
+ , subq_1.archived_at__extract_month AS metric_time__extract_month
+ , subq_1.archived_at__extract_day AS metric_time__extract_day
+ , subq_1.archived_at__extract_dow AS metric_time__extract_dow
+ , subq_1.archived_at__extract_doy AS metric_time__extract_doy
+ , subq_1.user
+ , subq_1.home_state
+ , subq_1.user__home_state
+ , subq_1.archived_users
FROM (
-- Read Elements From Semantic Model 'users_ds_source'
SELECT
@@ -650,16 +650,16 @@ FROM (
, EXTRACT(doy FROM users_ds_source_src_28000.archived_at) AS user__archived_at__extract_doy
, users_ds_source_src_28000.user_id AS user
FROM ***************************.dim_users users_ds_source_src_28000
- ) subq_0
- ) subq_1
- WHERE subq_1.metric_time__hour BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
- ) subq_2
- ) subq_3
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__hour BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
+ ) subq_3
+ ) subq_4
GROUP BY
- subq_3.metric_time__hour
- ) subq_4
+ subq_4.metric_time__hour
+ ) subq_5
ON
- subq_8.metric_time__hour = subq_4.metric_time__hour
- ) subq_9
- WHERE subq_9.metric_time__hour BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
-) subq_10
+ subq_9.metric_time__hour = subq_5.metric_time__hour
+ ) subq_10
+ WHERE subq_10.metric_time__hour BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
+) subq_11
diff --git a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_subdaily_time_constraint_with_metric__plan0_optimized.sql b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_subdaily_time_constraint_with_metric__plan0_optimized.sql
index ab05a47a39..446dcd5610 100644
--- a/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_subdaily_time_constraint_with_metric__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_granularity_date_part_rendering.py/SqlPlan/DuckDB/test_subdaily_time_constraint_with_metric__plan0_optimized.sql
@@ -6,8 +6,8 @@ sql_engine: DuckDB
-- Constrain Time Range to [2020-01-01T02:00:00, 2020-01-01T05:00:00]
-- Compute Metrics via Expressions
SELECT
- subq_19.metric_time__hour AS metric_time__hour
- , subq_15.archived_users AS subdaily_join_to_time_spine_metric
+ subq_20.metric_time__hour AS metric_time__hour
+ , subq_16.archived_users AS subdaily_join_to_time_spine_metric
FROM (
-- Read From Time Spine 'mf_time_spine_hour'
-- Change Column Aliases
@@ -17,7 +17,7 @@ FROM (
ts AS metric_time__hour
FROM ***************************.mf_time_spine_hour time_spine_src_28005
WHERE ts BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
-) subq_19
+) subq_20
LEFT OUTER JOIN (
-- Aggregate Measures
SELECT
@@ -33,10 +33,10 @@ LEFT OUTER JOIN (
, 1 AS archived_users
FROM ***************************.dim_users users_ds_source_src_28000
WHERE DATE_TRUNC('hour', archived_at) BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
- ) subq_14
+ ) subq_15
GROUP BY
metric_time__hour
-) subq_15
+) subq_16
ON
- subq_19.metric_time__hour = subq_15.metric_time__hour
-WHERE subq_19.metric_time__hour BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
+ subq_20.metric_time__hour = subq_16.metric_time__hour
+WHERE subq_20.metric_time__hour BETWEEN '2020-01-01 02:00:00' AND '2020-01-01 05:00:00'
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_distinct_values_query_with_metric_filter__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_distinct_values_query_with_metric_filter__plan0.sql
index 4dc4d730e1..a3ea95af60 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_distinct_values_query_with_metric_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_distinct_values_query_with_metric_filter__plan0.sql
@@ -6,21 +6,21 @@ sql_engine: DuckDB
---
-- Pass Only Elements: ['listing',]
SELECT
- subq_8.listing
+ subq_11.listing
FROM (
-- Constrain Output with WHERE
SELECT
- subq_7.listing
- , subq_7.lux_listing
- , subq_7.listing__lux_listing
- , subq_7.listing__bookings
+ subq_10.listing
+ , subq_10.lux_listing
+ , subq_10.listing__lux_listing
+ , subq_10.listing__bookings
FROM (
-- Join Standard Outputs
SELECT
- subq_6.listing__bookings AS listing__bookings
- , subq_0.listing AS listing
- , subq_0.lux_listing AS lux_listing
- , subq_0.listing__lux_listing AS listing__lux_listing
+ subq_9.listing__bookings AS listing__bookings
+ , subq_3.listing AS listing
+ , subq_3.lux_listing AS lux_listing
+ , subq_3.listing__lux_listing AS listing__lux_listing
FROM (
-- Read Elements From Semantic Model 'lux_listing_mapping'
SELECT
@@ -28,128 +28,128 @@ FROM (
, lux_listing_mapping_src_28000.lux_listing_id AS lux_listing
, lux_listing_mapping_src_28000.lux_listing_id AS listing__lux_listing
FROM ***************************.dim_lux_listing_id_mapping lux_listing_mapping_src_28000
- ) subq_0
+ ) subq_3
FULL OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__bookings']
SELECT
- subq_5.listing
- , subq_5.listing__bookings
+ subq_8.listing
+ , subq_8.listing__bookings
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_4.listing
- , subq_4.bookings AS listing__bookings
+ subq_7.listing
+ , subq_7.bookings AS listing__bookings
FROM (
-- Aggregate Measures
SELECT
- subq_3.listing
- , SUM(subq_3.bookings) AS bookings
+ subq_6.listing
+ , SUM(subq_6.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing']
SELECT
- subq_2.listing
- , subq_2.bookings
+ subq_5.listing
+ , subq_5.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.ds_partitioned__day
- , subq_1.ds_partitioned__week
- , subq_1.ds_partitioned__month
- , subq_1.ds_partitioned__quarter
- , subq_1.ds_partitioned__year
- , subq_1.ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy
- , subq_1.paid_at__day
- , subq_1.paid_at__week
- , subq_1.paid_at__month
- , subq_1.paid_at__quarter
- , subq_1.paid_at__year
- , subq_1.paid_at__extract_year
- , subq_1.paid_at__extract_quarter
- , subq_1.paid_at__extract_month
- , subq_1.paid_at__extract_day
- , subq_1.paid_at__extract_dow
- , subq_1.paid_at__extract_doy
- , subq_1.booking__ds__day
- , subq_1.booking__ds__week
- , subq_1.booking__ds__month
- , subq_1.booking__ds__quarter
- , subq_1.booking__ds__year
- , subq_1.booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month
- , subq_1.booking__ds__extract_day
- , subq_1.booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day
- , subq_1.booking__paid_at__week
- , subq_1.booking__paid_at__month
- , subq_1.booking__paid_at__quarter
- , subq_1.booking__paid_at__year
- , subq_1.booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy
- , subq_1.ds__day AS metric_time__day
- , subq_1.ds__week AS metric_time__week
- , subq_1.ds__month AS metric_time__month
- , subq_1.ds__quarter AS metric_time__quarter
- , subq_1.ds__year AS metric_time__year
- , subq_1.ds__extract_year AS metric_time__extract_year
- , subq_1.ds__extract_quarter AS metric_time__extract_quarter
- , subq_1.ds__extract_month AS metric_time__extract_month
- , subq_1.ds__extract_day AS metric_time__extract_day
- , subq_1.ds__extract_dow AS metric_time__extract_dow
- , subq_1.ds__extract_doy AS metric_time__extract_doy
- , subq_1.listing
- , subq_1.guest
- , subq_1.host
- , subq_1.booking__listing
- , subq_1.booking__guest
- , subq_1.booking__host
- , subq_1.is_instant
- , subq_1.booking__is_instant
- , subq_1.bookings
- , subq_1.instant_bookings
- , subq_1.booking_value
- , subq_1.max_booking_value
- , subq_1.min_booking_value
- , subq_1.bookers
- , subq_1.average_booking_value
- , subq_1.referred_bookings
- , subq_1.median_booking_value
- , subq_1.booking_value_p99
- , subq_1.discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99
+ subq_4.ds__day
+ , subq_4.ds__week
+ , subq_4.ds__month
+ , subq_4.ds__quarter
+ , subq_4.ds__year
+ , subq_4.ds__extract_year
+ , subq_4.ds__extract_quarter
+ , subq_4.ds__extract_month
+ , subq_4.ds__extract_day
+ , subq_4.ds__extract_dow
+ , subq_4.ds__extract_doy
+ , subq_4.ds_partitioned__day
+ , subq_4.ds_partitioned__week
+ , subq_4.ds_partitioned__month
+ , subq_4.ds_partitioned__quarter
+ , subq_4.ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy
+ , subq_4.paid_at__day
+ , subq_4.paid_at__week
+ , subq_4.paid_at__month
+ , subq_4.paid_at__quarter
+ , subq_4.paid_at__year
+ , subq_4.paid_at__extract_year
+ , subq_4.paid_at__extract_quarter
+ , subq_4.paid_at__extract_month
+ , subq_4.paid_at__extract_day
+ , subq_4.paid_at__extract_dow
+ , subq_4.paid_at__extract_doy
+ , subq_4.booking__ds__day
+ , subq_4.booking__ds__week
+ , subq_4.booking__ds__month
+ , subq_4.booking__ds__quarter
+ , subq_4.booking__ds__year
+ , subq_4.booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month
+ , subq_4.booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day
+ , subq_4.booking__paid_at__week
+ , subq_4.booking__paid_at__month
+ , subq_4.booking__paid_at__quarter
+ , subq_4.booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy
+ , subq_4.ds__day AS metric_time__day
+ , subq_4.ds__week AS metric_time__week
+ , subq_4.ds__month AS metric_time__month
+ , subq_4.ds__quarter AS metric_time__quarter
+ , subq_4.ds__year AS metric_time__year
+ , subq_4.ds__extract_year AS metric_time__extract_year
+ , subq_4.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_4.ds__extract_month AS metric_time__extract_month
+ , subq_4.ds__extract_day AS metric_time__extract_day
+ , subq_4.ds__extract_dow AS metric_time__extract_dow
+ , subq_4.ds__extract_doy AS metric_time__extract_doy
+ , subq_4.listing
+ , subq_4.guest
+ , subq_4.host
+ , subq_4.booking__listing
+ , subq_4.booking__guest
+ , subq_4.booking__host
+ , subq_4.is_instant
+ , subq_4.booking__is_instant
+ , subq_4.bookings
+ , subq_4.instant_bookings
+ , subq_4.booking_value
+ , subq_4.max_booking_value
+ , subq_4.min_booking_value
+ , subq_4.bookers
+ , subq_4.average_booking_value
+ , subq_4.referred_bookings
+ , subq_4.median_booking_value
+ , subq_4.booking_value_p99
+ , subq_4.discrete_booking_value_p99
+ , subq_4.approximate_continuous_booking_value_p99
+ , subq_4.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -242,18 +242,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_1
- ) subq_2
- ) subq_3
+ ) subq_4
+ ) subq_5
+ ) subq_6
GROUP BY
- subq_3.listing
- ) subq_4
- ) subq_5
- ) subq_6
+ subq_6.listing
+ ) subq_7
+ ) subq_8
+ ) subq_9
ON
- subq_0.listing = subq_6.listing
- ) subq_7
+ subq_3.listing = subq_9.listing
+ ) subq_10
WHERE listing__bookings > 2
-) subq_8
+) subq_11
GROUP BY
- subq_8.listing
+ subq_11.listing
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_distinct_values_query_with_metric_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_distinct_values_query_with_metric_filter__plan0_optimized.sql
index 48d70e9ee4..6e4adfc35d 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_distinct_values_query_with_metric_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_distinct_values_query_with_metric_filter__plan0_optimized.sql
@@ -11,7 +11,7 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_15.listing__bookings AS listing__bookings
+ subq_18.listing__bookings AS listing__bookings
, lux_listing_mapping_src_28000.listing_id AS listing
FROM ***************************.dim_lux_listing_id_mapping lux_listing_mapping_src_28000
FULL OUTER JOIN (
@@ -29,13 +29,13 @@ FROM (
listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_12
+ ) subq_15
GROUP BY
listing
- ) subq_15
+ ) subq_18
ON
- lux_listing_mapping_src_28000.listing_id = subq_15.listing
-) subq_16
+ lux_listing_mapping_src_28000.listing_id = subq_18.listing
+) subq_19
WHERE listing__bookings > 2
GROUP BY
listing
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_by_metric_in_same_semantic_model_as_queried_metric__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_by_metric_in_same_semantic_model_as_queried_metric__plan0.sql
index a66792b0dd..12f6ad379e 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_by_metric_in_same_semantic_model_as_queried_metric__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_by_metric_in_same_semantic_model_as_queried_metric__plan0.sql
@@ -6,320 +6,320 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.bookers
+ subq_13.bookers
FROM (
-- Aggregate Measures
SELECT
- COUNT(DISTINCT subq_10.bookers) AS bookers
+ COUNT(DISTINCT subq_12.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers',]
SELECT
- subq_9.bookers
+ subq_11.bookers
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_partitioned__day
- , subq_8.ds_partitioned__week
- , subq_8.ds_partitioned__month
- , subq_8.ds_partitioned__quarter
- , subq_8.ds_partitioned__year
- , subq_8.ds_partitioned__extract_year
- , subq_8.ds_partitioned__extract_quarter
- , subq_8.ds_partitioned__extract_month
- , subq_8.ds_partitioned__extract_day
- , subq_8.ds_partitioned__extract_dow
- , subq_8.ds_partitioned__extract_doy
- , subq_8.paid_at__day
- , subq_8.paid_at__week
- , subq_8.paid_at__month
- , subq_8.paid_at__quarter
- , subq_8.paid_at__year
- , subq_8.paid_at__extract_year
- , subq_8.paid_at__extract_quarter
- , subq_8.paid_at__extract_month
- , subq_8.paid_at__extract_day
- , subq_8.paid_at__extract_dow
- , subq_8.paid_at__extract_doy
- , subq_8.booking__ds__day
- , subq_8.booking__ds__week
- , subq_8.booking__ds__month
- , subq_8.booking__ds__quarter
- , subq_8.booking__ds__year
- , subq_8.booking__ds__extract_year
- , subq_8.booking__ds__extract_quarter
- , subq_8.booking__ds__extract_month
- , subq_8.booking__ds__extract_day
- , subq_8.booking__ds__extract_dow
- , subq_8.booking__ds__extract_doy
- , subq_8.booking__ds_partitioned__day
- , subq_8.booking__ds_partitioned__week
- , subq_8.booking__ds_partitioned__month
- , subq_8.booking__ds_partitioned__quarter
- , subq_8.booking__ds_partitioned__year
- , subq_8.booking__ds_partitioned__extract_year
- , subq_8.booking__ds_partitioned__extract_quarter
- , subq_8.booking__ds_partitioned__extract_month
- , subq_8.booking__ds_partitioned__extract_day
- , subq_8.booking__ds_partitioned__extract_dow
- , subq_8.booking__ds_partitioned__extract_doy
- , subq_8.booking__paid_at__day
- , subq_8.booking__paid_at__week
- , subq_8.booking__paid_at__month
- , subq_8.booking__paid_at__quarter
- , subq_8.booking__paid_at__year
- , subq_8.booking__paid_at__extract_year
- , subq_8.booking__paid_at__extract_quarter
- , subq_8.booking__paid_at__extract_month
- , subq_8.booking__paid_at__extract_day
- , subq_8.booking__paid_at__extract_dow
- , subq_8.booking__paid_at__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.listing
- , subq_8.guest
- , subq_8.host
- , subq_8.booking__listing
- , subq_8.booking__guest
- , subq_8.booking__host
- , subq_8.is_instant
- , subq_8.booking__is_instant
- , subq_8.guest__booking_value
- , subq_8.bookings
- , subq_8.instant_bookings
- , subq_8.booking_value
- , subq_8.max_booking_value
- , subq_8.min_booking_value
- , subq_8.bookers
- , subq_8.average_booking_value
- , subq_8.referred_bookings
- , subq_8.median_booking_value
- , subq_8.booking_value_p99
- , subq_8.discrete_booking_value_p99
- , subq_8.approximate_continuous_booking_value_p99
- , subq_8.approximate_discrete_booking_value_p99
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_partitioned__day
+ , subq_10.ds_partitioned__week
+ , subq_10.ds_partitioned__month
+ , subq_10.ds_partitioned__quarter
+ , subq_10.ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy
+ , subq_10.paid_at__day
+ , subq_10.paid_at__week
+ , subq_10.paid_at__month
+ , subq_10.paid_at__quarter
+ , subq_10.paid_at__year
+ , subq_10.paid_at__extract_year
+ , subq_10.paid_at__extract_quarter
+ , subq_10.paid_at__extract_month
+ , subq_10.paid_at__extract_day
+ , subq_10.paid_at__extract_dow
+ , subq_10.paid_at__extract_doy
+ , subq_10.booking__ds__day
+ , subq_10.booking__ds__week
+ , subq_10.booking__ds__month
+ , subq_10.booking__ds__quarter
+ , subq_10.booking__ds__year
+ , subq_10.booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month
+ , subq_10.booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day
+ , subq_10.booking__paid_at__week
+ , subq_10.booking__paid_at__month
+ , subq_10.booking__paid_at__quarter
+ , subq_10.booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy
+ , subq_10.metric_time__day
+ , subq_10.metric_time__week
+ , subq_10.metric_time__month
+ , subq_10.metric_time__quarter
+ , subq_10.metric_time__year
+ , subq_10.metric_time__extract_year
+ , subq_10.metric_time__extract_quarter
+ , subq_10.metric_time__extract_month
+ , subq_10.metric_time__extract_day
+ , subq_10.metric_time__extract_dow
+ , subq_10.metric_time__extract_doy
+ , subq_10.listing
+ , subq_10.guest
+ , subq_10.host
+ , subq_10.booking__listing
+ , subq_10.booking__guest
+ , subq_10.booking__host
+ , subq_10.is_instant
+ , subq_10.booking__is_instant
+ , subq_10.guest__booking_value
+ , subq_10.bookings
+ , subq_10.instant_bookings
+ , subq_10.booking_value
+ , subq_10.max_booking_value
+ , subq_10.min_booking_value
+ , subq_10.bookers
+ , subq_10.average_booking_value
+ , subq_10.referred_bookings
+ , subq_10.median_booking_value
+ , subq_10.booking_value_p99
+ , subq_10.discrete_booking_value_p99
+ , subq_10.approximate_continuous_booking_value_p99
+ , subq_10.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_7.guest__booking_value AS guest__booking_value
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.max_booking_value AS max_booking_value
- , subq_1.min_booking_value AS min_booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
- , subq_1.referred_bookings AS referred_bookings
- , subq_1.median_booking_value AS median_booking_value
- , subq_1.booking_value_p99 AS booking_value_p99
- , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_9.guest__booking_value AS guest__booking_value
+ , subq_4.ds__day AS ds__day
+ , subq_4.ds__week AS ds__week
+ , subq_4.ds__month AS ds__month
+ , subq_4.ds__quarter AS ds__quarter
+ , subq_4.ds__year AS ds__year
+ , subq_4.ds__extract_year AS ds__extract_year
+ , subq_4.ds__extract_quarter AS ds__extract_quarter
+ , subq_4.ds__extract_month AS ds__extract_month
+ , subq_4.ds__extract_day AS ds__extract_day
+ , subq_4.ds__extract_dow AS ds__extract_dow
+ , subq_4.ds__extract_doy AS ds__extract_doy
+ , subq_4.ds_partitioned__day AS ds_partitioned__day
+ , subq_4.ds_partitioned__week AS ds_partitioned__week
+ , subq_4.ds_partitioned__month AS ds_partitioned__month
+ , subq_4.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_4.ds_partitioned__year AS ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_4.paid_at__day AS paid_at__day
+ , subq_4.paid_at__week AS paid_at__week
+ , subq_4.paid_at__month AS paid_at__month
+ , subq_4.paid_at__quarter AS paid_at__quarter
+ , subq_4.paid_at__year AS paid_at__year
+ , subq_4.paid_at__extract_year AS paid_at__extract_year
+ , subq_4.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_4.paid_at__extract_month AS paid_at__extract_month
+ , subq_4.paid_at__extract_day AS paid_at__extract_day
+ , subq_4.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_4.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_4.booking__ds__day AS booking__ds__day
+ , subq_4.booking__ds__week AS booking__ds__week
+ , subq_4.booking__ds__month AS booking__ds__month
+ , subq_4.booking__ds__quarter AS booking__ds__quarter
+ , subq_4.booking__ds__year AS booking__ds__year
+ , subq_4.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_4.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day AS booking__paid_at__day
+ , subq_4.booking__paid_at__week AS booking__paid_at__week
+ , subq_4.booking__paid_at__month AS booking__paid_at__month
+ , subq_4.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_4.booking__paid_at__year AS booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_4.metric_time__day AS metric_time__day
+ , subq_4.metric_time__week AS metric_time__week
+ , subq_4.metric_time__month AS metric_time__month
+ , subq_4.metric_time__quarter AS metric_time__quarter
+ , subq_4.metric_time__year AS metric_time__year
+ , subq_4.metric_time__extract_year AS metric_time__extract_year
+ , subq_4.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_4.metric_time__extract_month AS metric_time__extract_month
+ , subq_4.metric_time__extract_day AS metric_time__extract_day
+ , subq_4.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_4.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_4.listing AS listing
+ , subq_4.guest AS guest
+ , subq_4.host AS host
+ , subq_4.booking__listing AS booking__listing
+ , subq_4.booking__guest AS booking__guest
+ , subq_4.booking__host AS booking__host
+ , subq_4.is_instant AS is_instant
+ , subq_4.booking__is_instant AS booking__is_instant
+ , subq_4.bookings AS bookings
+ , subq_4.instant_bookings AS instant_bookings
+ , subq_4.booking_value AS booking_value
+ , subq_4.max_booking_value AS max_booking_value
+ , subq_4.min_booking_value AS min_booking_value
+ , subq_4.bookers AS bookers
+ , subq_4.average_booking_value AS average_booking_value
+ , subq_4.referred_bookings AS referred_bookings
+ , subq_4.median_booking_value AS median_booking_value
+ , subq_4.booking_value_p99 AS booking_value_p99
+ , subq_4.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_4.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_4.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.max_booking_value
+ , subq_3.min_booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
+ , subq_3.referred_bookings
+ , subq_3.median_booking_value
+ , subq_3.booking_value_p99
+ , subq_3.discrete_booking_value_p99
+ , subq_3.approximate_continuous_booking_value_p99
+ , subq_3.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -412,129 +412,129 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
+ ) subq_3
+ ) subq_4
LEFT OUTER JOIN (
-- Pass Only Elements: ['guest', 'guest__booking_value']
SELECT
- subq_6.guest
- , subq_6.guest__booking_value
+ subq_8.guest
+ , subq_8.guest__booking_value
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.guest
- , subq_5.booking_value AS guest__booking_value
+ subq_7.guest
+ , subq_7.booking_value AS guest__booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_4.guest
- , SUM(subq_4.booking_value) AS booking_value
+ subq_6.guest
+ , SUM(subq_6.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value', 'guest']
SELECT
- subq_3.guest
- , subq_3.booking_value
+ subq_5.guest
+ , subq_5.booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.max_booking_value
+ , subq_3.min_booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
+ , subq_3.referred_bookings
+ , subq_3.median_booking_value
+ , subq_3.booking_value_p99
+ , subq_3.discrete_booking_value_p99
+ , subq_3.approximate_continuous_booking_value_p99
+ , subq_3.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -627,18 +627,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_3
+ ) subq_5
+ ) subq_6
GROUP BY
- subq_4.guest
- ) subq_5
- ) subq_6
- ) subq_7
+ subq_6.guest
+ ) subq_7
+ ) subq_8
+ ) subq_9
ON
- subq_1.guest = subq_7.guest
- ) subq_8
+ subq_4.guest = subq_9.guest
+ ) subq_10
WHERE guest__booking_value > 1.00
- ) subq_9
- ) subq_10
-) subq_11
+ ) subq_11
+ ) subq_12
+) subq_13
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_by_metric_in_same_semantic_model_as_queried_metric__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_by_metric_in_same_semantic_model_as_queried_metric__plan0_optimized.sql
index 51a8845229..b3737394c8 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_by_metric_in_same_semantic_model_as_queried_metric__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_by_metric_in_same_semantic_model_as_queried_metric__plan0_optimized.sql
@@ -23,15 +23,16 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_18.guest__booking_value AS guest__booking_value
- , subq_13.bookers AS bookers
+ subq_20.guest__booking_value AS guest__booking_value
+ , subq_15.bookers AS bookers
FROM (
-- Read From CTE For node_id=sma_28009
SELECT
guest
+ , booking_value
, bookers
FROM sma_28009_cte sma_28009_cte
- ) subq_13
+ ) subq_15
LEFT OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['booking_value', 'guest']
@@ -44,8 +45,8 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
guest
- ) subq_18
+ ) subq_20
ON
- subq_13.guest = subq_18.guest
-) subq_19
+ subq_15.guest = subq_20.guest
+) subq_21
WHERE guest__booking_value > 1.00
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_with_conversion_metric__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_with_conversion_metric__plan0.sql
index 74e84b9dea..7898400b4f 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_with_conversion_metric__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_with_conversion_metric__plan0.sql
@@ -4,227 +4,227 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_22.listings
+ subq_33.listings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_21.listings) AS listings
+ SUM(subq_32.listings) AS listings
FROM (
-- Pass Only Elements: ['listings',]
SELECT
- subq_20.listings
+ subq_31.listings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_19.ds__day
- , subq_19.ds__week
- , subq_19.ds__month
- , subq_19.ds__quarter
- , subq_19.ds__year
- , subq_19.ds__extract_year
- , subq_19.ds__extract_quarter
- , subq_19.ds__extract_month
- , subq_19.ds__extract_day
- , subq_19.ds__extract_dow
- , subq_19.ds__extract_doy
- , subq_19.created_at__day
- , subq_19.created_at__week
- , subq_19.created_at__month
- , subq_19.created_at__quarter
- , subq_19.created_at__year
- , subq_19.created_at__extract_year
- , subq_19.created_at__extract_quarter
- , subq_19.created_at__extract_month
- , subq_19.created_at__extract_day
- , subq_19.created_at__extract_dow
- , subq_19.created_at__extract_doy
- , subq_19.listing__ds__day
- , subq_19.listing__ds__week
- , subq_19.listing__ds__month
- , subq_19.listing__ds__quarter
- , subq_19.listing__ds__year
- , subq_19.listing__ds__extract_year
- , subq_19.listing__ds__extract_quarter
- , subq_19.listing__ds__extract_month
- , subq_19.listing__ds__extract_day
- , subq_19.listing__ds__extract_dow
- , subq_19.listing__ds__extract_doy
- , subq_19.listing__created_at__day
- , subq_19.listing__created_at__week
- , subq_19.listing__created_at__month
- , subq_19.listing__created_at__quarter
- , subq_19.listing__created_at__year
- , subq_19.listing__created_at__extract_year
- , subq_19.listing__created_at__extract_quarter
- , subq_19.listing__created_at__extract_month
- , subq_19.listing__created_at__extract_day
- , subq_19.listing__created_at__extract_dow
- , subq_19.listing__created_at__extract_doy
- , subq_19.metric_time__day
- , subq_19.metric_time__week
- , subq_19.metric_time__month
- , subq_19.metric_time__quarter
- , subq_19.metric_time__year
- , subq_19.metric_time__extract_year
- , subq_19.metric_time__extract_quarter
- , subq_19.metric_time__extract_month
- , subq_19.metric_time__extract_day
- , subq_19.metric_time__extract_dow
- , subq_19.metric_time__extract_doy
- , subq_19.listing
- , subq_19.user
- , subq_19.listing__user
- , subq_19.country_latest
- , subq_19.is_lux_latest
- , subq_19.capacity_latest
- , subq_19.listing__country_latest
- , subq_19.listing__is_lux_latest
- , subq_19.listing__capacity_latest
- , subq_19.user__visit_buy_conversion_rate
- , subq_19.listings
- , subq_19.largest_listing
- , subq_19.smallest_listing
+ subq_30.ds__day
+ , subq_30.ds__week
+ , subq_30.ds__month
+ , subq_30.ds__quarter
+ , subq_30.ds__year
+ , subq_30.ds__extract_year
+ , subq_30.ds__extract_quarter
+ , subq_30.ds__extract_month
+ , subq_30.ds__extract_day
+ , subq_30.ds__extract_dow
+ , subq_30.ds__extract_doy
+ , subq_30.created_at__day
+ , subq_30.created_at__week
+ , subq_30.created_at__month
+ , subq_30.created_at__quarter
+ , subq_30.created_at__year
+ , subq_30.created_at__extract_year
+ , subq_30.created_at__extract_quarter
+ , subq_30.created_at__extract_month
+ , subq_30.created_at__extract_day
+ , subq_30.created_at__extract_dow
+ , subq_30.created_at__extract_doy
+ , subq_30.listing__ds__day
+ , subq_30.listing__ds__week
+ , subq_30.listing__ds__month
+ , subq_30.listing__ds__quarter
+ , subq_30.listing__ds__year
+ , subq_30.listing__ds__extract_year
+ , subq_30.listing__ds__extract_quarter
+ , subq_30.listing__ds__extract_month
+ , subq_30.listing__ds__extract_day
+ , subq_30.listing__ds__extract_dow
+ , subq_30.listing__ds__extract_doy
+ , subq_30.listing__created_at__day
+ , subq_30.listing__created_at__week
+ , subq_30.listing__created_at__month
+ , subq_30.listing__created_at__quarter
+ , subq_30.listing__created_at__year
+ , subq_30.listing__created_at__extract_year
+ , subq_30.listing__created_at__extract_quarter
+ , subq_30.listing__created_at__extract_month
+ , subq_30.listing__created_at__extract_day
+ , subq_30.listing__created_at__extract_dow
+ , subq_30.listing__created_at__extract_doy
+ , subq_30.metric_time__day
+ , subq_30.metric_time__week
+ , subq_30.metric_time__month
+ , subq_30.metric_time__quarter
+ , subq_30.metric_time__year
+ , subq_30.metric_time__extract_year
+ , subq_30.metric_time__extract_quarter
+ , subq_30.metric_time__extract_month
+ , subq_30.metric_time__extract_day
+ , subq_30.metric_time__extract_dow
+ , subq_30.metric_time__extract_doy
+ , subq_30.listing
+ , subq_30.user
+ , subq_30.listing__user
+ , subq_30.country_latest
+ , subq_30.is_lux_latest
+ , subq_30.capacity_latest
+ , subq_30.listing__country_latest
+ , subq_30.listing__is_lux_latest
+ , subq_30.listing__capacity_latest
+ , subq_30.user__visit_buy_conversion_rate
+ , subq_30.listings
+ , subq_30.largest_listing
+ , subq_30.smallest_listing
FROM (
-- Join Standard Outputs
SELECT
- subq_18.user__visit_buy_conversion_rate AS user__visit_buy_conversion_rate
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.created_at__day AS created_at__day
- , subq_1.created_at__week AS created_at__week
- , subq_1.created_at__month AS created_at__month
- , subq_1.created_at__quarter AS created_at__quarter
- , subq_1.created_at__year AS created_at__year
- , subq_1.created_at__extract_year AS created_at__extract_year
- , subq_1.created_at__extract_quarter AS created_at__extract_quarter
- , subq_1.created_at__extract_month AS created_at__extract_month
- , subq_1.created_at__extract_day AS created_at__extract_day
- , subq_1.created_at__extract_dow AS created_at__extract_dow
- , subq_1.created_at__extract_doy AS created_at__extract_doy
- , subq_1.listing__ds__day AS listing__ds__day
- , subq_1.listing__ds__week AS listing__ds__week
- , subq_1.listing__ds__month AS listing__ds__month
- , subq_1.listing__ds__quarter AS listing__ds__quarter
- , subq_1.listing__ds__year AS listing__ds__year
- , subq_1.listing__ds__extract_year AS listing__ds__extract_year
- , subq_1.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_1.listing__ds__extract_month AS listing__ds__extract_month
- , subq_1.listing__ds__extract_day AS listing__ds__extract_day
- , subq_1.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_1.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_1.listing__created_at__day AS listing__created_at__day
- , subq_1.listing__created_at__week AS listing__created_at__week
- , subq_1.listing__created_at__month AS listing__created_at__month
- , subq_1.listing__created_at__quarter AS listing__created_at__quarter
- , subq_1.listing__created_at__year AS listing__created_at__year
- , subq_1.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_1.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_1.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_1.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_1.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_1.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.user AS user
- , subq_1.listing__user AS listing__user
- , subq_1.country_latest AS country_latest
- , subq_1.is_lux_latest AS is_lux_latest
- , subq_1.capacity_latest AS capacity_latest
- , subq_1.listing__country_latest AS listing__country_latest
- , subq_1.listing__is_lux_latest AS listing__is_lux_latest
- , subq_1.listing__capacity_latest AS listing__capacity_latest
- , subq_1.listings AS listings
- , subq_1.largest_listing AS largest_listing
- , subq_1.smallest_listing AS smallest_listing
+ subq_29.user__visit_buy_conversion_rate AS user__visit_buy_conversion_rate
+ , subq_13.ds__day AS ds__day
+ , subq_13.ds__week AS ds__week
+ , subq_13.ds__month AS ds__month
+ , subq_13.ds__quarter AS ds__quarter
+ , subq_13.ds__year AS ds__year
+ , subq_13.ds__extract_year AS ds__extract_year
+ , subq_13.ds__extract_quarter AS ds__extract_quarter
+ , subq_13.ds__extract_month AS ds__extract_month
+ , subq_13.ds__extract_day AS ds__extract_day
+ , subq_13.ds__extract_dow AS ds__extract_dow
+ , subq_13.ds__extract_doy AS ds__extract_doy
+ , subq_13.created_at__day AS created_at__day
+ , subq_13.created_at__week AS created_at__week
+ , subq_13.created_at__month AS created_at__month
+ , subq_13.created_at__quarter AS created_at__quarter
+ , subq_13.created_at__year AS created_at__year
+ , subq_13.created_at__extract_year AS created_at__extract_year
+ , subq_13.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_13.created_at__extract_month AS created_at__extract_month
+ , subq_13.created_at__extract_day AS created_at__extract_day
+ , subq_13.created_at__extract_dow AS created_at__extract_dow
+ , subq_13.created_at__extract_doy AS created_at__extract_doy
+ , subq_13.listing__ds__day AS listing__ds__day
+ , subq_13.listing__ds__week AS listing__ds__week
+ , subq_13.listing__ds__month AS listing__ds__month
+ , subq_13.listing__ds__quarter AS listing__ds__quarter
+ , subq_13.listing__ds__year AS listing__ds__year
+ , subq_13.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_13.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_13.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_13.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_13.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_13.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_13.listing__created_at__day AS listing__created_at__day
+ , subq_13.listing__created_at__week AS listing__created_at__week
+ , subq_13.listing__created_at__month AS listing__created_at__month
+ , subq_13.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_13.listing__created_at__year AS listing__created_at__year
+ , subq_13.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_13.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_13.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_13.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_13.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_13.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_13.metric_time__day AS metric_time__day
+ , subq_13.metric_time__week AS metric_time__week
+ , subq_13.metric_time__month AS metric_time__month
+ , subq_13.metric_time__quarter AS metric_time__quarter
+ , subq_13.metric_time__year AS metric_time__year
+ , subq_13.metric_time__extract_year AS metric_time__extract_year
+ , subq_13.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_13.metric_time__extract_month AS metric_time__extract_month
+ , subq_13.metric_time__extract_day AS metric_time__extract_day
+ , subq_13.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_13.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_13.listing AS listing
+ , subq_13.user AS user
+ , subq_13.listing__user AS listing__user
+ , subq_13.country_latest AS country_latest
+ , subq_13.is_lux_latest AS is_lux_latest
+ , subq_13.capacity_latest AS capacity_latest
+ , subq_13.listing__country_latest AS listing__country_latest
+ , subq_13.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_13.listing__capacity_latest AS listing__capacity_latest
+ , subq_13.listings AS listings
+ , subq_13.largest_listing AS largest_listing
+ , subq_13.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.listing__ds__day
- , subq_0.listing__ds__week
- , subq_0.listing__ds__month
- , subq_0.listing__ds__quarter
- , subq_0.listing__ds__year
- , subq_0.listing__ds__extract_year
- , subq_0.listing__ds__extract_quarter
- , subq_0.listing__ds__extract_month
- , subq_0.listing__ds__extract_day
- , subq_0.listing__ds__extract_dow
- , subq_0.listing__ds__extract_doy
- , subq_0.listing__created_at__day
- , subq_0.listing__created_at__week
- , subq_0.listing__created_at__month
- , subq_0.listing__created_at__quarter
- , subq_0.listing__created_at__year
- , subq_0.listing__created_at__extract_year
- , subq_0.listing__created_at__extract_quarter
- , subq_0.listing__created_at__extract_month
- , subq_0.listing__created_at__extract_day
- , subq_0.listing__created_at__extract_dow
- , subq_0.listing__created_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.user
- , subq_0.listing__user
- , subq_0.country_latest
- , subq_0.is_lux_latest
- , subq_0.capacity_latest
- , subq_0.listing__country_latest
- , subq_0.listing__is_lux_latest
- , subq_0.listing__capacity_latest
- , subq_0.listings
- , subq_0.largest_listing
- , subq_0.smallest_listing
+ subq_12.ds__day
+ , subq_12.ds__week
+ , subq_12.ds__month
+ , subq_12.ds__quarter
+ , subq_12.ds__year
+ , subq_12.ds__extract_year
+ , subq_12.ds__extract_quarter
+ , subq_12.ds__extract_month
+ , subq_12.ds__extract_day
+ , subq_12.ds__extract_dow
+ , subq_12.ds__extract_doy
+ , subq_12.created_at__day
+ , subq_12.created_at__week
+ , subq_12.created_at__month
+ , subq_12.created_at__quarter
+ , subq_12.created_at__year
+ , subq_12.created_at__extract_year
+ , subq_12.created_at__extract_quarter
+ , subq_12.created_at__extract_month
+ , subq_12.created_at__extract_day
+ , subq_12.created_at__extract_dow
+ , subq_12.created_at__extract_doy
+ , subq_12.listing__ds__day
+ , subq_12.listing__ds__week
+ , subq_12.listing__ds__month
+ , subq_12.listing__ds__quarter
+ , subq_12.listing__ds__year
+ , subq_12.listing__ds__extract_year
+ , subq_12.listing__ds__extract_quarter
+ , subq_12.listing__ds__extract_month
+ , subq_12.listing__ds__extract_day
+ , subq_12.listing__ds__extract_dow
+ , subq_12.listing__ds__extract_doy
+ , subq_12.listing__created_at__day
+ , subq_12.listing__created_at__week
+ , subq_12.listing__created_at__month
+ , subq_12.listing__created_at__quarter
+ , subq_12.listing__created_at__year
+ , subq_12.listing__created_at__extract_year
+ , subq_12.listing__created_at__extract_quarter
+ , subq_12.listing__created_at__extract_month
+ , subq_12.listing__created_at__extract_day
+ , subq_12.listing__created_at__extract_dow
+ , subq_12.listing__created_at__extract_doy
+ , subq_12.ds__day AS metric_time__day
+ , subq_12.ds__week AS metric_time__week
+ , subq_12.ds__month AS metric_time__month
+ , subq_12.ds__quarter AS metric_time__quarter
+ , subq_12.ds__year AS metric_time__year
+ , subq_12.ds__extract_year AS metric_time__extract_year
+ , subq_12.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_12.ds__extract_month AS metric_time__extract_month
+ , subq_12.ds__extract_day AS metric_time__extract_day
+ , subq_12.ds__extract_dow AS metric_time__extract_dow
+ , subq_12.ds__extract_doy AS metric_time__extract_doy
+ , subq_12.listing
+ , subq_12.user
+ , subq_12.listing__user
+ , subq_12.country_latest
+ , subq_12.is_lux_latest
+ , subq_12.capacity_latest
+ , subq_12.listing__country_latest
+ , subq_12.listing__is_lux_latest
+ , subq_12.listing__capacity_latest
+ , subq_12.listings
+ , subq_12.largest_listing
+ , subq_12.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -285,78 +285,78 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_0
- ) subq_1
+ ) subq_12
+ ) subq_13
LEFT OUTER JOIN (
-- Pass Only Elements: ['user', 'user__visit_buy_conversion_rate']
SELECT
- subq_17.user
- , subq_17.user__visit_buy_conversion_rate
+ subq_28.user
+ , subq_28.user__visit_buy_conversion_rate
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_16.user
- , CAST(subq_16.buys AS DOUBLE) / CAST(NULLIF(subq_16.visits, 0) AS DOUBLE) AS user__visit_buy_conversion_rate
+ subq_27.user
+ , CAST(subq_27.buys AS DOUBLE) / CAST(NULLIF(subq_27.visits, 0) AS DOUBLE) AS user__visit_buy_conversion_rate
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.user, subq_15.user) AS user
- , MAX(subq_5.visits) AS visits
- , MAX(subq_15.buys) AS buys
+ COALESCE(subq_17.user, subq_26.user) AS user
+ , MAX(subq_17.visits) AS visits
+ , MAX(subq_26.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
- subq_4.user
- , SUM(subq_4.visits) AS visits
+ subq_16.user
+ , SUM(subq_16.visits) AS visits
FROM (
-- Pass Only Elements: ['visits', 'user']
SELECT
- subq_3.user
- , subq_3.visits
+ subq_15.user
+ , subq_15.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.visit__ds__day
- , subq_2.visit__ds__week
- , subq_2.visit__ds__month
- , subq_2.visit__ds__quarter
- , subq_2.visit__ds__year
- , subq_2.visit__ds__extract_year
- , subq_2.visit__ds__extract_quarter
- , subq_2.visit__ds__extract_month
- , subq_2.visit__ds__extract_day
- , subq_2.visit__ds__extract_dow
- , subq_2.visit__ds__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.user
- , subq_2.session
- , subq_2.visit__user
- , subq_2.visit__session
- , subq_2.referrer_id
- , subq_2.visit__referrer_id
- , subq_2.visits
- , subq_2.visitors
+ subq_14.ds__day
+ , subq_14.ds__week
+ , subq_14.ds__month
+ , subq_14.ds__quarter
+ , subq_14.ds__year
+ , subq_14.ds__extract_year
+ , subq_14.ds__extract_quarter
+ , subq_14.ds__extract_month
+ , subq_14.ds__extract_day
+ , subq_14.ds__extract_dow
+ , subq_14.ds__extract_doy
+ , subq_14.visit__ds__day
+ , subq_14.visit__ds__week
+ , subq_14.visit__ds__month
+ , subq_14.visit__ds__quarter
+ , subq_14.visit__ds__year
+ , subq_14.visit__ds__extract_year
+ , subq_14.visit__ds__extract_quarter
+ , subq_14.visit__ds__extract_month
+ , subq_14.visit__ds__extract_day
+ , subq_14.visit__ds__extract_dow
+ , subq_14.visit__ds__extract_doy
+ , subq_14.ds__day AS metric_time__day
+ , subq_14.ds__week AS metric_time__week
+ , subq_14.ds__month AS metric_time__month
+ , subq_14.ds__quarter AS metric_time__quarter
+ , subq_14.ds__year AS metric_time__year
+ , subq_14.ds__extract_year AS metric_time__extract_year
+ , subq_14.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_14.ds__extract_month AS metric_time__extract_month
+ , subq_14.ds__extract_day AS metric_time__extract_day
+ , subq_14.ds__extract_dow AS metric_time__extract_dow
+ , subq_14.ds__extract_doy AS metric_time__extract_doy
+ , subq_14.user
+ , subq_14.session
+ , subq_14.visit__user
+ , subq_14.visit__session
+ , subq_14.referrer_id
+ , subq_14.visit__referrer_id
+ , subq_14.visits
+ , subq_14.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -391,108 +391,108 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_14
+ ) subq_15
+ ) subq_16
GROUP BY
- subq_4.user
- ) subq_5
+ subq_16.user
+ ) subq_17
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_14.user
- , SUM(subq_14.buys) AS buys
+ subq_25.user
+ , SUM(subq_25.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'user']
SELECT
- subq_13.user
- , subq_13.buys
+ subq_24.user
+ , subq_24.buys
FROM (
-- Find conversions for user within the range of INF
SELECT
- subq_12.metric_time__day
- , subq_12.user
- , subq_12.buys
- , subq_12.visits
+ subq_23.metric_time__day
+ , subq_23.user
+ , subq_23.buys
+ , subq_23.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_8.visits) OVER (
+ FIRST_VALUE(subq_19.visits) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
+ ORDER BY subq_19.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_8.metric_time__day) OVER (
+ , FIRST_VALUE(subq_19.metric_time__day) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
+ ORDER BY subq_19.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_8.user) OVER (
+ , FIRST_VALUE(subq_19.user) OVER (
PARTITION BY
- subq_11.user
- , subq_11.metric_time__day
- , subq_11.mf_internal_uuid
- ORDER BY subq_8.metric_time__day DESC
+ subq_22.user
+ , subq_22.metric_time__day
+ , subq_22.mf_internal_uuid
+ ORDER BY subq_19.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_11.mf_internal_uuid AS mf_internal_uuid
- , subq_11.buys AS buys
+ , subq_22.mf_internal_uuid AS mf_internal_uuid
+ , subq_22.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'metric_time__day', 'user']
SELECT
- subq_7.metric_time__day
- , subq_7.user
- , subq_7.visits
+ subq_18.metric_time__day
+ , subq_18.user
+ , subq_18.visits
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.visit__ds__day
- , subq_6.visit__ds__week
- , subq_6.visit__ds__month
- , subq_6.visit__ds__quarter
- , subq_6.visit__ds__year
- , subq_6.visit__ds__extract_year
- , subq_6.visit__ds__extract_quarter
- , subq_6.visit__ds__extract_month
- , subq_6.visit__ds__extract_day
- , subq_6.visit__ds__extract_dow
- , subq_6.visit__ds__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.user
- , subq_6.session
- , subq_6.visit__user
- , subq_6.visit__session
- , subq_6.referrer_id
- , subq_6.visit__referrer_id
- , subq_6.visits
- , subq_6.visitors
+ subq_14.ds__day
+ , subq_14.ds__week
+ , subq_14.ds__month
+ , subq_14.ds__quarter
+ , subq_14.ds__year
+ , subq_14.ds__extract_year
+ , subq_14.ds__extract_quarter
+ , subq_14.ds__extract_month
+ , subq_14.ds__extract_day
+ , subq_14.ds__extract_dow
+ , subq_14.ds__extract_doy
+ , subq_14.visit__ds__day
+ , subq_14.visit__ds__week
+ , subq_14.visit__ds__month
+ , subq_14.visit__ds__quarter
+ , subq_14.visit__ds__year
+ , subq_14.visit__ds__extract_year
+ , subq_14.visit__ds__extract_quarter
+ , subq_14.visit__ds__extract_month
+ , subq_14.visit__ds__extract_day
+ , subq_14.visit__ds__extract_dow
+ , subq_14.visit__ds__extract_doy
+ , subq_14.ds__day AS metric_time__day
+ , subq_14.ds__week AS metric_time__week
+ , subq_14.ds__month AS metric_time__month
+ , subq_14.ds__quarter AS metric_time__quarter
+ , subq_14.ds__year AS metric_time__year
+ , subq_14.ds__extract_year AS metric_time__extract_year
+ , subq_14.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_14.ds__extract_month AS metric_time__extract_month
+ , subq_14.ds__extract_day AS metric_time__extract_day
+ , subq_14.ds__extract_dow AS metric_time__extract_dow
+ , subq_14.ds__extract_doy AS metric_time__extract_doy
+ , subq_14.user
+ , subq_14.session
+ , subq_14.visit__user
+ , subq_14.visit__session
+ , subq_14.referrer_id
+ , subq_14.visit__referrer_id
+ , subq_14.visits
+ , subq_14.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -527,118 +527,118 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_6
- ) subq_7
- ) subq_8
+ ) subq_14
+ ) subq_18
+ ) subq_19
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_month__month
- , subq_10.ds_month__quarter
- , subq_10.ds_month__year
- , subq_10.ds_month__extract_year
- , subq_10.ds_month__extract_quarter
- , subq_10.ds_month__extract_month
- , subq_10.buy__ds__day
- , subq_10.buy__ds__week
- , subq_10.buy__ds__month
- , subq_10.buy__ds__quarter
- , subq_10.buy__ds__year
- , subq_10.buy__ds__extract_year
- , subq_10.buy__ds__extract_quarter
- , subq_10.buy__ds__extract_month
- , subq_10.buy__ds__extract_day
- , subq_10.buy__ds__extract_dow
- , subq_10.buy__ds__extract_doy
- , subq_10.buy__ds_month__month
- , subq_10.buy__ds_month__quarter
- , subq_10.buy__ds_month__year
- , subq_10.buy__ds_month__extract_year
- , subq_10.buy__ds_month__extract_quarter
- , subq_10.buy__ds_month__extract_month
- , subq_10.metric_time__day
- , subq_10.metric_time__week
- , subq_10.metric_time__month
- , subq_10.metric_time__quarter
- , subq_10.metric_time__year
- , subq_10.metric_time__extract_year
- , subq_10.metric_time__extract_quarter
- , subq_10.metric_time__extract_month
- , subq_10.metric_time__extract_day
- , subq_10.metric_time__extract_dow
- , subq_10.metric_time__extract_doy
- , subq_10.user
- , subq_10.session_id
- , subq_10.buy__user
- , subq_10.buy__session_id
- , subq_10.buys
- , subq_10.buyers
+ subq_21.ds__day
+ , subq_21.ds__week
+ , subq_21.ds__month
+ , subq_21.ds__quarter
+ , subq_21.ds__year
+ , subq_21.ds__extract_year
+ , subq_21.ds__extract_quarter
+ , subq_21.ds__extract_month
+ , subq_21.ds__extract_day
+ , subq_21.ds__extract_dow
+ , subq_21.ds__extract_doy
+ , subq_21.ds_month__month
+ , subq_21.ds_month__quarter
+ , subq_21.ds_month__year
+ , subq_21.ds_month__extract_year
+ , subq_21.ds_month__extract_quarter
+ , subq_21.ds_month__extract_month
+ , subq_21.buy__ds__day
+ , subq_21.buy__ds__week
+ , subq_21.buy__ds__month
+ , subq_21.buy__ds__quarter
+ , subq_21.buy__ds__year
+ , subq_21.buy__ds__extract_year
+ , subq_21.buy__ds__extract_quarter
+ , subq_21.buy__ds__extract_month
+ , subq_21.buy__ds__extract_day
+ , subq_21.buy__ds__extract_dow
+ , subq_21.buy__ds__extract_doy
+ , subq_21.buy__ds_month__month
+ , subq_21.buy__ds_month__quarter
+ , subq_21.buy__ds_month__year
+ , subq_21.buy__ds_month__extract_year
+ , subq_21.buy__ds_month__extract_quarter
+ , subq_21.buy__ds_month__extract_month
+ , subq_21.metric_time__day
+ , subq_21.metric_time__week
+ , subq_21.metric_time__month
+ , subq_21.metric_time__quarter
+ , subq_21.metric_time__year
+ , subq_21.metric_time__extract_year
+ , subq_21.metric_time__extract_quarter
+ , subq_21.metric_time__extract_month
+ , subq_21.metric_time__extract_day
+ , subq_21.metric_time__extract_dow
+ , subq_21.metric_time__extract_doy
+ , subq_21.user
+ , subq_21.session_id
+ , subq_21.buy__user
+ , subq_21.buy__session_id
+ , subq_21.buys
+ , subq_21.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_month__month
- , subq_9.ds_month__quarter
- , subq_9.ds_month__year
- , subq_9.ds_month__extract_year
- , subq_9.ds_month__extract_quarter
- , subq_9.ds_month__extract_month
- , subq_9.buy__ds__day
- , subq_9.buy__ds__week
- , subq_9.buy__ds__month
- , subq_9.buy__ds__quarter
- , subq_9.buy__ds__year
- , subq_9.buy__ds__extract_year
- , subq_9.buy__ds__extract_quarter
- , subq_9.buy__ds__extract_month
- , subq_9.buy__ds__extract_day
- , subq_9.buy__ds__extract_dow
- , subq_9.buy__ds__extract_doy
- , subq_9.buy__ds_month__month
- , subq_9.buy__ds_month__quarter
- , subq_9.buy__ds_month__year
- , subq_9.buy__ds_month__extract_year
- , subq_9.buy__ds_month__extract_quarter
- , subq_9.buy__ds_month__extract_month
- , subq_9.ds__day AS metric_time__day
- , subq_9.ds__week AS metric_time__week
- , subq_9.ds__month AS metric_time__month
- , subq_9.ds__quarter AS metric_time__quarter
- , subq_9.ds__year AS metric_time__year
- , subq_9.ds__extract_year AS metric_time__extract_year
- , subq_9.ds__extract_quarter AS metric_time__extract_quarter
- , subq_9.ds__extract_month AS metric_time__extract_month
- , subq_9.ds__extract_day AS metric_time__extract_day
- , subq_9.ds__extract_dow AS metric_time__extract_dow
- , subq_9.ds__extract_doy AS metric_time__extract_doy
- , subq_9.user
- , subq_9.session_id
- , subq_9.buy__user
- , subq_9.buy__session_id
- , subq_9.buys
- , subq_9.buyers
+ subq_20.ds__day
+ , subq_20.ds__week
+ , subq_20.ds__month
+ , subq_20.ds__quarter
+ , subq_20.ds__year
+ , subq_20.ds__extract_year
+ , subq_20.ds__extract_quarter
+ , subq_20.ds__extract_month
+ , subq_20.ds__extract_day
+ , subq_20.ds__extract_dow
+ , subq_20.ds__extract_doy
+ , subq_20.ds_month__month
+ , subq_20.ds_month__quarter
+ , subq_20.ds_month__year
+ , subq_20.ds_month__extract_year
+ , subq_20.ds_month__extract_quarter
+ , subq_20.ds_month__extract_month
+ , subq_20.buy__ds__day
+ , subq_20.buy__ds__week
+ , subq_20.buy__ds__month
+ , subq_20.buy__ds__quarter
+ , subq_20.buy__ds__year
+ , subq_20.buy__ds__extract_year
+ , subq_20.buy__ds__extract_quarter
+ , subq_20.buy__ds__extract_month
+ , subq_20.buy__ds__extract_day
+ , subq_20.buy__ds__extract_dow
+ , subq_20.buy__ds__extract_doy
+ , subq_20.buy__ds_month__month
+ , subq_20.buy__ds_month__quarter
+ , subq_20.buy__ds_month__year
+ , subq_20.buy__ds_month__extract_year
+ , subq_20.buy__ds_month__extract_quarter
+ , subq_20.buy__ds_month__extract_month
+ , subq_20.ds__day AS metric_time__day
+ , subq_20.ds__week AS metric_time__week
+ , subq_20.ds__month AS metric_time__month
+ , subq_20.ds__quarter AS metric_time__quarter
+ , subq_20.ds__year AS metric_time__year
+ , subq_20.ds__extract_year AS metric_time__extract_year
+ , subq_20.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_20.ds__extract_month AS metric_time__extract_month
+ , subq_20.ds__extract_day AS metric_time__extract_day
+ , subq_20.ds__extract_dow AS metric_time__extract_dow
+ , subq_20.ds__extract_doy AS metric_time__extract_doy
+ , subq_20.user
+ , subq_20.session_id
+ , subq_20.buy__user
+ , subq_20.buy__session_id
+ , subq_20.buys
+ , subq_20.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -684,32 +684,32 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_9
- ) subq_10
- ) subq_11
+ ) subq_20
+ ) subq_21
+ ) subq_22
ON
(
- subq_8.user = subq_11.user
+ subq_19.user = subq_22.user
) AND (
- (subq_8.metric_time__day <= subq_11.metric_time__day)
+ (subq_19.metric_time__day <= subq_22.metric_time__day)
)
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_23
+ ) subq_24
+ ) subq_25
GROUP BY
- subq_14.user
- ) subq_15
+ subq_25.user
+ ) subq_26
ON
- subq_5.user = subq_15.user
+ subq_17.user = subq_26.user
GROUP BY
- COALESCE(subq_5.user, subq_15.user)
- ) subq_16
- ) subq_17
- ) subq_18
+ COALESCE(subq_17.user, subq_26.user)
+ ) subq_27
+ ) subq_28
+ ) subq_29
ON
- subq_1.user = subq_18.user
- ) subq_19
+ subq_13.user = subq_29.user
+ ) subq_30
WHERE user__visit_buy_conversion_rate > 2
- ) subq_20
- ) subq_21
-) subq_22
+ ) subq_31
+ ) subq_32
+) subq_33
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_with_conversion_metric__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_with_conversion_metric__plan0_optimized.sql
index c651d79d77..ff00892455 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_with_conversion_metric__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_filter_with_conversion_metric__plan0_optimized.sql
@@ -21,8 +21,8 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- CAST(subq_38.buys AS DOUBLE) / CAST(NULLIF(subq_38.visits, 0) AS DOUBLE) AS user__visit_buy_conversion_rate
- , subq_24.listings AS listings
+ CAST(subq_49.buys AS DOUBLE) / CAST(NULLIF(subq_49.visits, 0) AS DOUBLE) AS user__visit_buy_conversion_rate
+ , subq_35.listings AS listings
FROM (
-- Read Elements From Semantic Model 'listings_latest'
-- Metric Time Dimension 'ds'
@@ -30,13 +30,13 @@ FROM (
user_id AS user
, 1 AS listings
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_24
+ ) subq_35
LEFT OUTER JOIN (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_28.user, subq_37.user) AS user
- , MAX(subq_28.visits) AS visits
- , MAX(subq_37.buys) AS buys
+ COALESCE(subq_39.user, subq_48.user) AS user
+ , MAX(subq_39.visits) AS visits
+ , MAX(subq_48.buys) AS buys
FROM (
-- Read From CTE For node_id=sma_28019
-- Pass Only Elements: ['visits', 'user']
@@ -47,43 +47,43 @@ FROM (
FROM sma_28019_cte sma_28019_cte
GROUP BY
sma_28019_cte.user
- ) subq_28
+ ) subq_39
FULL OUTER JOIN (
-- Find conversions for user within the range of INF
-- Pass Only Elements: ['buys', 'user']
-- Aggregate Measures
SELECT
- subq_34.user
+ subq_45.user
, SUM(buys) AS buys
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
FIRST_VALUE(sma_28019_cte.visits) OVER (
PARTITION BY
- subq_33.user
- , subq_33.metric_time__day
- , subq_33.mf_internal_uuid
+ subq_44.user
+ , subq_44.metric_time__day
+ , subq_44.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
, FIRST_VALUE(sma_28019_cte.metric_time__day) OVER (
PARTITION BY
- subq_33.user
- , subq_33.metric_time__day
- , subq_33.mf_internal_uuid
+ subq_44.user
+ , subq_44.metric_time__day
+ , subq_44.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
, FIRST_VALUE(sma_28019_cte.user) OVER (
PARTITION BY
- subq_33.user
- , subq_33.metric_time__day
- , subq_33.mf_internal_uuid
+ subq_44.user
+ , subq_44.metric_time__day
+ , subq_44.mf_internal_uuid
ORDER BY sma_28019_cte.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_33.mf_internal_uuid AS mf_internal_uuid
- , subq_33.buys AS buys
+ , subq_44.mf_internal_uuid AS mf_internal_uuid
+ , subq_44.buys AS buys
FROM sma_28019_cte sma_28019_cte
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
@@ -95,23 +95,23 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_33
+ ) subq_44
ON
(
- sma_28019_cte.user = subq_33.user
+ sma_28019_cte.user = subq_44.user
) AND (
- (sma_28019_cte.metric_time__day <= subq_33.metric_time__day)
+ (sma_28019_cte.metric_time__day <= subq_44.metric_time__day)
)
- ) subq_34
+ ) subq_45
GROUP BY
- subq_34.user
- ) subq_37
+ subq_45.user
+ ) subq_48
ON
- subq_28.user = subq_37.user
+ subq_39.user = subq_48.user
GROUP BY
- COALESCE(subq_28.user, subq_37.user)
- ) subq_38
+ COALESCE(subq_39.user, subq_48.user)
+ ) subq_49
ON
- subq_24.user = subq_38.user
-) subq_41
+ subq_35.user = subq_49.user
+) subq_52
WHERE user__visit_buy_conversion_rate > 2
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_group_by_has_local_entity_prefix__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_group_by_has_local_entity_prefix__plan0.sql
index 1b529325d3..385fda7f44 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_group_by_has_local_entity_prefix__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_group_by_has_local_entity_prefix__plan0.sql
@@ -4,229 +4,229 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_15.listings
+ subq_20.listings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_14.listings) AS listings
+ SUM(subq_19.listings) AS listings
FROM (
-- Pass Only Elements: ['listings',]
SELECT
- subq_13.listings
+ subq_18.listings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.created_at__day
- , subq_12.created_at__week
- , subq_12.created_at__month
- , subq_12.created_at__quarter
- , subq_12.created_at__year
- , subq_12.created_at__extract_year
- , subq_12.created_at__extract_quarter
- , subq_12.created_at__extract_month
- , subq_12.created_at__extract_day
- , subq_12.created_at__extract_dow
- , subq_12.created_at__extract_doy
- , subq_12.listing__ds__day
- , subq_12.listing__ds__week
- , subq_12.listing__ds__month
- , subq_12.listing__ds__quarter
- , subq_12.listing__ds__year
- , subq_12.listing__ds__extract_year
- , subq_12.listing__ds__extract_quarter
- , subq_12.listing__ds__extract_month
- , subq_12.listing__ds__extract_day
- , subq_12.listing__ds__extract_dow
- , subq_12.listing__ds__extract_doy
- , subq_12.listing__created_at__day
- , subq_12.listing__created_at__week
- , subq_12.listing__created_at__month
- , subq_12.listing__created_at__quarter
- , subq_12.listing__created_at__year
- , subq_12.listing__created_at__extract_year
- , subq_12.listing__created_at__extract_quarter
- , subq_12.listing__created_at__extract_month
- , subq_12.listing__created_at__extract_day
- , subq_12.listing__created_at__extract_dow
- , subq_12.listing__created_at__extract_doy
- , subq_12.metric_time__day
- , subq_12.metric_time__week
- , subq_12.metric_time__month
- , subq_12.metric_time__quarter
- , subq_12.metric_time__year
- , subq_12.metric_time__extract_year
- , subq_12.metric_time__extract_quarter
- , subq_12.metric_time__extract_month
- , subq_12.metric_time__extract_day
- , subq_12.metric_time__extract_dow
- , subq_12.metric_time__extract_doy
- , subq_12.listing
- , subq_12.user
- , subq_12.listing__user
- , subq_12.user__listing__user
- , subq_12.country_latest
- , subq_12.is_lux_latest
- , subq_12.capacity_latest
- , subq_12.listing__country_latest
- , subq_12.listing__is_lux_latest
- , subq_12.listing__capacity_latest
- , subq_12.user__listing__user__average_booking_value
- , subq_12.listings
- , subq_12.largest_listing
- , subq_12.smallest_listing
+ subq_17.ds__day
+ , subq_17.ds__week
+ , subq_17.ds__month
+ , subq_17.ds__quarter
+ , subq_17.ds__year
+ , subq_17.ds__extract_year
+ , subq_17.ds__extract_quarter
+ , subq_17.ds__extract_month
+ , subq_17.ds__extract_day
+ , subq_17.ds__extract_dow
+ , subq_17.ds__extract_doy
+ , subq_17.created_at__day
+ , subq_17.created_at__week
+ , subq_17.created_at__month
+ , subq_17.created_at__quarter
+ , subq_17.created_at__year
+ , subq_17.created_at__extract_year
+ , subq_17.created_at__extract_quarter
+ , subq_17.created_at__extract_month
+ , subq_17.created_at__extract_day
+ , subq_17.created_at__extract_dow
+ , subq_17.created_at__extract_doy
+ , subq_17.listing__ds__day
+ , subq_17.listing__ds__week
+ , subq_17.listing__ds__month
+ , subq_17.listing__ds__quarter
+ , subq_17.listing__ds__year
+ , subq_17.listing__ds__extract_year
+ , subq_17.listing__ds__extract_quarter
+ , subq_17.listing__ds__extract_month
+ , subq_17.listing__ds__extract_day
+ , subq_17.listing__ds__extract_dow
+ , subq_17.listing__ds__extract_doy
+ , subq_17.listing__created_at__day
+ , subq_17.listing__created_at__week
+ , subq_17.listing__created_at__month
+ , subq_17.listing__created_at__quarter
+ , subq_17.listing__created_at__year
+ , subq_17.listing__created_at__extract_year
+ , subq_17.listing__created_at__extract_quarter
+ , subq_17.listing__created_at__extract_month
+ , subq_17.listing__created_at__extract_day
+ , subq_17.listing__created_at__extract_dow
+ , subq_17.listing__created_at__extract_doy
+ , subq_17.metric_time__day
+ , subq_17.metric_time__week
+ , subq_17.metric_time__month
+ , subq_17.metric_time__quarter
+ , subq_17.metric_time__year
+ , subq_17.metric_time__extract_year
+ , subq_17.metric_time__extract_quarter
+ , subq_17.metric_time__extract_month
+ , subq_17.metric_time__extract_day
+ , subq_17.metric_time__extract_dow
+ , subq_17.metric_time__extract_doy
+ , subq_17.listing
+ , subq_17.user
+ , subq_17.listing__user
+ , subq_17.user__listing__user
+ , subq_17.country_latest
+ , subq_17.is_lux_latest
+ , subq_17.capacity_latest
+ , subq_17.listing__country_latest
+ , subq_17.listing__is_lux_latest
+ , subq_17.listing__capacity_latest
+ , subq_17.user__listing__user__average_booking_value
+ , subq_17.listings
+ , subq_17.largest_listing
+ , subq_17.smallest_listing
FROM (
-- Join Standard Outputs
SELECT
- subq_11.listing__user AS user__listing__user
- , subq_11.listing__user__average_booking_value AS user__listing__user__average_booking_value
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.created_at__day AS created_at__day
- , subq_1.created_at__week AS created_at__week
- , subq_1.created_at__month AS created_at__month
- , subq_1.created_at__quarter AS created_at__quarter
- , subq_1.created_at__year AS created_at__year
- , subq_1.created_at__extract_year AS created_at__extract_year
- , subq_1.created_at__extract_quarter AS created_at__extract_quarter
- , subq_1.created_at__extract_month AS created_at__extract_month
- , subq_1.created_at__extract_day AS created_at__extract_day
- , subq_1.created_at__extract_dow AS created_at__extract_dow
- , subq_1.created_at__extract_doy AS created_at__extract_doy
- , subq_1.listing__ds__day AS listing__ds__day
- , subq_1.listing__ds__week AS listing__ds__week
- , subq_1.listing__ds__month AS listing__ds__month
- , subq_1.listing__ds__quarter AS listing__ds__quarter
- , subq_1.listing__ds__year AS listing__ds__year
- , subq_1.listing__ds__extract_year AS listing__ds__extract_year
- , subq_1.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_1.listing__ds__extract_month AS listing__ds__extract_month
- , subq_1.listing__ds__extract_day AS listing__ds__extract_day
- , subq_1.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_1.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_1.listing__created_at__day AS listing__created_at__day
- , subq_1.listing__created_at__week AS listing__created_at__week
- , subq_1.listing__created_at__month AS listing__created_at__month
- , subq_1.listing__created_at__quarter AS listing__created_at__quarter
- , subq_1.listing__created_at__year AS listing__created_at__year
- , subq_1.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_1.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_1.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_1.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_1.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_1.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.user AS user
- , subq_1.listing__user AS listing__user
- , subq_1.country_latest AS country_latest
- , subq_1.is_lux_latest AS is_lux_latest
- , subq_1.capacity_latest AS capacity_latest
- , subq_1.listing__country_latest AS listing__country_latest
- , subq_1.listing__is_lux_latest AS listing__is_lux_latest
- , subq_1.listing__capacity_latest AS listing__capacity_latest
- , subq_1.listings AS listings
- , subq_1.largest_listing AS largest_listing
- , subq_1.smallest_listing AS smallest_listing
+ subq_16.listing__user AS user__listing__user
+ , subq_16.listing__user__average_booking_value AS user__listing__user__average_booking_value
+ , subq_7.ds__day AS ds__day
+ , subq_7.ds__week AS ds__week
+ , subq_7.ds__month AS ds__month
+ , subq_7.ds__quarter AS ds__quarter
+ , subq_7.ds__year AS ds__year
+ , subq_7.ds__extract_year AS ds__extract_year
+ , subq_7.ds__extract_quarter AS ds__extract_quarter
+ , subq_7.ds__extract_month AS ds__extract_month
+ , subq_7.ds__extract_day AS ds__extract_day
+ , subq_7.ds__extract_dow AS ds__extract_dow
+ , subq_7.ds__extract_doy AS ds__extract_doy
+ , subq_7.created_at__day AS created_at__day
+ , subq_7.created_at__week AS created_at__week
+ , subq_7.created_at__month AS created_at__month
+ , subq_7.created_at__quarter AS created_at__quarter
+ , subq_7.created_at__year AS created_at__year
+ , subq_7.created_at__extract_year AS created_at__extract_year
+ , subq_7.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_7.created_at__extract_month AS created_at__extract_month
+ , subq_7.created_at__extract_day AS created_at__extract_day
+ , subq_7.created_at__extract_dow AS created_at__extract_dow
+ , subq_7.created_at__extract_doy AS created_at__extract_doy
+ , subq_7.listing__ds__day AS listing__ds__day
+ , subq_7.listing__ds__week AS listing__ds__week
+ , subq_7.listing__ds__month AS listing__ds__month
+ , subq_7.listing__ds__quarter AS listing__ds__quarter
+ , subq_7.listing__ds__year AS listing__ds__year
+ , subq_7.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_7.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_7.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_7.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_7.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_7.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_7.listing__created_at__day AS listing__created_at__day
+ , subq_7.listing__created_at__week AS listing__created_at__week
+ , subq_7.listing__created_at__month AS listing__created_at__month
+ , subq_7.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_7.listing__created_at__year AS listing__created_at__year
+ , subq_7.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_7.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_7.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_7.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_7.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_7.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_7.metric_time__day AS metric_time__day
+ , subq_7.metric_time__week AS metric_time__week
+ , subq_7.metric_time__month AS metric_time__month
+ , subq_7.metric_time__quarter AS metric_time__quarter
+ , subq_7.metric_time__year AS metric_time__year
+ , subq_7.metric_time__extract_year AS metric_time__extract_year
+ , subq_7.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_7.metric_time__extract_month AS metric_time__extract_month
+ , subq_7.metric_time__extract_day AS metric_time__extract_day
+ , subq_7.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_7.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_7.listing AS listing
+ , subq_7.user AS user
+ , subq_7.listing__user AS listing__user
+ , subq_7.country_latest AS country_latest
+ , subq_7.is_lux_latest AS is_lux_latest
+ , subq_7.capacity_latest AS capacity_latest
+ , subq_7.listing__country_latest AS listing__country_latest
+ , subq_7.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_7.listing__capacity_latest AS listing__capacity_latest
+ , subq_7.listings AS listings
+ , subq_7.largest_listing AS largest_listing
+ , subq_7.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.listing__ds__day
- , subq_0.listing__ds__week
- , subq_0.listing__ds__month
- , subq_0.listing__ds__quarter
- , subq_0.listing__ds__year
- , subq_0.listing__ds__extract_year
- , subq_0.listing__ds__extract_quarter
- , subq_0.listing__ds__extract_month
- , subq_0.listing__ds__extract_day
- , subq_0.listing__ds__extract_dow
- , subq_0.listing__ds__extract_doy
- , subq_0.listing__created_at__day
- , subq_0.listing__created_at__week
- , subq_0.listing__created_at__month
- , subq_0.listing__created_at__quarter
- , subq_0.listing__created_at__year
- , subq_0.listing__created_at__extract_year
- , subq_0.listing__created_at__extract_quarter
- , subq_0.listing__created_at__extract_month
- , subq_0.listing__created_at__extract_day
- , subq_0.listing__created_at__extract_dow
- , subq_0.listing__created_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.user
- , subq_0.listing__user
- , subq_0.country_latest
- , subq_0.is_lux_latest
- , subq_0.capacity_latest
- , subq_0.listing__country_latest
- , subq_0.listing__is_lux_latest
- , subq_0.listing__capacity_latest
- , subq_0.listings
- , subq_0.largest_listing
- , subq_0.smallest_listing
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.created_at__day
+ , subq_6.created_at__week
+ , subq_6.created_at__month
+ , subq_6.created_at__quarter
+ , subq_6.created_at__year
+ , subq_6.created_at__extract_year
+ , subq_6.created_at__extract_quarter
+ , subq_6.created_at__extract_month
+ , subq_6.created_at__extract_day
+ , subq_6.created_at__extract_dow
+ , subq_6.created_at__extract_doy
+ , subq_6.listing__ds__day
+ , subq_6.listing__ds__week
+ , subq_6.listing__ds__month
+ , subq_6.listing__ds__quarter
+ , subq_6.listing__ds__year
+ , subq_6.listing__ds__extract_year
+ , subq_6.listing__ds__extract_quarter
+ , subq_6.listing__ds__extract_month
+ , subq_6.listing__ds__extract_day
+ , subq_6.listing__ds__extract_dow
+ , subq_6.listing__ds__extract_doy
+ , subq_6.listing__created_at__day
+ , subq_6.listing__created_at__week
+ , subq_6.listing__created_at__month
+ , subq_6.listing__created_at__quarter
+ , subq_6.listing__created_at__year
+ , subq_6.listing__created_at__extract_year
+ , subq_6.listing__created_at__extract_quarter
+ , subq_6.listing__created_at__extract_month
+ , subq_6.listing__created_at__extract_day
+ , subq_6.listing__created_at__extract_dow
+ , subq_6.listing__created_at__extract_doy
+ , subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month AS metric_time__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year AS metric_time__year
+ , subq_6.ds__extract_year AS metric_time__extract_year
+ , subq_6.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds__extract_month AS metric_time__extract_month
+ , subq_6.ds__extract_day AS metric_time__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy AS metric_time__extract_doy
+ , subq_6.listing
+ , subq_6.user
+ , subq_6.listing__user
+ , subq_6.country_latest
+ , subq_6.is_lux_latest
+ , subq_6.capacity_latest
+ , subq_6.listing__country_latest
+ , subq_6.listing__is_lux_latest
+ , subq_6.listing__capacity_latest
+ , subq_6.listings
+ , subq_6.largest_listing
+ , subq_6.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -287,231 +287,231 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_0
- ) subq_1
+ ) subq_6
+ ) subq_7
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing__user', 'listing__user__average_booking_value']
SELECT
- subq_10.listing__user
- , subq_10.listing__user__average_booking_value
+ subq_15.listing__user
+ , subq_15.listing__user__average_booking_value
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_9.listing__user
- , subq_9.average_booking_value AS listing__user__average_booking_value
+ subq_14.listing__user
+ , subq_14.average_booking_value AS listing__user__average_booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_8.listing__user
- , AVG(subq_8.average_booking_value) AS average_booking_value
+ subq_13.listing__user
+ , AVG(subq_13.average_booking_value) AS average_booking_value
FROM (
-- Pass Only Elements: ['average_booking_value', 'listing__user']
SELECT
- subq_7.listing__user
- , subq_7.average_booking_value
+ subq_12.listing__user
+ , subq_12.average_booking_value
FROM (
-- Join Standard Outputs
SELECT
- subq_6.user AS listing__user
- , subq_3.ds__day AS ds__day
- , subq_3.ds__week AS ds__week
- , subq_3.ds__month AS ds__month
- , subq_3.ds__quarter AS ds__quarter
- , subq_3.ds__year AS ds__year
- , subq_3.ds__extract_year AS ds__extract_year
- , subq_3.ds__extract_quarter AS ds__extract_quarter
- , subq_3.ds__extract_month AS ds__extract_month
- , 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_partitioned__day AS ds_partitioned__day
- , subq_3.ds_partitioned__week AS ds_partitioned__week
- , subq_3.ds_partitioned__month AS ds_partitioned__month
- , subq_3.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_3.ds_partitioned__year AS ds_partitioned__year
- , subq_3.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_3.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_3.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_3.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_3.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_3.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_3.paid_at__day AS paid_at__day
- , subq_3.paid_at__week AS paid_at__week
- , subq_3.paid_at__month AS paid_at__month
- , subq_3.paid_at__quarter AS paid_at__quarter
- , subq_3.paid_at__year AS paid_at__year
- , subq_3.paid_at__extract_year AS paid_at__extract_year
- , subq_3.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_3.paid_at__extract_month AS paid_at__extract_month
- , subq_3.paid_at__extract_day AS paid_at__extract_day
- , subq_3.paid_at__extract_dow AS paid_at__extract_dow
- , subq_3.paid_at__extract_doy AS paid_at__extract_doy
- , subq_3.booking__ds__day AS booking__ds__day
- , subq_3.booking__ds__week AS booking__ds__week
- , subq_3.booking__ds__month AS booking__ds__month
- , subq_3.booking__ds__quarter AS booking__ds__quarter
- , subq_3.booking__ds__year AS booking__ds__year
- , subq_3.booking__ds__extract_year AS booking__ds__extract_year
- , subq_3.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_3.booking__ds__extract_month AS booking__ds__extract_month
- , subq_3.booking__ds__extract_day AS booking__ds__extract_day
- , subq_3.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_3.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_3.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_3.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_3.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_3.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_3.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_3.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_3.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_3.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_3.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_3.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_3.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_3.booking__paid_at__day AS booking__paid_at__day
- , subq_3.booking__paid_at__week AS booking__paid_at__week
- , subq_3.booking__paid_at__month AS booking__paid_at__month
- , subq_3.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_3.booking__paid_at__year AS booking__paid_at__year
- , subq_3.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_3.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_3.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_3.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_3.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_3.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_3.metric_time__day AS metric_time__day
- , subq_3.metric_time__week AS metric_time__week
- , subq_3.metric_time__month AS metric_time__month
- , subq_3.metric_time__quarter AS metric_time__quarter
- , subq_3.metric_time__year AS metric_time__year
- , subq_3.metric_time__extract_year AS metric_time__extract_year
- , subq_3.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_3.metric_time__extract_month AS metric_time__extract_month
- , subq_3.metric_time__extract_day AS metric_time__extract_day
- , subq_3.metric_time__extract_dow AS metric_time__extract_dow
- , subq_3.metric_time__extract_doy AS metric_time__extract_doy
- , subq_3.listing AS listing
- , subq_3.guest AS guest
- , subq_3.host AS host
- , subq_3.booking__listing AS booking__listing
- , subq_3.booking__guest AS booking__guest
- , subq_3.booking__host AS booking__host
- , subq_3.is_instant AS is_instant
- , subq_3.booking__is_instant AS booking__is_instant
- , subq_3.bookings AS bookings
- , subq_3.instant_bookings AS instant_bookings
- , subq_3.booking_value AS booking_value
- , subq_3.max_booking_value AS max_booking_value
- , subq_3.min_booking_value AS min_booking_value
- , subq_3.bookers AS bookers
- , subq_3.average_booking_value AS average_booking_value
- , subq_3.referred_bookings AS referred_bookings
- , subq_3.median_booking_value AS median_booking_value
- , subq_3.booking_value_p99 AS booking_value_p99
- , subq_3.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_3.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_3.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_11.user AS listing__user
+ , subq_9.ds__day AS ds__day
+ , subq_9.ds__week AS ds__week
+ , subq_9.ds__month AS ds__month
+ , subq_9.ds__quarter AS ds__quarter
+ , subq_9.ds__year AS ds__year
+ , subq_9.ds__extract_year AS ds__extract_year
+ , subq_9.ds__extract_quarter AS ds__extract_quarter
+ , subq_9.ds__extract_month AS ds__extract_month
+ , subq_9.ds__extract_day AS ds__extract_day
+ , subq_9.ds__extract_dow AS ds__extract_dow
+ , subq_9.ds__extract_doy AS ds__extract_doy
+ , subq_9.ds_partitioned__day AS ds_partitioned__day
+ , subq_9.ds_partitioned__week AS ds_partitioned__week
+ , subq_9.ds_partitioned__month AS ds_partitioned__month
+ , subq_9.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_9.ds_partitioned__year AS ds_partitioned__year
+ , subq_9.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_9.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_9.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_9.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_9.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_9.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_9.paid_at__day AS paid_at__day
+ , subq_9.paid_at__week AS paid_at__week
+ , subq_9.paid_at__month AS paid_at__month
+ , subq_9.paid_at__quarter AS paid_at__quarter
+ , subq_9.paid_at__year AS paid_at__year
+ , subq_9.paid_at__extract_year AS paid_at__extract_year
+ , subq_9.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_9.paid_at__extract_month AS paid_at__extract_month
+ , subq_9.paid_at__extract_day AS paid_at__extract_day
+ , subq_9.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_9.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_9.booking__ds__day AS booking__ds__day
+ , subq_9.booking__ds__week AS booking__ds__week
+ , subq_9.booking__ds__month AS booking__ds__month
+ , subq_9.booking__ds__quarter AS booking__ds__quarter
+ , subq_9.booking__ds__year AS booking__ds__year
+ , subq_9.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_9.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_9.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_9.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_9.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_9.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_9.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_9.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_9.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_9.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_9.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_9.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_9.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_9.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_9.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_9.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_9.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_9.booking__paid_at__day AS booking__paid_at__day
+ , subq_9.booking__paid_at__week AS booking__paid_at__week
+ , subq_9.booking__paid_at__month AS booking__paid_at__month
+ , subq_9.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_9.booking__paid_at__year AS booking__paid_at__year
+ , subq_9.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_9.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_9.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_9.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_9.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_9.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_9.metric_time__day AS metric_time__day
+ , subq_9.metric_time__week AS metric_time__week
+ , subq_9.metric_time__month AS metric_time__month
+ , subq_9.metric_time__quarter AS metric_time__quarter
+ , subq_9.metric_time__year AS metric_time__year
+ , subq_9.metric_time__extract_year AS metric_time__extract_year
+ , subq_9.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_9.metric_time__extract_month AS metric_time__extract_month
+ , subq_9.metric_time__extract_day AS metric_time__extract_day
+ , subq_9.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_9.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_9.listing AS listing
+ , subq_9.guest AS guest
+ , subq_9.host AS host
+ , subq_9.booking__listing AS booking__listing
+ , subq_9.booking__guest AS booking__guest
+ , subq_9.booking__host AS booking__host
+ , subq_9.is_instant AS is_instant
+ , subq_9.booking__is_instant AS booking__is_instant
+ , subq_9.bookings AS bookings
+ , subq_9.instant_bookings AS instant_bookings
+ , subq_9.booking_value AS booking_value
+ , subq_9.max_booking_value AS max_booking_value
+ , subq_9.min_booking_value AS min_booking_value
+ , subq_9.bookers AS bookers
+ , subq_9.average_booking_value AS average_booking_value
+ , subq_9.referred_bookings AS referred_bookings
+ , subq_9.median_booking_value AS median_booking_value
+ , subq_9.booking_value_p99 AS booking_value_p99
+ , subq_9.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_9.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_9.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds_partitioned__day
+ , subq_8.ds_partitioned__week
+ , subq_8.ds_partitioned__month
+ , subq_8.ds_partitioned__quarter
+ , subq_8.ds_partitioned__year
+ , subq_8.ds_partitioned__extract_year
+ , subq_8.ds_partitioned__extract_quarter
+ , subq_8.ds_partitioned__extract_month
+ , subq_8.ds_partitioned__extract_day
+ , subq_8.ds_partitioned__extract_dow
+ , subq_8.ds_partitioned__extract_doy
+ , subq_8.paid_at__day
+ , subq_8.paid_at__week
+ , subq_8.paid_at__month
+ , subq_8.paid_at__quarter
+ , subq_8.paid_at__year
+ , subq_8.paid_at__extract_year
+ , subq_8.paid_at__extract_quarter
+ , subq_8.paid_at__extract_month
+ , subq_8.paid_at__extract_day
+ , subq_8.paid_at__extract_dow
+ , subq_8.paid_at__extract_doy
+ , subq_8.booking__ds__day
+ , subq_8.booking__ds__week
+ , subq_8.booking__ds__month
+ , subq_8.booking__ds__quarter
+ , subq_8.booking__ds__year
+ , subq_8.booking__ds__extract_year
+ , subq_8.booking__ds__extract_quarter
+ , subq_8.booking__ds__extract_month
+ , subq_8.booking__ds__extract_day
+ , subq_8.booking__ds__extract_dow
+ , subq_8.booking__ds__extract_doy
+ , subq_8.booking__ds_partitioned__day
+ , subq_8.booking__ds_partitioned__week
+ , subq_8.booking__ds_partitioned__month
+ , subq_8.booking__ds_partitioned__quarter
+ , subq_8.booking__ds_partitioned__year
+ , subq_8.booking__ds_partitioned__extract_year
+ , subq_8.booking__ds_partitioned__extract_quarter
+ , subq_8.booking__ds_partitioned__extract_month
+ , subq_8.booking__ds_partitioned__extract_day
+ , subq_8.booking__ds_partitioned__extract_dow
+ , subq_8.booking__ds_partitioned__extract_doy
+ , subq_8.booking__paid_at__day
+ , subq_8.booking__paid_at__week
+ , subq_8.booking__paid_at__month
+ , subq_8.booking__paid_at__quarter
+ , subq_8.booking__paid_at__year
+ , subq_8.booking__paid_at__extract_year
+ , subq_8.booking__paid_at__extract_quarter
+ , subq_8.booking__paid_at__extract_month
+ , subq_8.booking__paid_at__extract_day
+ , subq_8.booking__paid_at__extract_dow
+ , subq_8.booking__paid_at__extract_doy
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.listing
+ , subq_8.guest
+ , subq_8.host
+ , subq_8.booking__listing
+ , subq_8.booking__guest
+ , subq_8.booking__host
+ , subq_8.is_instant
+ , subq_8.booking__is_instant
+ , subq_8.bookings
+ , subq_8.instant_bookings
+ , subq_8.booking_value
+ , subq_8.max_booking_value
+ , subq_8.min_booking_value
+ , subq_8.bookers
+ , subq_8.average_booking_value
+ , subq_8.referred_bookings
+ , subq_8.median_booking_value
+ , subq_8.booking_value_p99
+ , subq_8.discrete_booking_value_p99
+ , subq_8.approximate_continuous_booking_value_p99
+ , subq_8.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -604,83 +604,83 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
+ ) subq_8
+ ) subq_9
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'user']
SELECT
- subq_5.listing
- , subq_5.user
+ subq_10.listing
+ , subq_10.user
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_4.ds__day
- , subq_4.ds__week
- , subq_4.ds__month
- , subq_4.ds__quarter
- , subq_4.ds__year
- , subq_4.ds__extract_year
- , subq_4.ds__extract_quarter
- , subq_4.ds__extract_month
- , subq_4.ds__extract_day
- , subq_4.ds__extract_dow
- , subq_4.ds__extract_doy
- , subq_4.created_at__day
- , subq_4.created_at__week
- , subq_4.created_at__month
- , subq_4.created_at__quarter
- , subq_4.created_at__year
- , subq_4.created_at__extract_year
- , subq_4.created_at__extract_quarter
- , subq_4.created_at__extract_month
- , subq_4.created_at__extract_day
- , subq_4.created_at__extract_dow
- , subq_4.created_at__extract_doy
- , subq_4.listing__ds__day
- , subq_4.listing__ds__week
- , subq_4.listing__ds__month
- , subq_4.listing__ds__quarter
- , subq_4.listing__ds__year
- , subq_4.listing__ds__extract_year
- , subq_4.listing__ds__extract_quarter
- , subq_4.listing__ds__extract_month
- , subq_4.listing__ds__extract_day
- , subq_4.listing__ds__extract_dow
- , subq_4.listing__ds__extract_doy
- , subq_4.listing__created_at__day
- , subq_4.listing__created_at__week
- , subq_4.listing__created_at__month
- , subq_4.listing__created_at__quarter
- , subq_4.listing__created_at__year
- , subq_4.listing__created_at__extract_year
- , subq_4.listing__created_at__extract_quarter
- , subq_4.listing__created_at__extract_month
- , subq_4.listing__created_at__extract_day
- , subq_4.listing__created_at__extract_dow
- , subq_4.listing__created_at__extract_doy
- , subq_4.ds__day AS metric_time__day
- , subq_4.ds__week AS metric_time__week
- , subq_4.ds__month AS metric_time__month
- , subq_4.ds__quarter AS metric_time__quarter
- , subq_4.ds__year AS metric_time__year
- , subq_4.ds__extract_year AS metric_time__extract_year
- , subq_4.ds__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds__extract_month AS metric_time__extract_month
- , subq_4.ds__extract_day AS metric_time__extract_day
- , subq_4.ds__extract_dow AS metric_time__extract_dow
- , subq_4.ds__extract_doy AS metric_time__extract_doy
- , subq_4.listing
- , subq_4.user
- , subq_4.listing__user
- , subq_4.country_latest
- , subq_4.is_lux_latest
- , subq_4.capacity_latest
- , subq_4.listing__country_latest
- , subq_4.listing__is_lux_latest
- , subq_4.listing__capacity_latest
- , subq_4.listings
- , subq_4.largest_listing
- , subq_4.smallest_listing
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.created_at__day
+ , subq_6.created_at__week
+ , subq_6.created_at__month
+ , subq_6.created_at__quarter
+ , subq_6.created_at__year
+ , subq_6.created_at__extract_year
+ , subq_6.created_at__extract_quarter
+ , subq_6.created_at__extract_month
+ , subq_6.created_at__extract_day
+ , subq_6.created_at__extract_dow
+ , subq_6.created_at__extract_doy
+ , subq_6.listing__ds__day
+ , subq_6.listing__ds__week
+ , subq_6.listing__ds__month
+ , subq_6.listing__ds__quarter
+ , subq_6.listing__ds__year
+ , subq_6.listing__ds__extract_year
+ , subq_6.listing__ds__extract_quarter
+ , subq_6.listing__ds__extract_month
+ , subq_6.listing__ds__extract_day
+ , subq_6.listing__ds__extract_dow
+ , subq_6.listing__ds__extract_doy
+ , subq_6.listing__created_at__day
+ , subq_6.listing__created_at__week
+ , subq_6.listing__created_at__month
+ , subq_6.listing__created_at__quarter
+ , subq_6.listing__created_at__year
+ , subq_6.listing__created_at__extract_year
+ , subq_6.listing__created_at__extract_quarter
+ , subq_6.listing__created_at__extract_month
+ , subq_6.listing__created_at__extract_day
+ , subq_6.listing__created_at__extract_dow
+ , subq_6.listing__created_at__extract_doy
+ , subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month AS metric_time__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year AS metric_time__year
+ , subq_6.ds__extract_year AS metric_time__extract_year
+ , subq_6.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds__extract_month AS metric_time__extract_month
+ , subq_6.ds__extract_day AS metric_time__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy AS metric_time__extract_doy
+ , subq_6.listing
+ , subq_6.user
+ , subq_6.listing__user
+ , subq_6.country_latest
+ , subq_6.is_lux_latest
+ , subq_6.capacity_latest
+ , subq_6.listing__country_latest
+ , subq_6.listing__is_lux_latest
+ , subq_6.listing__capacity_latest
+ , subq_6.listings
+ , subq_6.largest_listing
+ , subq_6.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -741,22 +741,22 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_6
+ ) subq_10
+ ) subq_11
ON
- subq_3.listing = subq_6.listing
- ) subq_7
- ) subq_8
+ subq_9.listing = subq_11.listing
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_8.listing__user
- ) subq_9
- ) subq_10
- ) subq_11
+ subq_13.listing__user
+ ) subq_14
+ ) subq_15
+ ) subq_16
ON
- subq_1.user = subq_11.listing__user
- ) subq_12
+ subq_7.user = subq_16.listing__user
+ ) subq_17
WHERE user__listing__user__average_booking_value > 1
- ) subq_13
- ) subq_14
-) subq_15
+ ) subq_18
+ ) subq_19
+) subq_20
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_group_by_has_local_entity_prefix__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_group_by_has_local_entity_prefix__plan0_optimized.sql
index 9fbb646605..c7ec78bcf5 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_group_by_has_local_entity_prefix__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_group_by_has_local_entity_prefix__plan0_optimized.sql
@@ -21,7 +21,7 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_26.listing__user__average_booking_value AS user__listing__user__average_booking_value
+ subq_31.listing__user__average_booking_value AS user__listing__user__average_booking_value
, sma_28014_cte.listings AS listings
FROM sma_28014_cte sma_28014_cte
LEFT OUTER JOIN (
@@ -40,8 +40,8 @@ FROM (
bookings_source_src_28000.listing_id = sma_28014_cte.listing
GROUP BY
sma_28014_cte.user
- ) subq_26
+ ) subq_31
ON
- sma_28014_cte.user = subq_26.listing__user
-) subq_27
+ sma_28014_cte.user = subq_31.listing__user
+) subq_32
WHERE user__listing__user__average_booking_value > 1
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_multi_hop__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_multi_hop__plan0.sql
index 4ce34a0176..03b499cbd9 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_multi_hop__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_multi_hop__plan0.sql
@@ -6,139 +6,139 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_19.third_hop_count
+ subq_28.third_hop_count
FROM (
-- Aggregate Measures
SELECT
- COUNT(DISTINCT subq_18.third_hop_count) AS third_hop_count
+ COUNT(DISTINCT subq_27.third_hop_count) AS third_hop_count
FROM (
-- Pass Only Elements: ['third_hop_count',]
SELECT
- subq_17.third_hop_count
+ subq_26.third_hop_count
FROM (
-- Constrain Output with WHERE
SELECT
- subq_16.third_hop_ds__day
- , subq_16.third_hop_ds__week
- , subq_16.third_hop_ds__month
- , subq_16.third_hop_ds__quarter
- , subq_16.third_hop_ds__year
- , subq_16.third_hop_ds__extract_year
- , subq_16.third_hop_ds__extract_quarter
- , subq_16.third_hop_ds__extract_month
- , subq_16.third_hop_ds__extract_day
- , subq_16.third_hop_ds__extract_dow
- , subq_16.third_hop_ds__extract_doy
- , subq_16.customer_third_hop_id__third_hop_ds__day
- , subq_16.customer_third_hop_id__third_hop_ds__week
- , subq_16.customer_third_hop_id__third_hop_ds__month
- , subq_16.customer_third_hop_id__third_hop_ds__quarter
- , subq_16.customer_third_hop_id__third_hop_ds__year
- , subq_16.customer_third_hop_id__third_hop_ds__extract_year
- , subq_16.customer_third_hop_id__third_hop_ds__extract_quarter
- , subq_16.customer_third_hop_id__third_hop_ds__extract_month
- , subq_16.customer_third_hop_id__third_hop_ds__extract_day
- , subq_16.customer_third_hop_id__third_hop_ds__extract_dow
- , subq_16.customer_third_hop_id__third_hop_ds__extract_doy
- , subq_16.metric_time__day
- , subq_16.metric_time__week
- , subq_16.metric_time__month
- , subq_16.metric_time__quarter
- , subq_16.metric_time__year
- , subq_16.metric_time__extract_year
- , subq_16.metric_time__extract_quarter
- , subq_16.metric_time__extract_month
- , subq_16.metric_time__extract_day
- , subq_16.metric_time__extract_dow
- , subq_16.metric_time__extract_doy
- , subq_16.customer_third_hop_id
- , subq_16.customer_third_hop_id__account_id__customer_id__customer_third_hop_id
- , subq_16.value
- , subq_16.customer_third_hop_id__value
- , subq_16.customer_third_hop_id__account_id__customer_id__customer_third_hop_id__txn_count
- , subq_16.third_hop_count
+ subq_25.third_hop_ds__day
+ , subq_25.third_hop_ds__week
+ , subq_25.third_hop_ds__month
+ , subq_25.third_hop_ds__quarter
+ , subq_25.third_hop_ds__year
+ , subq_25.third_hop_ds__extract_year
+ , subq_25.third_hop_ds__extract_quarter
+ , subq_25.third_hop_ds__extract_month
+ , subq_25.third_hop_ds__extract_day
+ , subq_25.third_hop_ds__extract_dow
+ , subq_25.third_hop_ds__extract_doy
+ , subq_25.customer_third_hop_id__third_hop_ds__day
+ , subq_25.customer_third_hop_id__third_hop_ds__week
+ , subq_25.customer_third_hop_id__third_hop_ds__month
+ , subq_25.customer_third_hop_id__third_hop_ds__quarter
+ , subq_25.customer_third_hop_id__third_hop_ds__year
+ , subq_25.customer_third_hop_id__third_hop_ds__extract_year
+ , subq_25.customer_third_hop_id__third_hop_ds__extract_quarter
+ , subq_25.customer_third_hop_id__third_hop_ds__extract_month
+ , subq_25.customer_third_hop_id__third_hop_ds__extract_day
+ , subq_25.customer_third_hop_id__third_hop_ds__extract_dow
+ , subq_25.customer_third_hop_id__third_hop_ds__extract_doy
+ , subq_25.metric_time__day
+ , subq_25.metric_time__week
+ , subq_25.metric_time__month
+ , subq_25.metric_time__quarter
+ , subq_25.metric_time__year
+ , subq_25.metric_time__extract_year
+ , subq_25.metric_time__extract_quarter
+ , subq_25.metric_time__extract_month
+ , subq_25.metric_time__extract_day
+ , subq_25.metric_time__extract_dow
+ , subq_25.metric_time__extract_doy
+ , subq_25.customer_third_hop_id
+ , subq_25.customer_third_hop_id__account_id__customer_id__customer_third_hop_id
+ , subq_25.value
+ , subq_25.customer_third_hop_id__value
+ , subq_25.customer_third_hop_id__account_id__customer_id__customer_third_hop_id__txn_count
+ , subq_25.third_hop_count
FROM (
-- Join Standard Outputs
SELECT
- subq_15.account_id__customer_id__customer_third_hop_id AS customer_third_hop_id__account_id__customer_id__customer_third_hop_id
- , subq_15.account_id__customer_id__customer_third_hop_id__txn_count AS customer_third_hop_id__account_id__customer_id__customer_third_hop_id__txn_count
- , subq_1.third_hop_ds__day AS third_hop_ds__day
- , subq_1.third_hop_ds__week AS third_hop_ds__week
- , subq_1.third_hop_ds__month AS third_hop_ds__month
- , subq_1.third_hop_ds__quarter AS third_hop_ds__quarter
- , subq_1.third_hop_ds__year AS third_hop_ds__year
- , subq_1.third_hop_ds__extract_year AS third_hop_ds__extract_year
- , subq_1.third_hop_ds__extract_quarter AS third_hop_ds__extract_quarter
- , subq_1.third_hop_ds__extract_month AS third_hop_ds__extract_month
- , subq_1.third_hop_ds__extract_day AS third_hop_ds__extract_day
- , subq_1.third_hop_ds__extract_dow AS third_hop_ds__extract_dow
- , subq_1.third_hop_ds__extract_doy AS third_hop_ds__extract_doy
- , subq_1.customer_third_hop_id__third_hop_ds__day AS customer_third_hop_id__third_hop_ds__day
- , subq_1.customer_third_hop_id__third_hop_ds__week AS customer_third_hop_id__third_hop_ds__week
- , subq_1.customer_third_hop_id__third_hop_ds__month AS customer_third_hop_id__third_hop_ds__month
- , subq_1.customer_third_hop_id__third_hop_ds__quarter AS customer_third_hop_id__third_hop_ds__quarter
- , subq_1.customer_third_hop_id__third_hop_ds__year AS customer_third_hop_id__third_hop_ds__year
- , subq_1.customer_third_hop_id__third_hop_ds__extract_year AS customer_third_hop_id__third_hop_ds__extract_year
- , subq_1.customer_third_hop_id__third_hop_ds__extract_quarter AS customer_third_hop_id__third_hop_ds__extract_quarter
- , subq_1.customer_third_hop_id__third_hop_ds__extract_month AS customer_third_hop_id__third_hop_ds__extract_month
- , subq_1.customer_third_hop_id__third_hop_ds__extract_day AS customer_third_hop_id__third_hop_ds__extract_day
- , subq_1.customer_third_hop_id__third_hop_ds__extract_dow AS customer_third_hop_id__third_hop_ds__extract_dow
- , subq_1.customer_third_hop_id__third_hop_ds__extract_doy AS customer_third_hop_id__third_hop_ds__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.customer_third_hop_id AS customer_third_hop_id
- , subq_1.value AS value
- , subq_1.customer_third_hop_id__value AS customer_third_hop_id__value
- , subq_1.third_hop_count AS third_hop_count
+ subq_24.account_id__customer_id__customer_third_hop_id AS customer_third_hop_id__account_id__customer_id__customer_third_hop_id
+ , subq_24.account_id__customer_id__customer_third_hop_id__txn_count AS customer_third_hop_id__account_id__customer_id__customer_third_hop_id__txn_count
+ , subq_10.third_hop_ds__day AS third_hop_ds__day
+ , subq_10.third_hop_ds__week AS third_hop_ds__week
+ , subq_10.third_hop_ds__month AS third_hop_ds__month
+ , subq_10.third_hop_ds__quarter AS third_hop_ds__quarter
+ , subq_10.third_hop_ds__year AS third_hop_ds__year
+ , subq_10.third_hop_ds__extract_year AS third_hop_ds__extract_year
+ , subq_10.third_hop_ds__extract_quarter AS third_hop_ds__extract_quarter
+ , subq_10.third_hop_ds__extract_month AS third_hop_ds__extract_month
+ , subq_10.third_hop_ds__extract_day AS third_hop_ds__extract_day
+ , subq_10.third_hop_ds__extract_dow AS third_hop_ds__extract_dow
+ , subq_10.third_hop_ds__extract_doy AS third_hop_ds__extract_doy
+ , subq_10.customer_third_hop_id__third_hop_ds__day AS customer_third_hop_id__third_hop_ds__day
+ , subq_10.customer_third_hop_id__third_hop_ds__week AS customer_third_hop_id__third_hop_ds__week
+ , subq_10.customer_third_hop_id__third_hop_ds__month AS customer_third_hop_id__third_hop_ds__month
+ , subq_10.customer_third_hop_id__third_hop_ds__quarter AS customer_third_hop_id__third_hop_ds__quarter
+ , subq_10.customer_third_hop_id__third_hop_ds__year AS customer_third_hop_id__third_hop_ds__year
+ , subq_10.customer_third_hop_id__third_hop_ds__extract_year AS customer_third_hop_id__third_hop_ds__extract_year
+ , subq_10.customer_third_hop_id__third_hop_ds__extract_quarter AS customer_third_hop_id__third_hop_ds__extract_quarter
+ , subq_10.customer_third_hop_id__third_hop_ds__extract_month AS customer_third_hop_id__third_hop_ds__extract_month
+ , subq_10.customer_third_hop_id__third_hop_ds__extract_day AS customer_third_hop_id__third_hop_ds__extract_day
+ , subq_10.customer_third_hop_id__third_hop_ds__extract_dow AS customer_third_hop_id__third_hop_ds__extract_dow
+ , subq_10.customer_third_hop_id__third_hop_ds__extract_doy AS customer_third_hop_id__third_hop_ds__extract_doy
+ , subq_10.metric_time__day AS metric_time__day
+ , subq_10.metric_time__week AS metric_time__week
+ , subq_10.metric_time__month AS metric_time__month
+ , subq_10.metric_time__quarter AS metric_time__quarter
+ , subq_10.metric_time__year AS metric_time__year
+ , subq_10.metric_time__extract_year AS metric_time__extract_year
+ , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_10.metric_time__extract_month AS metric_time__extract_month
+ , subq_10.metric_time__extract_day AS metric_time__extract_day
+ , subq_10.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_10.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_10.customer_third_hop_id AS customer_third_hop_id
+ , subq_10.value AS value
+ , subq_10.customer_third_hop_id__value AS customer_third_hop_id__value
+ , subq_10.third_hop_count AS third_hop_count
FROM (
-- Metric Time Dimension 'third_hop_ds'
SELECT
- subq_0.third_hop_ds__day
- , subq_0.third_hop_ds__week
- , subq_0.third_hop_ds__month
- , subq_0.third_hop_ds__quarter
- , subq_0.third_hop_ds__year
- , subq_0.third_hop_ds__extract_year
- , subq_0.third_hop_ds__extract_quarter
- , subq_0.third_hop_ds__extract_month
- , subq_0.third_hop_ds__extract_day
- , subq_0.third_hop_ds__extract_dow
- , subq_0.third_hop_ds__extract_doy
- , subq_0.customer_third_hop_id__third_hop_ds__day
- , subq_0.customer_third_hop_id__third_hop_ds__week
- , subq_0.customer_third_hop_id__third_hop_ds__month
- , subq_0.customer_third_hop_id__third_hop_ds__quarter
- , subq_0.customer_third_hop_id__third_hop_ds__year
- , subq_0.customer_third_hop_id__third_hop_ds__extract_year
- , subq_0.customer_third_hop_id__third_hop_ds__extract_quarter
- , subq_0.customer_third_hop_id__third_hop_ds__extract_month
- , subq_0.customer_third_hop_id__third_hop_ds__extract_day
- , subq_0.customer_third_hop_id__third_hop_ds__extract_dow
- , subq_0.customer_third_hop_id__third_hop_ds__extract_doy
- , subq_0.third_hop_ds__day AS metric_time__day
- , subq_0.third_hop_ds__week AS metric_time__week
- , subq_0.third_hop_ds__month AS metric_time__month
- , subq_0.third_hop_ds__quarter AS metric_time__quarter
- , subq_0.third_hop_ds__year AS metric_time__year
- , subq_0.third_hop_ds__extract_year AS metric_time__extract_year
- , subq_0.third_hop_ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.third_hop_ds__extract_month AS metric_time__extract_month
- , subq_0.third_hop_ds__extract_day AS metric_time__extract_day
- , subq_0.third_hop_ds__extract_dow AS metric_time__extract_dow
- , subq_0.third_hop_ds__extract_doy AS metric_time__extract_doy
- , subq_0.customer_third_hop_id
- , subq_0.value
- , subq_0.customer_third_hop_id__value
- , subq_0.third_hop_count
+ subq_9.third_hop_ds__day
+ , subq_9.third_hop_ds__week
+ , subq_9.third_hop_ds__month
+ , subq_9.third_hop_ds__quarter
+ , subq_9.third_hop_ds__year
+ , subq_9.third_hop_ds__extract_year
+ , subq_9.third_hop_ds__extract_quarter
+ , subq_9.third_hop_ds__extract_month
+ , subq_9.third_hop_ds__extract_day
+ , subq_9.third_hop_ds__extract_dow
+ , subq_9.third_hop_ds__extract_doy
+ , subq_9.customer_third_hop_id__third_hop_ds__day
+ , subq_9.customer_third_hop_id__third_hop_ds__week
+ , subq_9.customer_third_hop_id__third_hop_ds__month
+ , subq_9.customer_third_hop_id__third_hop_ds__quarter
+ , subq_9.customer_third_hop_id__third_hop_ds__year
+ , subq_9.customer_third_hop_id__third_hop_ds__extract_year
+ , subq_9.customer_third_hop_id__third_hop_ds__extract_quarter
+ , subq_9.customer_third_hop_id__third_hop_ds__extract_month
+ , subq_9.customer_third_hop_id__third_hop_ds__extract_day
+ , subq_9.customer_third_hop_id__third_hop_ds__extract_dow
+ , subq_9.customer_third_hop_id__third_hop_ds__extract_doy
+ , subq_9.third_hop_ds__day AS metric_time__day
+ , subq_9.third_hop_ds__week AS metric_time__week
+ , subq_9.third_hop_ds__month AS metric_time__month
+ , subq_9.third_hop_ds__quarter AS metric_time__quarter
+ , subq_9.third_hop_ds__year AS metric_time__year
+ , subq_9.third_hop_ds__extract_year AS metric_time__extract_year
+ , subq_9.third_hop_ds__extract_quarter AS metric_time__extract_quarter
+ , subq_9.third_hop_ds__extract_month AS metric_time__extract_month
+ , subq_9.third_hop_ds__extract_day AS metric_time__extract_day
+ , subq_9.third_hop_ds__extract_dow AS metric_time__extract_dow
+ , subq_9.third_hop_ds__extract_doy AS metric_time__extract_doy
+ , subq_9.customer_third_hop_id
+ , subq_9.value
+ , subq_9.customer_third_hop_id__value
+ , subq_9.third_hop_count
FROM (
-- Read Elements From Semantic Model 'third_hop_table'
SELECT
@@ -169,154 +169,154 @@ FROM (
, EXTRACT(doy FROM third_hop_table_src_22000.third_hop_ds) AS customer_third_hop_id__third_hop_ds__extract_doy
, third_hop_table_src_22000.customer_third_hop_id
FROM ***************************.third_hop_table third_hop_table_src_22000
- ) subq_0
- ) subq_1
+ ) subq_9
+ ) subq_10
LEFT OUTER JOIN (
-- Pass Only Elements: ['account_id__customer_id__customer_third_hop_id', 'account_id__customer_id__customer_third_hop_id__txn_count']
SELECT
- subq_14.account_id__customer_id__customer_third_hop_id
- , subq_14.account_id__customer_id__customer_third_hop_id__txn_count
+ subq_23.account_id__customer_id__customer_third_hop_id
+ , subq_23.account_id__customer_id__customer_third_hop_id__txn_count
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_13.account_id__customer_id__customer_third_hop_id
- , subq_13.txn_count AS account_id__customer_id__customer_third_hop_id__txn_count
+ subq_22.account_id__customer_id__customer_third_hop_id
+ , subq_22.txn_count AS account_id__customer_id__customer_third_hop_id__txn_count
FROM (
-- Aggregate Measures
SELECT
- subq_12.account_id__customer_id__customer_third_hop_id
- , SUM(subq_12.txn_count) AS txn_count
+ subq_21.account_id__customer_id__customer_third_hop_id
+ , SUM(subq_21.txn_count) AS txn_count
FROM (
-- Pass Only Elements: ['txn_count', 'account_id__customer_id__customer_third_hop_id']
SELECT
- subq_11.account_id__customer_id__customer_third_hop_id
- , subq_11.txn_count
+ subq_20.account_id__customer_id__customer_third_hop_id
+ , subq_20.txn_count
FROM (
-- Join Standard Outputs
SELECT
- subq_10.ds_partitioned__day AS account_id__ds_partitioned__day
- , subq_10.customer_id__customer_third_hop_id AS account_id__customer_id__customer_third_hop_id
- , subq_3.ds_partitioned__day AS ds_partitioned__day
- , subq_3.ds_partitioned__week AS ds_partitioned__week
- , subq_3.ds_partitioned__month AS ds_partitioned__month
- , subq_3.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_3.ds_partitioned__year AS ds_partitioned__year
- , subq_3.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_3.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_3.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_3.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_3.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_3.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_3.ds__day AS ds__day
- , subq_3.ds__week AS ds__week
- , subq_3.ds__month AS ds__month
- , subq_3.ds__quarter AS ds__quarter
- , subq_3.ds__year AS ds__year
- , subq_3.ds__extract_year AS ds__extract_year
- , subq_3.ds__extract_quarter AS ds__extract_quarter
- , subq_3.ds__extract_month AS ds__extract_month
- , 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.account_id__ds_partitioned__day AS account_id__ds_partitioned__day
- , subq_3.account_id__ds_partitioned__week AS account_id__ds_partitioned__week
- , subq_3.account_id__ds_partitioned__month AS account_id__ds_partitioned__month
- , subq_3.account_id__ds_partitioned__quarter AS account_id__ds_partitioned__quarter
- , subq_3.account_id__ds_partitioned__year AS account_id__ds_partitioned__year
- , subq_3.account_id__ds_partitioned__extract_year AS account_id__ds_partitioned__extract_year
- , subq_3.account_id__ds_partitioned__extract_quarter AS account_id__ds_partitioned__extract_quarter
- , subq_3.account_id__ds_partitioned__extract_month AS account_id__ds_partitioned__extract_month
- , subq_3.account_id__ds_partitioned__extract_day AS account_id__ds_partitioned__extract_day
- , subq_3.account_id__ds_partitioned__extract_dow AS account_id__ds_partitioned__extract_dow
- , subq_3.account_id__ds_partitioned__extract_doy AS account_id__ds_partitioned__extract_doy
- , subq_3.account_id__ds__day AS account_id__ds__day
- , subq_3.account_id__ds__week AS account_id__ds__week
- , subq_3.account_id__ds__month AS account_id__ds__month
- , subq_3.account_id__ds__quarter AS account_id__ds__quarter
- , subq_3.account_id__ds__year AS account_id__ds__year
- , subq_3.account_id__ds__extract_year AS account_id__ds__extract_year
- , subq_3.account_id__ds__extract_quarter AS account_id__ds__extract_quarter
- , subq_3.account_id__ds__extract_month AS account_id__ds__extract_month
- , subq_3.account_id__ds__extract_day AS account_id__ds__extract_day
- , subq_3.account_id__ds__extract_dow AS account_id__ds__extract_dow
- , subq_3.account_id__ds__extract_doy AS account_id__ds__extract_doy
- , subq_3.metric_time__day AS metric_time__day
- , subq_3.metric_time__week AS metric_time__week
- , subq_3.metric_time__month AS metric_time__month
- , subq_3.metric_time__quarter AS metric_time__quarter
- , subq_3.metric_time__year AS metric_time__year
- , subq_3.metric_time__extract_year AS metric_time__extract_year
- , subq_3.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_3.metric_time__extract_month AS metric_time__extract_month
- , subq_3.metric_time__extract_day AS metric_time__extract_day
- , subq_3.metric_time__extract_dow AS metric_time__extract_dow
- , subq_3.metric_time__extract_doy AS metric_time__extract_doy
- , subq_3.account_id AS account_id
- , subq_3.account_month AS account_month
- , subq_3.account_id__account_month AS account_id__account_month
- , subq_3.txn_count AS txn_count
+ subq_19.ds_partitioned__day AS account_id__ds_partitioned__day
+ , subq_19.customer_id__customer_third_hop_id AS account_id__customer_id__customer_third_hop_id
+ , subq_12.ds_partitioned__day AS ds_partitioned__day
+ , subq_12.ds_partitioned__week AS ds_partitioned__week
+ , subq_12.ds_partitioned__month AS ds_partitioned__month
+ , subq_12.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_12.ds_partitioned__year AS ds_partitioned__year
+ , subq_12.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_12.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_12.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_12.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_12.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_12.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_12.ds__day AS ds__day
+ , subq_12.ds__week AS ds__week
+ , subq_12.ds__month AS ds__month
+ , subq_12.ds__quarter AS ds__quarter
+ , subq_12.ds__year AS ds__year
+ , subq_12.ds__extract_year AS ds__extract_year
+ , subq_12.ds__extract_quarter AS ds__extract_quarter
+ , subq_12.ds__extract_month AS ds__extract_month
+ , subq_12.ds__extract_day AS ds__extract_day
+ , subq_12.ds__extract_dow AS ds__extract_dow
+ , subq_12.ds__extract_doy AS ds__extract_doy
+ , subq_12.account_id__ds_partitioned__day AS account_id__ds_partitioned__day
+ , subq_12.account_id__ds_partitioned__week AS account_id__ds_partitioned__week
+ , subq_12.account_id__ds_partitioned__month AS account_id__ds_partitioned__month
+ , subq_12.account_id__ds_partitioned__quarter AS account_id__ds_partitioned__quarter
+ , subq_12.account_id__ds_partitioned__year AS account_id__ds_partitioned__year
+ , subq_12.account_id__ds_partitioned__extract_year AS account_id__ds_partitioned__extract_year
+ , subq_12.account_id__ds_partitioned__extract_quarter AS account_id__ds_partitioned__extract_quarter
+ , subq_12.account_id__ds_partitioned__extract_month AS account_id__ds_partitioned__extract_month
+ , subq_12.account_id__ds_partitioned__extract_day AS account_id__ds_partitioned__extract_day
+ , subq_12.account_id__ds_partitioned__extract_dow AS account_id__ds_partitioned__extract_dow
+ , subq_12.account_id__ds_partitioned__extract_doy AS account_id__ds_partitioned__extract_doy
+ , subq_12.account_id__ds__day AS account_id__ds__day
+ , subq_12.account_id__ds__week AS account_id__ds__week
+ , subq_12.account_id__ds__month AS account_id__ds__month
+ , subq_12.account_id__ds__quarter AS account_id__ds__quarter
+ , subq_12.account_id__ds__year AS account_id__ds__year
+ , subq_12.account_id__ds__extract_year AS account_id__ds__extract_year
+ , subq_12.account_id__ds__extract_quarter AS account_id__ds__extract_quarter
+ , subq_12.account_id__ds__extract_month AS account_id__ds__extract_month
+ , subq_12.account_id__ds__extract_day AS account_id__ds__extract_day
+ , subq_12.account_id__ds__extract_dow AS account_id__ds__extract_dow
+ , subq_12.account_id__ds__extract_doy AS account_id__ds__extract_doy
+ , subq_12.metric_time__day AS metric_time__day
+ , subq_12.metric_time__week AS metric_time__week
+ , subq_12.metric_time__month AS metric_time__month
+ , subq_12.metric_time__quarter AS metric_time__quarter
+ , subq_12.metric_time__year AS metric_time__year
+ , subq_12.metric_time__extract_year AS metric_time__extract_year
+ , subq_12.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_12.metric_time__extract_month AS metric_time__extract_month
+ , subq_12.metric_time__extract_day AS metric_time__extract_day
+ , subq_12.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_12.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_12.account_id AS account_id
+ , subq_12.account_month AS account_month
+ , subq_12.account_id__account_month AS account_id__account_month
+ , subq_12.txn_count AS txn_count
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.account_id__ds_partitioned__day
- , subq_2.account_id__ds_partitioned__week
- , subq_2.account_id__ds_partitioned__month
- , subq_2.account_id__ds_partitioned__quarter
- , subq_2.account_id__ds_partitioned__year
- , subq_2.account_id__ds_partitioned__extract_year
- , subq_2.account_id__ds_partitioned__extract_quarter
- , subq_2.account_id__ds_partitioned__extract_month
- , subq_2.account_id__ds_partitioned__extract_day
- , subq_2.account_id__ds_partitioned__extract_dow
- , subq_2.account_id__ds_partitioned__extract_doy
- , subq_2.account_id__ds__day
- , subq_2.account_id__ds__week
- , subq_2.account_id__ds__month
- , subq_2.account_id__ds__quarter
- , subq_2.account_id__ds__year
- , subq_2.account_id__ds__extract_year
- , subq_2.account_id__ds__extract_quarter
- , subq_2.account_id__ds__extract_month
- , subq_2.account_id__ds__extract_day
- , subq_2.account_id__ds__extract_dow
- , subq_2.account_id__ds__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.account_id
- , subq_2.account_month
- , subq_2.account_id__account_month
- , subq_2.txn_count
+ subq_11.ds_partitioned__day
+ , subq_11.ds_partitioned__week
+ , subq_11.ds_partitioned__month
+ , subq_11.ds_partitioned__quarter
+ , subq_11.ds_partitioned__year
+ , subq_11.ds_partitioned__extract_year
+ , subq_11.ds_partitioned__extract_quarter
+ , subq_11.ds_partitioned__extract_month
+ , subq_11.ds_partitioned__extract_day
+ , subq_11.ds_partitioned__extract_dow
+ , subq_11.ds_partitioned__extract_doy
+ , subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.account_id__ds_partitioned__day
+ , subq_11.account_id__ds_partitioned__week
+ , subq_11.account_id__ds_partitioned__month
+ , subq_11.account_id__ds_partitioned__quarter
+ , subq_11.account_id__ds_partitioned__year
+ , subq_11.account_id__ds_partitioned__extract_year
+ , subq_11.account_id__ds_partitioned__extract_quarter
+ , subq_11.account_id__ds_partitioned__extract_month
+ , subq_11.account_id__ds_partitioned__extract_day
+ , subq_11.account_id__ds_partitioned__extract_dow
+ , subq_11.account_id__ds_partitioned__extract_doy
+ , subq_11.account_id__ds__day
+ , subq_11.account_id__ds__week
+ , subq_11.account_id__ds__month
+ , subq_11.account_id__ds__quarter
+ , subq_11.account_id__ds__year
+ , subq_11.account_id__ds__extract_year
+ , subq_11.account_id__ds__extract_quarter
+ , subq_11.account_id__ds__extract_month
+ , subq_11.account_id__ds__extract_day
+ , subq_11.account_id__ds__extract_dow
+ , subq_11.account_id__ds__extract_doy
+ , subq_11.ds__day AS metric_time__day
+ , subq_11.ds__week AS metric_time__week
+ , subq_11.ds__month AS metric_time__month
+ , subq_11.ds__quarter AS metric_time__quarter
+ , subq_11.ds__year AS metric_time__year
+ , subq_11.ds__extract_year AS metric_time__extract_year
+ , subq_11.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_11.ds__extract_month AS metric_time__extract_month
+ , subq_11.ds__extract_day AS metric_time__extract_day
+ , subq_11.ds__extract_dow AS metric_time__extract_dow
+ , subq_11.ds__extract_doy AS metric_time__extract_doy
+ , subq_11.account_id
+ , subq_11.account_month
+ , subq_11.account_id__account_month
+ , subq_11.txn_count
FROM (
-- Read Elements From Semantic Model 'account_month_txns'
SELECT
@@ -369,163 +369,163 @@ FROM (
, account_month_txns_src_22000.account_month AS account_id__account_month
, account_month_txns_src_22000.account_id
FROM ***************************.account_month_txns account_month_txns_src_22000
- ) subq_2
- ) subq_3
+ ) subq_11
+ ) subq_12
LEFT OUTER JOIN (
-- Pass Only Elements: ['ds_partitioned__day', 'account_id', 'customer_id__customer_third_hop_id']
SELECT
- subq_9.ds_partitioned__day
- , subq_9.account_id
- , subq_9.customer_id__customer_third_hop_id
+ subq_18.ds_partitioned__day
+ , subq_18.account_id
+ , subq_18.customer_id__customer_third_hop_id
FROM (
-- Join Standard Outputs
SELECT
- subq_8.country AS customer_id__country
- , subq_8.customer_third_hop_id__country AS customer_id__customer_third_hop_id__country
- , subq_8.acquired_ds__day AS customer_id__acquired_ds__day
- , subq_8.acquired_ds__week AS customer_id__acquired_ds__week
- , subq_8.acquired_ds__month AS customer_id__acquired_ds__month
- , subq_8.acquired_ds__quarter AS customer_id__acquired_ds__quarter
- , subq_8.acquired_ds__year AS customer_id__acquired_ds__year
- , subq_8.acquired_ds__extract_year AS customer_id__acquired_ds__extract_year
- , subq_8.acquired_ds__extract_quarter AS customer_id__acquired_ds__extract_quarter
- , subq_8.acquired_ds__extract_month AS customer_id__acquired_ds__extract_month
- , subq_8.acquired_ds__extract_day AS customer_id__acquired_ds__extract_day
- , subq_8.acquired_ds__extract_dow AS customer_id__acquired_ds__extract_dow
- , subq_8.acquired_ds__extract_doy AS customer_id__acquired_ds__extract_doy
- , subq_8.customer_third_hop_id__acquired_ds__day AS customer_id__customer_third_hop_id__acquired_ds__day
- , subq_8.customer_third_hop_id__acquired_ds__week AS customer_id__customer_third_hop_id__acquired_ds__week
- , subq_8.customer_third_hop_id__acquired_ds__month AS customer_id__customer_third_hop_id__acquired_ds__month
- , subq_8.customer_third_hop_id__acquired_ds__quarter AS customer_id__customer_third_hop_id__acquired_ds__quarter
- , subq_8.customer_third_hop_id__acquired_ds__year AS customer_id__customer_third_hop_id__acquired_ds__year
- , subq_8.customer_third_hop_id__acquired_ds__extract_year AS customer_id__customer_third_hop_id__acquired_ds__extract_year
- , subq_8.customer_third_hop_id__acquired_ds__extract_quarter AS customer_id__customer_third_hop_id__acquired_ds__extract_quarter
- , subq_8.customer_third_hop_id__acquired_ds__extract_month AS customer_id__customer_third_hop_id__acquired_ds__extract_month
- , subq_8.customer_third_hop_id__acquired_ds__extract_day AS customer_id__customer_third_hop_id__acquired_ds__extract_day
- , subq_8.customer_third_hop_id__acquired_ds__extract_dow AS customer_id__customer_third_hop_id__acquired_ds__extract_dow
- , subq_8.customer_third_hop_id__acquired_ds__extract_doy AS customer_id__customer_third_hop_id__acquired_ds__extract_doy
- , subq_8.metric_time__day AS customer_id__metric_time__day
- , subq_8.metric_time__week AS customer_id__metric_time__week
- , subq_8.metric_time__month AS customer_id__metric_time__month
- , subq_8.metric_time__quarter AS customer_id__metric_time__quarter
- , subq_8.metric_time__year AS customer_id__metric_time__year
- , subq_8.metric_time__extract_year AS customer_id__metric_time__extract_year
- , subq_8.metric_time__extract_quarter AS customer_id__metric_time__extract_quarter
- , subq_8.metric_time__extract_month AS customer_id__metric_time__extract_month
- , subq_8.metric_time__extract_day AS customer_id__metric_time__extract_day
- , subq_8.metric_time__extract_dow AS customer_id__metric_time__extract_dow
- , subq_8.metric_time__extract_doy AS customer_id__metric_time__extract_doy
- , subq_8.customer_third_hop_id AS customer_id__customer_third_hop_id
- , subq_8.customer_third_hop_id__customer_id AS customer_id__customer_third_hop_id__customer_id
- , subq_5.ds_partitioned__day AS ds_partitioned__day
- , subq_5.ds_partitioned__week AS ds_partitioned__week
- , subq_5.ds_partitioned__month AS ds_partitioned__month
- , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_5.ds_partitioned__year AS ds_partitioned__year
- , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_5.account_id__ds_partitioned__day AS account_id__ds_partitioned__day
- , subq_5.account_id__ds_partitioned__week AS account_id__ds_partitioned__week
- , subq_5.account_id__ds_partitioned__month AS account_id__ds_partitioned__month
- , subq_5.account_id__ds_partitioned__quarter AS account_id__ds_partitioned__quarter
- , subq_5.account_id__ds_partitioned__year AS account_id__ds_partitioned__year
- , subq_5.account_id__ds_partitioned__extract_year AS account_id__ds_partitioned__extract_year
- , subq_5.account_id__ds_partitioned__extract_quarter AS account_id__ds_partitioned__extract_quarter
- , subq_5.account_id__ds_partitioned__extract_month AS account_id__ds_partitioned__extract_month
- , subq_5.account_id__ds_partitioned__extract_day AS account_id__ds_partitioned__extract_day
- , subq_5.account_id__ds_partitioned__extract_dow AS account_id__ds_partitioned__extract_dow
- , subq_5.account_id__ds_partitioned__extract_doy AS account_id__ds_partitioned__extract_doy
- , subq_5.bridge_account__ds_partitioned__day AS bridge_account__ds_partitioned__day
- , subq_5.bridge_account__ds_partitioned__week AS bridge_account__ds_partitioned__week
- , subq_5.bridge_account__ds_partitioned__month AS bridge_account__ds_partitioned__month
- , subq_5.bridge_account__ds_partitioned__quarter AS bridge_account__ds_partitioned__quarter
- , subq_5.bridge_account__ds_partitioned__year AS bridge_account__ds_partitioned__year
- , subq_5.bridge_account__ds_partitioned__extract_year AS bridge_account__ds_partitioned__extract_year
- , subq_5.bridge_account__ds_partitioned__extract_quarter AS bridge_account__ds_partitioned__extract_quarter
- , subq_5.bridge_account__ds_partitioned__extract_month AS bridge_account__ds_partitioned__extract_month
- , subq_5.bridge_account__ds_partitioned__extract_day AS bridge_account__ds_partitioned__extract_day
- , subq_5.bridge_account__ds_partitioned__extract_dow AS bridge_account__ds_partitioned__extract_dow
- , subq_5.bridge_account__ds_partitioned__extract_doy AS bridge_account__ds_partitioned__extract_doy
- , subq_5.metric_time__day AS metric_time__day
- , subq_5.metric_time__week AS metric_time__week
- , subq_5.metric_time__month AS metric_time__month
- , subq_5.metric_time__quarter AS metric_time__quarter
- , subq_5.metric_time__year AS metric_time__year
- , subq_5.metric_time__extract_year AS metric_time__extract_year
- , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_5.metric_time__extract_month AS metric_time__extract_month
- , subq_5.metric_time__extract_day AS metric_time__extract_day
- , subq_5.metric_time__extract_dow AS metric_time__extract_dow
- , subq_5.metric_time__extract_doy AS metric_time__extract_doy
- , subq_5.account_id AS account_id
- , subq_5.customer_id AS customer_id
- , subq_5.account_id__customer_id AS account_id__customer_id
- , subq_5.bridge_account__account_id AS bridge_account__account_id
- , subq_5.bridge_account__customer_id AS bridge_account__customer_id
- , subq_5.extra_dim AS extra_dim
- , subq_5.account_id__extra_dim AS account_id__extra_dim
- , subq_5.bridge_account__extra_dim AS bridge_account__extra_dim
- , subq_5.account_customer_combos AS account_customer_combos
+ subq_17.country AS customer_id__country
+ , subq_17.customer_third_hop_id__country AS customer_id__customer_third_hop_id__country
+ , subq_17.acquired_ds__day AS customer_id__acquired_ds__day
+ , subq_17.acquired_ds__week AS customer_id__acquired_ds__week
+ , subq_17.acquired_ds__month AS customer_id__acquired_ds__month
+ , subq_17.acquired_ds__quarter AS customer_id__acquired_ds__quarter
+ , subq_17.acquired_ds__year AS customer_id__acquired_ds__year
+ , subq_17.acquired_ds__extract_year AS customer_id__acquired_ds__extract_year
+ , subq_17.acquired_ds__extract_quarter AS customer_id__acquired_ds__extract_quarter
+ , subq_17.acquired_ds__extract_month AS customer_id__acquired_ds__extract_month
+ , subq_17.acquired_ds__extract_day AS customer_id__acquired_ds__extract_day
+ , subq_17.acquired_ds__extract_dow AS customer_id__acquired_ds__extract_dow
+ , subq_17.acquired_ds__extract_doy AS customer_id__acquired_ds__extract_doy
+ , subq_17.customer_third_hop_id__acquired_ds__day AS customer_id__customer_third_hop_id__acquired_ds__day
+ , subq_17.customer_third_hop_id__acquired_ds__week AS customer_id__customer_third_hop_id__acquired_ds__week
+ , subq_17.customer_third_hop_id__acquired_ds__month AS customer_id__customer_third_hop_id__acquired_ds__month
+ , subq_17.customer_third_hop_id__acquired_ds__quarter AS customer_id__customer_third_hop_id__acquired_ds__quarter
+ , subq_17.customer_third_hop_id__acquired_ds__year AS customer_id__customer_third_hop_id__acquired_ds__year
+ , subq_17.customer_third_hop_id__acquired_ds__extract_year AS customer_id__customer_third_hop_id__acquired_ds__extract_year
+ , subq_17.customer_third_hop_id__acquired_ds__extract_quarter AS customer_id__customer_third_hop_id__acquired_ds__extract_quarter
+ , subq_17.customer_third_hop_id__acquired_ds__extract_month AS customer_id__customer_third_hop_id__acquired_ds__extract_month
+ , subq_17.customer_third_hop_id__acquired_ds__extract_day AS customer_id__customer_third_hop_id__acquired_ds__extract_day
+ , subq_17.customer_third_hop_id__acquired_ds__extract_dow AS customer_id__customer_third_hop_id__acquired_ds__extract_dow
+ , subq_17.customer_third_hop_id__acquired_ds__extract_doy AS customer_id__customer_third_hop_id__acquired_ds__extract_doy
+ , subq_17.metric_time__day AS customer_id__metric_time__day
+ , subq_17.metric_time__week AS customer_id__metric_time__week
+ , subq_17.metric_time__month AS customer_id__metric_time__month
+ , subq_17.metric_time__quarter AS customer_id__metric_time__quarter
+ , subq_17.metric_time__year AS customer_id__metric_time__year
+ , subq_17.metric_time__extract_year AS customer_id__metric_time__extract_year
+ , subq_17.metric_time__extract_quarter AS customer_id__metric_time__extract_quarter
+ , subq_17.metric_time__extract_month AS customer_id__metric_time__extract_month
+ , subq_17.metric_time__extract_day AS customer_id__metric_time__extract_day
+ , subq_17.metric_time__extract_dow AS customer_id__metric_time__extract_dow
+ , subq_17.metric_time__extract_doy AS customer_id__metric_time__extract_doy
+ , subq_17.customer_third_hop_id AS customer_id__customer_third_hop_id
+ , subq_17.customer_third_hop_id__customer_id AS customer_id__customer_third_hop_id__customer_id
+ , subq_14.ds_partitioned__day AS ds_partitioned__day
+ , subq_14.ds_partitioned__week AS ds_partitioned__week
+ , subq_14.ds_partitioned__month AS ds_partitioned__month
+ , subq_14.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_14.ds_partitioned__year AS ds_partitioned__year
+ , subq_14.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_14.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_14.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_14.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_14.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_14.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_14.account_id__ds_partitioned__day AS account_id__ds_partitioned__day
+ , subq_14.account_id__ds_partitioned__week AS account_id__ds_partitioned__week
+ , subq_14.account_id__ds_partitioned__month AS account_id__ds_partitioned__month
+ , subq_14.account_id__ds_partitioned__quarter AS account_id__ds_partitioned__quarter
+ , subq_14.account_id__ds_partitioned__year AS account_id__ds_partitioned__year
+ , subq_14.account_id__ds_partitioned__extract_year AS account_id__ds_partitioned__extract_year
+ , subq_14.account_id__ds_partitioned__extract_quarter AS account_id__ds_partitioned__extract_quarter
+ , subq_14.account_id__ds_partitioned__extract_month AS account_id__ds_partitioned__extract_month
+ , subq_14.account_id__ds_partitioned__extract_day AS account_id__ds_partitioned__extract_day
+ , subq_14.account_id__ds_partitioned__extract_dow AS account_id__ds_partitioned__extract_dow
+ , subq_14.account_id__ds_partitioned__extract_doy AS account_id__ds_partitioned__extract_doy
+ , subq_14.bridge_account__ds_partitioned__day AS bridge_account__ds_partitioned__day
+ , subq_14.bridge_account__ds_partitioned__week AS bridge_account__ds_partitioned__week
+ , subq_14.bridge_account__ds_partitioned__month AS bridge_account__ds_partitioned__month
+ , subq_14.bridge_account__ds_partitioned__quarter AS bridge_account__ds_partitioned__quarter
+ , subq_14.bridge_account__ds_partitioned__year AS bridge_account__ds_partitioned__year
+ , subq_14.bridge_account__ds_partitioned__extract_year AS bridge_account__ds_partitioned__extract_year
+ , subq_14.bridge_account__ds_partitioned__extract_quarter AS bridge_account__ds_partitioned__extract_quarter
+ , subq_14.bridge_account__ds_partitioned__extract_month AS bridge_account__ds_partitioned__extract_month
+ , subq_14.bridge_account__ds_partitioned__extract_day AS bridge_account__ds_partitioned__extract_day
+ , subq_14.bridge_account__ds_partitioned__extract_dow AS bridge_account__ds_partitioned__extract_dow
+ , subq_14.bridge_account__ds_partitioned__extract_doy AS bridge_account__ds_partitioned__extract_doy
+ , subq_14.metric_time__day AS metric_time__day
+ , subq_14.metric_time__week AS metric_time__week
+ , subq_14.metric_time__month AS metric_time__month
+ , subq_14.metric_time__quarter AS metric_time__quarter
+ , subq_14.metric_time__year AS metric_time__year
+ , subq_14.metric_time__extract_year AS metric_time__extract_year
+ , subq_14.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_14.metric_time__extract_month AS metric_time__extract_month
+ , subq_14.metric_time__extract_day AS metric_time__extract_day
+ , subq_14.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_14.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_14.account_id AS account_id
+ , subq_14.customer_id AS customer_id
+ , subq_14.account_id__customer_id AS account_id__customer_id
+ , subq_14.bridge_account__account_id AS bridge_account__account_id
+ , subq_14.bridge_account__customer_id AS bridge_account__customer_id
+ , subq_14.extra_dim AS extra_dim
+ , subq_14.account_id__extra_dim AS account_id__extra_dim
+ , subq_14.bridge_account__extra_dim AS bridge_account__extra_dim
+ , subq_14.account_customer_combos AS account_customer_combos
FROM (
-- Metric Time Dimension 'ds_partitioned'
SELECT
- subq_4.ds_partitioned__day
- , subq_4.ds_partitioned__week
- , subq_4.ds_partitioned__month
- , subq_4.ds_partitioned__quarter
- , subq_4.ds_partitioned__year
- , subq_4.ds_partitioned__extract_year
- , subq_4.ds_partitioned__extract_quarter
- , subq_4.ds_partitioned__extract_month
- , subq_4.ds_partitioned__extract_day
- , subq_4.ds_partitioned__extract_dow
- , subq_4.ds_partitioned__extract_doy
- , subq_4.account_id__ds_partitioned__day
- , subq_4.account_id__ds_partitioned__week
- , subq_4.account_id__ds_partitioned__month
- , subq_4.account_id__ds_partitioned__quarter
- , subq_4.account_id__ds_partitioned__year
- , subq_4.account_id__ds_partitioned__extract_year
- , subq_4.account_id__ds_partitioned__extract_quarter
- , subq_4.account_id__ds_partitioned__extract_month
- , subq_4.account_id__ds_partitioned__extract_day
- , subq_4.account_id__ds_partitioned__extract_dow
- , subq_4.account_id__ds_partitioned__extract_doy
- , subq_4.bridge_account__ds_partitioned__day
- , subq_4.bridge_account__ds_partitioned__week
- , subq_4.bridge_account__ds_partitioned__month
- , subq_4.bridge_account__ds_partitioned__quarter
- , subq_4.bridge_account__ds_partitioned__year
- , subq_4.bridge_account__ds_partitioned__extract_year
- , subq_4.bridge_account__ds_partitioned__extract_quarter
- , subq_4.bridge_account__ds_partitioned__extract_month
- , subq_4.bridge_account__ds_partitioned__extract_day
- , subq_4.bridge_account__ds_partitioned__extract_dow
- , subq_4.bridge_account__ds_partitioned__extract_doy
- , subq_4.ds_partitioned__day AS metric_time__day
- , subq_4.ds_partitioned__week AS metric_time__week
- , subq_4.ds_partitioned__month AS metric_time__month
- , subq_4.ds_partitioned__quarter AS metric_time__quarter
- , subq_4.ds_partitioned__year AS metric_time__year
- , subq_4.ds_partitioned__extract_year AS metric_time__extract_year
- , subq_4.ds_partitioned__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds_partitioned__extract_month AS metric_time__extract_month
- , subq_4.ds_partitioned__extract_day AS metric_time__extract_day
- , subq_4.ds_partitioned__extract_dow AS metric_time__extract_dow
- , subq_4.ds_partitioned__extract_doy AS metric_time__extract_doy
- , subq_4.account_id
- , subq_4.customer_id
- , subq_4.account_id__customer_id
- , subq_4.bridge_account__account_id
- , subq_4.bridge_account__customer_id
- , subq_4.extra_dim
- , subq_4.account_id__extra_dim
- , subq_4.bridge_account__extra_dim
- , subq_4.account_customer_combos
+ subq_13.ds_partitioned__day
+ , subq_13.ds_partitioned__week
+ , subq_13.ds_partitioned__month
+ , subq_13.ds_partitioned__quarter
+ , subq_13.ds_partitioned__year
+ , subq_13.ds_partitioned__extract_year
+ , subq_13.ds_partitioned__extract_quarter
+ , subq_13.ds_partitioned__extract_month
+ , subq_13.ds_partitioned__extract_day
+ , subq_13.ds_partitioned__extract_dow
+ , subq_13.ds_partitioned__extract_doy
+ , subq_13.account_id__ds_partitioned__day
+ , subq_13.account_id__ds_partitioned__week
+ , subq_13.account_id__ds_partitioned__month
+ , subq_13.account_id__ds_partitioned__quarter
+ , subq_13.account_id__ds_partitioned__year
+ , subq_13.account_id__ds_partitioned__extract_year
+ , subq_13.account_id__ds_partitioned__extract_quarter
+ , subq_13.account_id__ds_partitioned__extract_month
+ , subq_13.account_id__ds_partitioned__extract_day
+ , subq_13.account_id__ds_partitioned__extract_dow
+ , subq_13.account_id__ds_partitioned__extract_doy
+ , subq_13.bridge_account__ds_partitioned__day
+ , subq_13.bridge_account__ds_partitioned__week
+ , subq_13.bridge_account__ds_partitioned__month
+ , subq_13.bridge_account__ds_partitioned__quarter
+ , subq_13.bridge_account__ds_partitioned__year
+ , subq_13.bridge_account__ds_partitioned__extract_year
+ , subq_13.bridge_account__ds_partitioned__extract_quarter
+ , subq_13.bridge_account__ds_partitioned__extract_month
+ , subq_13.bridge_account__ds_partitioned__extract_day
+ , subq_13.bridge_account__ds_partitioned__extract_dow
+ , subq_13.bridge_account__ds_partitioned__extract_doy
+ , subq_13.ds_partitioned__day AS metric_time__day
+ , subq_13.ds_partitioned__week AS metric_time__week
+ , subq_13.ds_partitioned__month AS metric_time__month
+ , subq_13.ds_partitioned__quarter AS metric_time__quarter
+ , subq_13.ds_partitioned__year AS metric_time__year
+ , subq_13.ds_partitioned__extract_year AS metric_time__extract_year
+ , subq_13.ds_partitioned__extract_quarter AS metric_time__extract_quarter
+ , subq_13.ds_partitioned__extract_month AS metric_time__extract_month
+ , subq_13.ds_partitioned__extract_day AS metric_time__extract_day
+ , subq_13.ds_partitioned__extract_dow AS metric_time__extract_dow
+ , subq_13.ds_partitioned__extract_doy AS metric_time__extract_doy
+ , subq_13.account_id
+ , subq_13.customer_id
+ , subq_13.account_id__customer_id
+ , subq_13.bridge_account__account_id
+ , subq_13.bridge_account__customer_id
+ , subq_13.extra_dim
+ , subq_13.account_id__extra_dim
+ , subq_13.bridge_account__extra_dim
+ , subq_13.account_customer_combos
FROM (
-- Read Elements From Semantic Model 'bridge_table'
SELECT
@@ -572,8 +572,8 @@ FROM (
, bridge_table_src_22000.account_id AS bridge_account__account_id
, bridge_table_src_22000.customer_id AS bridge_account__customer_id
FROM ***************************.bridge_table bridge_table_src_22000
- ) subq_4
- ) subq_5
+ ) subq_13
+ ) subq_14
LEFT OUTER JOIN (
-- Pass Only Elements: [
-- 'country',
@@ -629,112 +629,112 @@ FROM (
-- 'customer_third_hop_id__customer_id',
-- ]
SELECT
- subq_7.acquired_ds__day
- , subq_7.acquired_ds__week
- , subq_7.acquired_ds__month
- , subq_7.acquired_ds__quarter
- , subq_7.acquired_ds__year
- , subq_7.acquired_ds__extract_year
- , subq_7.acquired_ds__extract_quarter
- , subq_7.acquired_ds__extract_month
- , subq_7.acquired_ds__extract_day
- , subq_7.acquired_ds__extract_dow
- , subq_7.acquired_ds__extract_doy
- , subq_7.customer_id__acquired_ds__day
- , subq_7.customer_id__acquired_ds__week
- , subq_7.customer_id__acquired_ds__month
- , subq_7.customer_id__acquired_ds__quarter
- , subq_7.customer_id__acquired_ds__year
- , subq_7.customer_id__acquired_ds__extract_year
- , subq_7.customer_id__acquired_ds__extract_quarter
- , subq_7.customer_id__acquired_ds__extract_month
- , subq_7.customer_id__acquired_ds__extract_day
- , subq_7.customer_id__acquired_ds__extract_dow
- , subq_7.customer_id__acquired_ds__extract_doy
- , subq_7.customer_third_hop_id__acquired_ds__day
- , subq_7.customer_third_hop_id__acquired_ds__week
- , subq_7.customer_third_hop_id__acquired_ds__month
- , subq_7.customer_third_hop_id__acquired_ds__quarter
- , subq_7.customer_third_hop_id__acquired_ds__year
- , subq_7.customer_third_hop_id__acquired_ds__extract_year
- , subq_7.customer_third_hop_id__acquired_ds__extract_quarter
- , subq_7.customer_third_hop_id__acquired_ds__extract_month
- , subq_7.customer_third_hop_id__acquired_ds__extract_day
- , subq_7.customer_third_hop_id__acquired_ds__extract_dow
- , subq_7.customer_third_hop_id__acquired_ds__extract_doy
- , subq_7.metric_time__day
- , subq_7.metric_time__week
- , subq_7.metric_time__month
- , subq_7.metric_time__quarter
- , subq_7.metric_time__year
- , subq_7.metric_time__extract_year
- , subq_7.metric_time__extract_quarter
- , subq_7.metric_time__extract_month
- , subq_7.metric_time__extract_day
- , subq_7.metric_time__extract_dow
- , subq_7.metric_time__extract_doy
- , subq_7.customer_id
- , subq_7.customer_third_hop_id
- , subq_7.customer_id__customer_third_hop_id
- , subq_7.customer_third_hop_id__customer_id
- , subq_7.country
- , subq_7.customer_id__country
- , subq_7.customer_third_hop_id__country
+ subq_16.acquired_ds__day
+ , subq_16.acquired_ds__week
+ , subq_16.acquired_ds__month
+ , subq_16.acquired_ds__quarter
+ , subq_16.acquired_ds__year
+ , subq_16.acquired_ds__extract_year
+ , subq_16.acquired_ds__extract_quarter
+ , subq_16.acquired_ds__extract_month
+ , subq_16.acquired_ds__extract_day
+ , subq_16.acquired_ds__extract_dow
+ , subq_16.acquired_ds__extract_doy
+ , subq_16.customer_id__acquired_ds__day
+ , subq_16.customer_id__acquired_ds__week
+ , subq_16.customer_id__acquired_ds__month
+ , subq_16.customer_id__acquired_ds__quarter
+ , subq_16.customer_id__acquired_ds__year
+ , subq_16.customer_id__acquired_ds__extract_year
+ , subq_16.customer_id__acquired_ds__extract_quarter
+ , subq_16.customer_id__acquired_ds__extract_month
+ , subq_16.customer_id__acquired_ds__extract_day
+ , subq_16.customer_id__acquired_ds__extract_dow
+ , subq_16.customer_id__acquired_ds__extract_doy
+ , subq_16.customer_third_hop_id__acquired_ds__day
+ , subq_16.customer_third_hop_id__acquired_ds__week
+ , subq_16.customer_third_hop_id__acquired_ds__month
+ , subq_16.customer_third_hop_id__acquired_ds__quarter
+ , subq_16.customer_third_hop_id__acquired_ds__year
+ , subq_16.customer_third_hop_id__acquired_ds__extract_year
+ , subq_16.customer_third_hop_id__acquired_ds__extract_quarter
+ , subq_16.customer_third_hop_id__acquired_ds__extract_month
+ , subq_16.customer_third_hop_id__acquired_ds__extract_day
+ , subq_16.customer_third_hop_id__acquired_ds__extract_dow
+ , subq_16.customer_third_hop_id__acquired_ds__extract_doy
+ , subq_16.metric_time__day
+ , subq_16.metric_time__week
+ , subq_16.metric_time__month
+ , subq_16.metric_time__quarter
+ , subq_16.metric_time__year
+ , subq_16.metric_time__extract_year
+ , subq_16.metric_time__extract_quarter
+ , subq_16.metric_time__extract_month
+ , subq_16.metric_time__extract_day
+ , subq_16.metric_time__extract_dow
+ , subq_16.metric_time__extract_doy
+ , subq_16.customer_id
+ , subq_16.customer_third_hop_id
+ , subq_16.customer_id__customer_third_hop_id
+ , subq_16.customer_third_hop_id__customer_id
+ , subq_16.country
+ , subq_16.customer_id__country
+ , subq_16.customer_third_hop_id__country
FROM (
-- Metric Time Dimension 'acquired_ds'
SELECT
- subq_6.acquired_ds__day
- , subq_6.acquired_ds__week
- , subq_6.acquired_ds__month
- , subq_6.acquired_ds__quarter
- , subq_6.acquired_ds__year
- , subq_6.acquired_ds__extract_year
- , subq_6.acquired_ds__extract_quarter
- , subq_6.acquired_ds__extract_month
- , subq_6.acquired_ds__extract_day
- , subq_6.acquired_ds__extract_dow
- , subq_6.acquired_ds__extract_doy
- , subq_6.customer_id__acquired_ds__day
- , subq_6.customer_id__acquired_ds__week
- , subq_6.customer_id__acquired_ds__month
- , subq_6.customer_id__acquired_ds__quarter
- , subq_6.customer_id__acquired_ds__year
- , subq_6.customer_id__acquired_ds__extract_year
- , subq_6.customer_id__acquired_ds__extract_quarter
- , subq_6.customer_id__acquired_ds__extract_month
- , subq_6.customer_id__acquired_ds__extract_day
- , subq_6.customer_id__acquired_ds__extract_dow
- , subq_6.customer_id__acquired_ds__extract_doy
- , subq_6.customer_third_hop_id__acquired_ds__day
- , subq_6.customer_third_hop_id__acquired_ds__week
- , subq_6.customer_third_hop_id__acquired_ds__month
- , subq_6.customer_third_hop_id__acquired_ds__quarter
- , subq_6.customer_third_hop_id__acquired_ds__year
- , subq_6.customer_third_hop_id__acquired_ds__extract_year
- , subq_6.customer_third_hop_id__acquired_ds__extract_quarter
- , subq_6.customer_third_hop_id__acquired_ds__extract_month
- , subq_6.customer_third_hop_id__acquired_ds__extract_day
- , subq_6.customer_third_hop_id__acquired_ds__extract_dow
- , subq_6.customer_third_hop_id__acquired_ds__extract_doy
- , subq_6.acquired_ds__day AS metric_time__day
- , subq_6.acquired_ds__week AS metric_time__week
- , subq_6.acquired_ds__month AS metric_time__month
- , subq_6.acquired_ds__quarter AS metric_time__quarter
- , subq_6.acquired_ds__year AS metric_time__year
- , subq_6.acquired_ds__extract_year AS metric_time__extract_year
- , subq_6.acquired_ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.acquired_ds__extract_month AS metric_time__extract_month
- , subq_6.acquired_ds__extract_day AS metric_time__extract_day
- , subq_6.acquired_ds__extract_dow AS metric_time__extract_dow
- , subq_6.acquired_ds__extract_doy AS metric_time__extract_doy
- , subq_6.customer_id
- , subq_6.customer_third_hop_id
- , subq_6.customer_id__customer_third_hop_id
- , subq_6.customer_third_hop_id__customer_id
- , subq_6.country
- , subq_6.customer_id__country
- , subq_6.customer_third_hop_id__country
- , subq_6.customers_with_other_data
+ subq_15.acquired_ds__day
+ , subq_15.acquired_ds__week
+ , subq_15.acquired_ds__month
+ , subq_15.acquired_ds__quarter
+ , subq_15.acquired_ds__year
+ , subq_15.acquired_ds__extract_year
+ , subq_15.acquired_ds__extract_quarter
+ , subq_15.acquired_ds__extract_month
+ , subq_15.acquired_ds__extract_day
+ , subq_15.acquired_ds__extract_dow
+ , subq_15.acquired_ds__extract_doy
+ , subq_15.customer_id__acquired_ds__day
+ , subq_15.customer_id__acquired_ds__week
+ , subq_15.customer_id__acquired_ds__month
+ , subq_15.customer_id__acquired_ds__quarter
+ , subq_15.customer_id__acquired_ds__year
+ , subq_15.customer_id__acquired_ds__extract_year
+ , subq_15.customer_id__acquired_ds__extract_quarter
+ , subq_15.customer_id__acquired_ds__extract_month
+ , subq_15.customer_id__acquired_ds__extract_day
+ , subq_15.customer_id__acquired_ds__extract_dow
+ , subq_15.customer_id__acquired_ds__extract_doy
+ , subq_15.customer_third_hop_id__acquired_ds__day
+ , subq_15.customer_third_hop_id__acquired_ds__week
+ , subq_15.customer_third_hop_id__acquired_ds__month
+ , subq_15.customer_third_hop_id__acquired_ds__quarter
+ , subq_15.customer_third_hop_id__acquired_ds__year
+ , subq_15.customer_third_hop_id__acquired_ds__extract_year
+ , subq_15.customer_third_hop_id__acquired_ds__extract_quarter
+ , subq_15.customer_third_hop_id__acquired_ds__extract_month
+ , subq_15.customer_third_hop_id__acquired_ds__extract_day
+ , subq_15.customer_third_hop_id__acquired_ds__extract_dow
+ , subq_15.customer_third_hop_id__acquired_ds__extract_doy
+ , subq_15.acquired_ds__day AS metric_time__day
+ , subq_15.acquired_ds__week AS metric_time__week
+ , subq_15.acquired_ds__month AS metric_time__month
+ , subq_15.acquired_ds__quarter AS metric_time__quarter
+ , subq_15.acquired_ds__year AS metric_time__year
+ , subq_15.acquired_ds__extract_year AS metric_time__extract_year
+ , subq_15.acquired_ds__extract_quarter AS metric_time__extract_quarter
+ , subq_15.acquired_ds__extract_month AS metric_time__extract_month
+ , subq_15.acquired_ds__extract_day AS metric_time__extract_day
+ , subq_15.acquired_ds__extract_dow AS metric_time__extract_dow
+ , subq_15.acquired_ds__extract_doy AS metric_time__extract_doy
+ , subq_15.customer_id
+ , subq_15.customer_third_hop_id
+ , subq_15.customer_id__customer_third_hop_id
+ , subq_15.customer_third_hop_id__customer_id
+ , subq_15.country
+ , subq_15.customer_id__country
+ , subq_15.customer_third_hop_id__country
+ , subq_15.customers_with_other_data
FROM (
-- Read Elements From Semantic Model 'customer_other_data'
SELECT
@@ -780,30 +780,30 @@ FROM (
, customer_other_data_src_22000.customer_third_hop_id AS customer_id__customer_third_hop_id
, customer_other_data_src_22000.customer_id AS customer_third_hop_id__customer_id
FROM ***************************.customer_other_data customer_other_data_src_22000
- ) subq_6
- ) subq_7
- ) subq_8
+ ) subq_15
+ ) subq_16
+ ) subq_17
ON
- subq_5.customer_id = subq_8.customer_id
- ) subq_9
- ) subq_10
+ subq_14.customer_id = subq_17.customer_id
+ ) subq_18
+ ) subq_19
ON
(
- subq_3.account_id = subq_10.account_id
+ subq_12.account_id = subq_19.account_id
) AND (
- subq_3.ds_partitioned__day = subq_10.ds_partitioned__day
+ subq_12.ds_partitioned__day = subq_19.ds_partitioned__day
)
- ) subq_11
- ) subq_12
+ ) subq_20
+ ) subq_21
GROUP BY
- subq_12.account_id__customer_id__customer_third_hop_id
- ) subq_13
- ) subq_14
- ) subq_15
+ subq_21.account_id__customer_id__customer_third_hop_id
+ ) subq_22
+ ) subq_23
+ ) subq_24
ON
- subq_1.customer_third_hop_id = subq_15.account_id__customer_id__customer_third_hop_id
- ) subq_16
+ subq_10.customer_third_hop_id = subq_24.account_id__customer_id__customer_third_hop_id
+ ) subq_25
WHERE customer_third_hop_id__account_id__customer_id__customer_third_hop_id__txn_count > 2
- ) subq_17
- ) subq_18
-) subq_19
+ ) subq_26
+ ) subq_27
+) subq_28
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_multi_hop__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_multi_hop__plan0_optimized.sql
index df66df82d3..22a3f51d25 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_multi_hop__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_multi_hop__plan0_optimized.sql
@@ -13,7 +13,7 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_35.account_id__customer_id__customer_third_hop_id__txn_count AS customer_third_hop_id__account_id__customer_id__customer_third_hop_id__txn_count
+ subq_44.account_id__customer_id__customer_third_hop_id__txn_count AS customer_third_hop_id__account_id__customer_id__customer_third_hop_id__txn_count
, third_hop_table_src_22000.customer_third_hop_id AS third_hop_count
FROM ***************************.third_hop_table third_hop_table_src_22000
LEFT OUTER JOIN (
@@ -23,7 +23,7 @@ FROM (
-- Compute Metrics via Expressions
-- Pass Only Elements: ['account_id__customer_id__customer_third_hop_id', 'account_id__customer_id__customer_third_hop_id__txn_count']
SELECT
- subq_30.customer_id__customer_third_hop_id AS account_id__customer_id__customer_third_hop_id
+ subq_39.customer_id__customer_third_hop_id AS account_id__customer_id__customer_third_hop_id
, SUM(account_month_txns_src_22000.txn_count) AS account_id__customer_id__customer_third_hop_id__txn_count
FROM ***************************.account_month_txns account_month_txns_src_22000
LEFT OUTER JOIN (
@@ -38,17 +38,17 @@ FROM (
***************************.customer_other_data customer_other_data_src_22000
ON
bridge_table_src_22000.customer_id = customer_other_data_src_22000.customer_id
- ) subq_30
+ ) subq_39
ON
(
- account_month_txns_src_22000.account_id = subq_30.account_id
+ account_month_txns_src_22000.account_id = subq_39.account_id
) AND (
- DATE_TRUNC('day', account_month_txns_src_22000.ds_partitioned) = subq_30.ds_partitioned__day
+ DATE_TRUNC('day', account_month_txns_src_22000.ds_partitioned) = subq_39.ds_partitioned__day
)
GROUP BY
- subq_30.customer_id__customer_third_hop_id
- ) subq_35
+ subq_39.customer_id__customer_third_hop_id
+ ) subq_44
ON
- third_hop_table_src_22000.customer_third_hop_id = subq_35.account_id__customer_id__customer_third_hop_id
-) subq_36
+ third_hop_table_src_22000.customer_third_hop_id = subq_44.account_id__customer_id__customer_third_hop_id
+) subq_45
WHERE customer_third_hop_id__account_id__customer_id__customer_third_hop_id__txn_count > 2
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_single_hop__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_single_hop__plan0.sql
index 3a87a7de47..dda0dc49bc 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_single_hop__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_single_hop__plan0.sql
@@ -6,139 +6,139 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_12.third_hop_count
+ subq_16.third_hop_count
FROM (
-- Aggregate Measures
SELECT
- COUNT(DISTINCT subq_11.third_hop_count) AS third_hop_count
+ COUNT(DISTINCT subq_15.third_hop_count) AS third_hop_count
FROM (
-- Pass Only Elements: ['third_hop_count',]
SELECT
- subq_10.third_hop_count
+ subq_14.third_hop_count
FROM (
-- Constrain Output with WHERE
SELECT
- subq_9.third_hop_ds__day
- , subq_9.third_hop_ds__week
- , subq_9.third_hop_ds__month
- , subq_9.third_hop_ds__quarter
- , subq_9.third_hop_ds__year
- , subq_9.third_hop_ds__extract_year
- , subq_9.third_hop_ds__extract_quarter
- , subq_9.third_hop_ds__extract_month
- , subq_9.third_hop_ds__extract_day
- , subq_9.third_hop_ds__extract_dow
- , subq_9.third_hop_ds__extract_doy
- , subq_9.customer_third_hop_id__third_hop_ds__day
- , subq_9.customer_third_hop_id__third_hop_ds__week
- , subq_9.customer_third_hop_id__third_hop_ds__month
- , subq_9.customer_third_hop_id__third_hop_ds__quarter
- , subq_9.customer_third_hop_id__third_hop_ds__year
- , subq_9.customer_third_hop_id__third_hop_ds__extract_year
- , subq_9.customer_third_hop_id__third_hop_ds__extract_quarter
- , subq_9.customer_third_hop_id__third_hop_ds__extract_month
- , subq_9.customer_third_hop_id__third_hop_ds__extract_day
- , subq_9.customer_third_hop_id__third_hop_ds__extract_dow
- , subq_9.customer_third_hop_id__third_hop_ds__extract_doy
- , subq_9.metric_time__day
- , subq_9.metric_time__week
- , subq_9.metric_time__month
- , subq_9.metric_time__quarter
- , subq_9.metric_time__year
- , subq_9.metric_time__extract_year
- , subq_9.metric_time__extract_quarter
- , subq_9.metric_time__extract_month
- , subq_9.metric_time__extract_day
- , subq_9.metric_time__extract_dow
- , subq_9.metric_time__extract_doy
- , subq_9.customer_third_hop_id
- , subq_9.customer_third_hop_id__customer_id__customer_third_hop_id
- , subq_9.value
- , subq_9.customer_third_hop_id__value
- , subq_9.customer_third_hop_id__customer_id__customer_third_hop_id__paraguayan_customers
- , subq_9.third_hop_count
+ subq_13.third_hop_ds__day
+ , subq_13.third_hop_ds__week
+ , subq_13.third_hop_ds__month
+ , subq_13.third_hop_ds__quarter
+ , subq_13.third_hop_ds__year
+ , subq_13.third_hop_ds__extract_year
+ , subq_13.third_hop_ds__extract_quarter
+ , subq_13.third_hop_ds__extract_month
+ , subq_13.third_hop_ds__extract_day
+ , subq_13.third_hop_ds__extract_dow
+ , subq_13.third_hop_ds__extract_doy
+ , subq_13.customer_third_hop_id__third_hop_ds__day
+ , subq_13.customer_third_hop_id__third_hop_ds__week
+ , subq_13.customer_third_hop_id__third_hop_ds__month
+ , subq_13.customer_third_hop_id__third_hop_ds__quarter
+ , subq_13.customer_third_hop_id__third_hop_ds__year
+ , subq_13.customer_third_hop_id__third_hop_ds__extract_year
+ , subq_13.customer_third_hop_id__third_hop_ds__extract_quarter
+ , subq_13.customer_third_hop_id__third_hop_ds__extract_month
+ , subq_13.customer_third_hop_id__third_hop_ds__extract_day
+ , subq_13.customer_third_hop_id__third_hop_ds__extract_dow
+ , subq_13.customer_third_hop_id__third_hop_ds__extract_doy
+ , subq_13.metric_time__day
+ , subq_13.metric_time__week
+ , subq_13.metric_time__month
+ , subq_13.metric_time__quarter
+ , subq_13.metric_time__year
+ , subq_13.metric_time__extract_year
+ , subq_13.metric_time__extract_quarter
+ , subq_13.metric_time__extract_month
+ , subq_13.metric_time__extract_day
+ , subq_13.metric_time__extract_dow
+ , subq_13.metric_time__extract_doy
+ , subq_13.customer_third_hop_id
+ , subq_13.customer_third_hop_id__customer_id__customer_third_hop_id
+ , subq_13.value
+ , subq_13.customer_third_hop_id__value
+ , subq_13.customer_third_hop_id__customer_id__customer_third_hop_id__paraguayan_customers
+ , subq_13.third_hop_count
FROM (
-- Join Standard Outputs
SELECT
- subq_8.customer_id__customer_third_hop_id AS customer_third_hop_id__customer_id__customer_third_hop_id
- , subq_8.customer_id__customer_third_hop_id__paraguayan_customers AS customer_third_hop_id__customer_id__customer_third_hop_id__paraguayan_customers
- , subq_1.third_hop_ds__day AS third_hop_ds__day
- , subq_1.third_hop_ds__week AS third_hop_ds__week
- , subq_1.third_hop_ds__month AS third_hop_ds__month
- , subq_1.third_hop_ds__quarter AS third_hop_ds__quarter
- , subq_1.third_hop_ds__year AS third_hop_ds__year
- , subq_1.third_hop_ds__extract_year AS third_hop_ds__extract_year
- , subq_1.third_hop_ds__extract_quarter AS third_hop_ds__extract_quarter
- , subq_1.third_hop_ds__extract_month AS third_hop_ds__extract_month
- , subq_1.third_hop_ds__extract_day AS third_hop_ds__extract_day
- , subq_1.third_hop_ds__extract_dow AS third_hop_ds__extract_dow
- , subq_1.third_hop_ds__extract_doy AS third_hop_ds__extract_doy
- , subq_1.customer_third_hop_id__third_hop_ds__day AS customer_third_hop_id__third_hop_ds__day
- , subq_1.customer_third_hop_id__third_hop_ds__week AS customer_third_hop_id__third_hop_ds__week
- , subq_1.customer_third_hop_id__third_hop_ds__month AS customer_third_hop_id__third_hop_ds__month
- , subq_1.customer_third_hop_id__third_hop_ds__quarter AS customer_third_hop_id__third_hop_ds__quarter
- , subq_1.customer_third_hop_id__third_hop_ds__year AS customer_third_hop_id__third_hop_ds__year
- , subq_1.customer_third_hop_id__third_hop_ds__extract_year AS customer_third_hop_id__third_hop_ds__extract_year
- , subq_1.customer_third_hop_id__third_hop_ds__extract_quarter AS customer_third_hop_id__third_hop_ds__extract_quarter
- , subq_1.customer_third_hop_id__third_hop_ds__extract_month AS customer_third_hop_id__third_hop_ds__extract_month
- , subq_1.customer_third_hop_id__third_hop_ds__extract_day AS customer_third_hop_id__third_hop_ds__extract_day
- , subq_1.customer_third_hop_id__third_hop_ds__extract_dow AS customer_third_hop_id__third_hop_ds__extract_dow
- , subq_1.customer_third_hop_id__third_hop_ds__extract_doy AS customer_third_hop_id__third_hop_ds__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.customer_third_hop_id AS customer_third_hop_id
- , subq_1.value AS value
- , subq_1.customer_third_hop_id__value AS customer_third_hop_id__value
- , subq_1.third_hop_count AS third_hop_count
+ subq_12.customer_id__customer_third_hop_id AS customer_third_hop_id__customer_id__customer_third_hop_id
+ , subq_12.customer_id__customer_third_hop_id__paraguayan_customers AS customer_third_hop_id__customer_id__customer_third_hop_id__paraguayan_customers
+ , subq_5.third_hop_ds__day AS third_hop_ds__day
+ , subq_5.third_hop_ds__week AS third_hop_ds__week
+ , subq_5.third_hop_ds__month AS third_hop_ds__month
+ , subq_5.third_hop_ds__quarter AS third_hop_ds__quarter
+ , subq_5.third_hop_ds__year AS third_hop_ds__year
+ , subq_5.third_hop_ds__extract_year AS third_hop_ds__extract_year
+ , subq_5.third_hop_ds__extract_quarter AS third_hop_ds__extract_quarter
+ , subq_5.third_hop_ds__extract_month AS third_hop_ds__extract_month
+ , subq_5.third_hop_ds__extract_day AS third_hop_ds__extract_day
+ , subq_5.third_hop_ds__extract_dow AS third_hop_ds__extract_dow
+ , subq_5.third_hop_ds__extract_doy AS third_hop_ds__extract_doy
+ , subq_5.customer_third_hop_id__third_hop_ds__day AS customer_third_hop_id__third_hop_ds__day
+ , subq_5.customer_third_hop_id__third_hop_ds__week AS customer_third_hop_id__third_hop_ds__week
+ , subq_5.customer_third_hop_id__third_hop_ds__month AS customer_third_hop_id__third_hop_ds__month
+ , subq_5.customer_third_hop_id__third_hop_ds__quarter AS customer_third_hop_id__third_hop_ds__quarter
+ , subq_5.customer_third_hop_id__third_hop_ds__year AS customer_third_hop_id__third_hop_ds__year
+ , subq_5.customer_third_hop_id__third_hop_ds__extract_year AS customer_third_hop_id__third_hop_ds__extract_year
+ , subq_5.customer_third_hop_id__third_hop_ds__extract_quarter AS customer_third_hop_id__third_hop_ds__extract_quarter
+ , subq_5.customer_third_hop_id__third_hop_ds__extract_month AS customer_third_hop_id__third_hop_ds__extract_month
+ , subq_5.customer_third_hop_id__third_hop_ds__extract_day AS customer_third_hop_id__third_hop_ds__extract_day
+ , subq_5.customer_third_hop_id__third_hop_ds__extract_dow AS customer_third_hop_id__third_hop_ds__extract_dow
+ , subq_5.customer_third_hop_id__third_hop_ds__extract_doy AS customer_third_hop_id__third_hop_ds__extract_doy
+ , subq_5.metric_time__day AS metric_time__day
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.customer_third_hop_id AS customer_third_hop_id
+ , subq_5.value AS value
+ , subq_5.customer_third_hop_id__value AS customer_third_hop_id__value
+ , subq_5.third_hop_count AS third_hop_count
FROM (
-- Metric Time Dimension 'third_hop_ds'
SELECT
- subq_0.third_hop_ds__day
- , subq_0.third_hop_ds__week
- , subq_0.third_hop_ds__month
- , subq_0.third_hop_ds__quarter
- , subq_0.third_hop_ds__year
- , subq_0.third_hop_ds__extract_year
- , subq_0.third_hop_ds__extract_quarter
- , subq_0.third_hop_ds__extract_month
- , subq_0.third_hop_ds__extract_day
- , subq_0.third_hop_ds__extract_dow
- , subq_0.third_hop_ds__extract_doy
- , subq_0.customer_third_hop_id__third_hop_ds__day
- , subq_0.customer_third_hop_id__third_hop_ds__week
- , subq_0.customer_third_hop_id__third_hop_ds__month
- , subq_0.customer_third_hop_id__third_hop_ds__quarter
- , subq_0.customer_third_hop_id__third_hop_ds__year
- , subq_0.customer_third_hop_id__third_hop_ds__extract_year
- , subq_0.customer_third_hop_id__third_hop_ds__extract_quarter
- , subq_0.customer_third_hop_id__third_hop_ds__extract_month
- , subq_0.customer_third_hop_id__third_hop_ds__extract_day
- , subq_0.customer_third_hop_id__third_hop_ds__extract_dow
- , subq_0.customer_third_hop_id__third_hop_ds__extract_doy
- , subq_0.third_hop_ds__day AS metric_time__day
- , subq_0.third_hop_ds__week AS metric_time__week
- , subq_0.third_hop_ds__month AS metric_time__month
- , subq_0.third_hop_ds__quarter AS metric_time__quarter
- , subq_0.third_hop_ds__year AS metric_time__year
- , subq_0.third_hop_ds__extract_year AS metric_time__extract_year
- , subq_0.third_hop_ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.third_hop_ds__extract_month AS metric_time__extract_month
- , subq_0.third_hop_ds__extract_day AS metric_time__extract_day
- , subq_0.third_hop_ds__extract_dow AS metric_time__extract_dow
- , subq_0.third_hop_ds__extract_doy AS metric_time__extract_doy
- , subq_0.customer_third_hop_id
- , subq_0.value
- , subq_0.customer_third_hop_id__value
- , subq_0.third_hop_count
+ subq_4.third_hop_ds__day
+ , subq_4.third_hop_ds__week
+ , subq_4.third_hop_ds__month
+ , subq_4.third_hop_ds__quarter
+ , subq_4.third_hop_ds__year
+ , subq_4.third_hop_ds__extract_year
+ , subq_4.third_hop_ds__extract_quarter
+ , subq_4.third_hop_ds__extract_month
+ , subq_4.third_hop_ds__extract_day
+ , subq_4.third_hop_ds__extract_dow
+ , subq_4.third_hop_ds__extract_doy
+ , subq_4.customer_third_hop_id__third_hop_ds__day
+ , subq_4.customer_third_hop_id__third_hop_ds__week
+ , subq_4.customer_third_hop_id__third_hop_ds__month
+ , subq_4.customer_third_hop_id__third_hop_ds__quarter
+ , subq_4.customer_third_hop_id__third_hop_ds__year
+ , subq_4.customer_third_hop_id__third_hop_ds__extract_year
+ , subq_4.customer_third_hop_id__third_hop_ds__extract_quarter
+ , subq_4.customer_third_hop_id__third_hop_ds__extract_month
+ , subq_4.customer_third_hop_id__third_hop_ds__extract_day
+ , subq_4.customer_third_hop_id__third_hop_ds__extract_dow
+ , subq_4.customer_third_hop_id__third_hop_ds__extract_doy
+ , subq_4.third_hop_ds__day AS metric_time__day
+ , subq_4.third_hop_ds__week AS metric_time__week
+ , subq_4.third_hop_ds__month AS metric_time__month
+ , subq_4.third_hop_ds__quarter AS metric_time__quarter
+ , subq_4.third_hop_ds__year AS metric_time__year
+ , subq_4.third_hop_ds__extract_year AS metric_time__extract_year
+ , subq_4.third_hop_ds__extract_quarter AS metric_time__extract_quarter
+ , subq_4.third_hop_ds__extract_month AS metric_time__extract_month
+ , subq_4.third_hop_ds__extract_day AS metric_time__extract_day
+ , subq_4.third_hop_ds__extract_dow AS metric_time__extract_dow
+ , subq_4.third_hop_ds__extract_doy AS metric_time__extract_doy
+ , subq_4.customer_third_hop_id
+ , subq_4.value
+ , subq_4.customer_third_hop_id__value
+ , subq_4.third_hop_count
FROM (
-- Read Elements From Semantic Model 'third_hop_table'
SELECT
@@ -169,138 +169,138 @@ FROM (
, EXTRACT(doy FROM third_hop_table_src_22000.third_hop_ds) AS customer_third_hop_id__third_hop_ds__extract_doy
, third_hop_table_src_22000.customer_third_hop_id
FROM ***************************.third_hop_table third_hop_table_src_22000
- ) subq_0
- ) subq_1
+ ) subq_4
+ ) subq_5
LEFT OUTER JOIN (
-- Pass Only Elements: ['customer_id__customer_third_hop_id', 'customer_id__customer_third_hop_id__paraguayan_customers']
SELECT
- subq_7.customer_id__customer_third_hop_id
- , subq_7.customer_id__customer_third_hop_id__paraguayan_customers
+ subq_11.customer_id__customer_third_hop_id
+ , subq_11.customer_id__customer_third_hop_id__paraguayan_customers
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_6.customer_id__customer_third_hop_id
- , subq_6.customers_with_other_data AS customer_id__customer_third_hop_id__paraguayan_customers
+ subq_10.customer_id__customer_third_hop_id
+ , subq_10.customers_with_other_data AS customer_id__customer_third_hop_id__paraguayan_customers
FROM (
-- Aggregate Measures
SELECT
- subq_5.customer_id__customer_third_hop_id
- , SUM(subq_5.customers_with_other_data) AS customers_with_other_data
+ subq_9.customer_id__customer_third_hop_id
+ , SUM(subq_9.customers_with_other_data) AS customers_with_other_data
FROM (
-- Pass Only Elements: ['customers_with_other_data', 'customer_id__customer_third_hop_id']
SELECT
- subq_4.customer_id__customer_third_hop_id
- , subq_4.customers_with_other_data
+ subq_8.customer_id__customer_third_hop_id
+ , subq_8.customers_with_other_data
FROM (
-- Constrain Output with WHERE
SELECT
- subq_3.acquired_ds__day
- , subq_3.acquired_ds__week
- , subq_3.acquired_ds__month
- , subq_3.acquired_ds__quarter
- , subq_3.acquired_ds__year
- , subq_3.acquired_ds__extract_year
- , subq_3.acquired_ds__extract_quarter
- , subq_3.acquired_ds__extract_month
- , subq_3.acquired_ds__extract_day
- , subq_3.acquired_ds__extract_dow
- , subq_3.acquired_ds__extract_doy
- , subq_3.customer_id__acquired_ds__day
- , subq_3.customer_id__acquired_ds__week
- , subq_3.customer_id__acquired_ds__month
- , subq_3.customer_id__acquired_ds__quarter
- , subq_3.customer_id__acquired_ds__year
- , subq_3.customer_id__acquired_ds__extract_year
- , subq_3.customer_id__acquired_ds__extract_quarter
- , subq_3.customer_id__acquired_ds__extract_month
- , subq_3.customer_id__acquired_ds__extract_day
- , subq_3.customer_id__acquired_ds__extract_dow
- , subq_3.customer_id__acquired_ds__extract_doy
- , subq_3.customer_third_hop_id__acquired_ds__day
- , subq_3.customer_third_hop_id__acquired_ds__week
- , subq_3.customer_third_hop_id__acquired_ds__month
- , subq_3.customer_third_hop_id__acquired_ds__quarter
- , subq_3.customer_third_hop_id__acquired_ds__year
- , subq_3.customer_third_hop_id__acquired_ds__extract_year
- , subq_3.customer_third_hop_id__acquired_ds__extract_quarter
- , subq_3.customer_third_hop_id__acquired_ds__extract_month
- , subq_3.customer_third_hop_id__acquired_ds__extract_day
- , subq_3.customer_third_hop_id__acquired_ds__extract_dow
- , subq_3.customer_third_hop_id__acquired_ds__extract_doy
- , subq_3.metric_time__day
- , subq_3.metric_time__week
- , subq_3.metric_time__month
- , subq_3.metric_time__quarter
- , subq_3.metric_time__year
- , subq_3.metric_time__extract_year
- , subq_3.metric_time__extract_quarter
- , subq_3.metric_time__extract_month
- , subq_3.metric_time__extract_day
- , subq_3.metric_time__extract_dow
- , subq_3.metric_time__extract_doy
- , subq_3.customer_id
- , subq_3.customer_third_hop_id
- , subq_3.customer_id__customer_third_hop_id
- , subq_3.customer_third_hop_id__customer_id
- , subq_3.country
- , subq_3.customer_id__country
- , subq_3.customer_third_hop_id__country
- , subq_3.customers_with_other_data
+ subq_7.acquired_ds__day
+ , subq_7.acquired_ds__week
+ , subq_7.acquired_ds__month
+ , subq_7.acquired_ds__quarter
+ , subq_7.acquired_ds__year
+ , subq_7.acquired_ds__extract_year
+ , subq_7.acquired_ds__extract_quarter
+ , subq_7.acquired_ds__extract_month
+ , subq_7.acquired_ds__extract_day
+ , subq_7.acquired_ds__extract_dow
+ , subq_7.acquired_ds__extract_doy
+ , subq_7.customer_id__acquired_ds__day
+ , subq_7.customer_id__acquired_ds__week
+ , subq_7.customer_id__acquired_ds__month
+ , subq_7.customer_id__acquired_ds__quarter
+ , subq_7.customer_id__acquired_ds__year
+ , subq_7.customer_id__acquired_ds__extract_year
+ , subq_7.customer_id__acquired_ds__extract_quarter
+ , subq_7.customer_id__acquired_ds__extract_month
+ , subq_7.customer_id__acquired_ds__extract_day
+ , subq_7.customer_id__acquired_ds__extract_dow
+ , subq_7.customer_id__acquired_ds__extract_doy
+ , subq_7.customer_third_hop_id__acquired_ds__day
+ , subq_7.customer_third_hop_id__acquired_ds__week
+ , subq_7.customer_third_hop_id__acquired_ds__month
+ , subq_7.customer_third_hop_id__acquired_ds__quarter
+ , subq_7.customer_third_hop_id__acquired_ds__year
+ , subq_7.customer_third_hop_id__acquired_ds__extract_year
+ , subq_7.customer_third_hop_id__acquired_ds__extract_quarter
+ , subq_7.customer_third_hop_id__acquired_ds__extract_month
+ , subq_7.customer_third_hop_id__acquired_ds__extract_day
+ , subq_7.customer_third_hop_id__acquired_ds__extract_dow
+ , subq_7.customer_third_hop_id__acquired_ds__extract_doy
+ , subq_7.metric_time__day
+ , subq_7.metric_time__week
+ , subq_7.metric_time__month
+ , subq_7.metric_time__quarter
+ , subq_7.metric_time__year
+ , subq_7.metric_time__extract_year
+ , subq_7.metric_time__extract_quarter
+ , subq_7.metric_time__extract_month
+ , subq_7.metric_time__extract_day
+ , subq_7.metric_time__extract_dow
+ , subq_7.metric_time__extract_doy
+ , subq_7.customer_id
+ , subq_7.customer_third_hop_id
+ , subq_7.customer_id__customer_third_hop_id
+ , subq_7.customer_third_hop_id__customer_id
+ , subq_7.country
+ , subq_7.customer_id__country
+ , subq_7.customer_third_hop_id__country
+ , subq_7.customers_with_other_data
FROM (
-- Metric Time Dimension 'acquired_ds'
SELECT
- subq_2.acquired_ds__day
- , subq_2.acquired_ds__week
- , subq_2.acquired_ds__month
- , subq_2.acquired_ds__quarter
- , subq_2.acquired_ds__year
- , subq_2.acquired_ds__extract_year
- , subq_2.acquired_ds__extract_quarter
- , subq_2.acquired_ds__extract_month
- , subq_2.acquired_ds__extract_day
- , subq_2.acquired_ds__extract_dow
- , subq_2.acquired_ds__extract_doy
- , subq_2.customer_id__acquired_ds__day
- , subq_2.customer_id__acquired_ds__week
- , subq_2.customer_id__acquired_ds__month
- , subq_2.customer_id__acquired_ds__quarter
- , subq_2.customer_id__acquired_ds__year
- , subq_2.customer_id__acquired_ds__extract_year
- , subq_2.customer_id__acquired_ds__extract_quarter
- , subq_2.customer_id__acquired_ds__extract_month
- , subq_2.customer_id__acquired_ds__extract_day
- , subq_2.customer_id__acquired_ds__extract_dow
- , subq_2.customer_id__acquired_ds__extract_doy
- , subq_2.customer_third_hop_id__acquired_ds__day
- , subq_2.customer_third_hop_id__acquired_ds__week
- , subq_2.customer_third_hop_id__acquired_ds__month
- , subq_2.customer_third_hop_id__acquired_ds__quarter
- , subq_2.customer_third_hop_id__acquired_ds__year
- , subq_2.customer_third_hop_id__acquired_ds__extract_year
- , subq_2.customer_third_hop_id__acquired_ds__extract_quarter
- , subq_2.customer_third_hop_id__acquired_ds__extract_month
- , subq_2.customer_third_hop_id__acquired_ds__extract_day
- , subq_2.customer_third_hop_id__acquired_ds__extract_dow
- , subq_2.customer_third_hop_id__acquired_ds__extract_doy
- , subq_2.acquired_ds__day AS metric_time__day
- , subq_2.acquired_ds__week AS metric_time__week
- , subq_2.acquired_ds__month AS metric_time__month
- , subq_2.acquired_ds__quarter AS metric_time__quarter
- , subq_2.acquired_ds__year AS metric_time__year
- , subq_2.acquired_ds__extract_year AS metric_time__extract_year
- , subq_2.acquired_ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.acquired_ds__extract_month AS metric_time__extract_month
- , subq_2.acquired_ds__extract_day AS metric_time__extract_day
- , subq_2.acquired_ds__extract_dow AS metric_time__extract_dow
- , subq_2.acquired_ds__extract_doy AS metric_time__extract_doy
- , subq_2.customer_id
- , subq_2.customer_third_hop_id
- , subq_2.customer_id__customer_third_hop_id
- , subq_2.customer_third_hop_id__customer_id
- , subq_2.country
- , subq_2.customer_id__country
- , subq_2.customer_third_hop_id__country
- , subq_2.customers_with_other_data
+ subq_6.acquired_ds__day
+ , subq_6.acquired_ds__week
+ , subq_6.acquired_ds__month
+ , subq_6.acquired_ds__quarter
+ , subq_6.acquired_ds__year
+ , subq_6.acquired_ds__extract_year
+ , subq_6.acquired_ds__extract_quarter
+ , subq_6.acquired_ds__extract_month
+ , subq_6.acquired_ds__extract_day
+ , subq_6.acquired_ds__extract_dow
+ , subq_6.acquired_ds__extract_doy
+ , subq_6.customer_id__acquired_ds__day
+ , subq_6.customer_id__acquired_ds__week
+ , subq_6.customer_id__acquired_ds__month
+ , subq_6.customer_id__acquired_ds__quarter
+ , subq_6.customer_id__acquired_ds__year
+ , subq_6.customer_id__acquired_ds__extract_year
+ , subq_6.customer_id__acquired_ds__extract_quarter
+ , subq_6.customer_id__acquired_ds__extract_month
+ , subq_6.customer_id__acquired_ds__extract_day
+ , subq_6.customer_id__acquired_ds__extract_dow
+ , subq_6.customer_id__acquired_ds__extract_doy
+ , subq_6.customer_third_hop_id__acquired_ds__day
+ , subq_6.customer_third_hop_id__acquired_ds__week
+ , subq_6.customer_third_hop_id__acquired_ds__month
+ , subq_6.customer_third_hop_id__acquired_ds__quarter
+ , subq_6.customer_third_hop_id__acquired_ds__year
+ , subq_6.customer_third_hop_id__acquired_ds__extract_year
+ , subq_6.customer_third_hop_id__acquired_ds__extract_quarter
+ , subq_6.customer_third_hop_id__acquired_ds__extract_month
+ , subq_6.customer_third_hop_id__acquired_ds__extract_day
+ , subq_6.customer_third_hop_id__acquired_ds__extract_dow
+ , subq_6.customer_third_hop_id__acquired_ds__extract_doy
+ , subq_6.acquired_ds__day AS metric_time__day
+ , subq_6.acquired_ds__week AS metric_time__week
+ , subq_6.acquired_ds__month AS metric_time__month
+ , subq_6.acquired_ds__quarter AS metric_time__quarter
+ , subq_6.acquired_ds__year AS metric_time__year
+ , subq_6.acquired_ds__extract_year AS metric_time__extract_year
+ , subq_6.acquired_ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.acquired_ds__extract_month AS metric_time__extract_month
+ , subq_6.acquired_ds__extract_day AS metric_time__extract_day
+ , subq_6.acquired_ds__extract_dow AS metric_time__extract_dow
+ , subq_6.acquired_ds__extract_doy AS metric_time__extract_doy
+ , subq_6.customer_id
+ , subq_6.customer_third_hop_id
+ , subq_6.customer_id__customer_third_hop_id
+ , subq_6.customer_third_hop_id__customer_id
+ , subq_6.country
+ , subq_6.customer_id__country
+ , subq_6.customer_third_hop_id__country
+ , subq_6.customers_with_other_data
FROM (
-- Read Elements From Semantic Model 'customer_other_data'
SELECT
@@ -346,20 +346,20 @@ FROM (
, customer_other_data_src_22000.customer_third_hop_id AS customer_id__customer_third_hop_id
, customer_other_data_src_22000.customer_id AS customer_third_hop_id__customer_id
FROM ***************************.customer_other_data customer_other_data_src_22000
- ) subq_2
- ) subq_3
+ ) subq_6
+ ) subq_7
WHERE customer_id__country = 'paraguay'
- ) subq_4
- ) subq_5
+ ) subq_8
+ ) subq_9
GROUP BY
- subq_5.customer_id__customer_third_hop_id
- ) subq_6
- ) subq_7
- ) subq_8
+ subq_9.customer_id__customer_third_hop_id
+ ) subq_10
+ ) subq_11
+ ) subq_12
ON
- subq_1.customer_third_hop_id = subq_8.customer_id__customer_third_hop_id
- ) subq_9
+ subq_5.customer_third_hop_id = subq_12.customer_id__customer_third_hop_id
+ ) subq_13
WHERE customer_third_hop_id__customer_id__customer_third_hop_id__paraguayan_customers > 0
- ) subq_10
- ) subq_11
-) subq_12
+ ) subq_14
+ ) subq_15
+) subq_16
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_single_hop__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_single_hop__plan0_optimized.sql
index a0ea887e54..bb57d9ca49 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_single_hop__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_inner_query_single_hop__plan0_optimized.sql
@@ -13,7 +13,7 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_21.customer_id__customer_third_hop_id__paraguayan_customers AS customer_third_hop_id__customer_id__customer_third_hop_id__paraguayan_customers
+ subq_25.customer_id__customer_third_hop_id__paraguayan_customers AS customer_third_hop_id__customer_id__customer_third_hop_id__paraguayan_customers
, third_hop_table_src_22000.customer_third_hop_id AS third_hop_count
FROM ***************************.third_hop_table third_hop_table_src_22000
LEFT OUTER JOIN (
@@ -33,12 +33,12 @@ FROM (
, country AS customer_id__country
, 1 AS customers_with_other_data
FROM ***************************.customer_other_data customer_other_data_src_22000
- ) subq_16
+ ) subq_20
WHERE customer_id__country = 'paraguay'
GROUP BY
customer_id__customer_third_hop_id
- ) subq_21
+ ) subq_25
ON
- third_hop_table_src_22000.customer_third_hop_id = subq_21.customer_id__customer_third_hop_id
-) subq_22
+ third_hop_table_src_22000.customer_third_hop_id = subq_25.customer_id__customer_third_hop_id
+) subq_26
WHERE customer_third_hop_id__customer_id__customer_third_hop_id__paraguayan_customers > 0
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_filtered_by_itself__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_filtered_by_itself__plan0.sql
index ac7e82f126..86043661f4 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_filtered_by_itself__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_filtered_by_itself__plan0.sql
@@ -6,320 +6,320 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.bookers
+ subq_13.bookers
FROM (
-- Aggregate Measures
SELECT
- COUNT(DISTINCT subq_10.bookers) AS bookers
+ COUNT(DISTINCT subq_12.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers',]
SELECT
- subq_9.bookers
+ subq_11.bookers
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_partitioned__day
- , subq_8.ds_partitioned__week
- , subq_8.ds_partitioned__month
- , subq_8.ds_partitioned__quarter
- , subq_8.ds_partitioned__year
- , subq_8.ds_partitioned__extract_year
- , subq_8.ds_partitioned__extract_quarter
- , subq_8.ds_partitioned__extract_month
- , subq_8.ds_partitioned__extract_day
- , subq_8.ds_partitioned__extract_dow
- , subq_8.ds_partitioned__extract_doy
- , subq_8.paid_at__day
- , subq_8.paid_at__week
- , subq_8.paid_at__month
- , subq_8.paid_at__quarter
- , subq_8.paid_at__year
- , subq_8.paid_at__extract_year
- , subq_8.paid_at__extract_quarter
- , subq_8.paid_at__extract_month
- , subq_8.paid_at__extract_day
- , subq_8.paid_at__extract_dow
- , subq_8.paid_at__extract_doy
- , subq_8.booking__ds__day
- , subq_8.booking__ds__week
- , subq_8.booking__ds__month
- , subq_8.booking__ds__quarter
- , subq_8.booking__ds__year
- , subq_8.booking__ds__extract_year
- , subq_8.booking__ds__extract_quarter
- , subq_8.booking__ds__extract_month
- , subq_8.booking__ds__extract_day
- , subq_8.booking__ds__extract_dow
- , subq_8.booking__ds__extract_doy
- , subq_8.booking__ds_partitioned__day
- , subq_8.booking__ds_partitioned__week
- , subq_8.booking__ds_partitioned__month
- , subq_8.booking__ds_partitioned__quarter
- , subq_8.booking__ds_partitioned__year
- , subq_8.booking__ds_partitioned__extract_year
- , subq_8.booking__ds_partitioned__extract_quarter
- , subq_8.booking__ds_partitioned__extract_month
- , subq_8.booking__ds_partitioned__extract_day
- , subq_8.booking__ds_partitioned__extract_dow
- , subq_8.booking__ds_partitioned__extract_doy
- , subq_8.booking__paid_at__day
- , subq_8.booking__paid_at__week
- , subq_8.booking__paid_at__month
- , subq_8.booking__paid_at__quarter
- , subq_8.booking__paid_at__year
- , subq_8.booking__paid_at__extract_year
- , subq_8.booking__paid_at__extract_quarter
- , subq_8.booking__paid_at__extract_month
- , subq_8.booking__paid_at__extract_day
- , subq_8.booking__paid_at__extract_dow
- , subq_8.booking__paid_at__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.listing
- , subq_8.guest
- , subq_8.host
- , subq_8.booking__listing
- , subq_8.booking__guest
- , subq_8.booking__host
- , subq_8.is_instant
- , subq_8.booking__is_instant
- , subq_8.listing__bookers
- , subq_8.bookings
- , subq_8.instant_bookings
- , subq_8.booking_value
- , subq_8.max_booking_value
- , subq_8.min_booking_value
- , subq_8.bookers
- , subq_8.average_booking_value
- , subq_8.referred_bookings
- , subq_8.median_booking_value
- , subq_8.booking_value_p99
- , subq_8.discrete_booking_value_p99
- , subq_8.approximate_continuous_booking_value_p99
- , subq_8.approximate_discrete_booking_value_p99
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_partitioned__day
+ , subq_10.ds_partitioned__week
+ , subq_10.ds_partitioned__month
+ , subq_10.ds_partitioned__quarter
+ , subq_10.ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy
+ , subq_10.paid_at__day
+ , subq_10.paid_at__week
+ , subq_10.paid_at__month
+ , subq_10.paid_at__quarter
+ , subq_10.paid_at__year
+ , subq_10.paid_at__extract_year
+ , subq_10.paid_at__extract_quarter
+ , subq_10.paid_at__extract_month
+ , subq_10.paid_at__extract_day
+ , subq_10.paid_at__extract_dow
+ , subq_10.paid_at__extract_doy
+ , subq_10.booking__ds__day
+ , subq_10.booking__ds__week
+ , subq_10.booking__ds__month
+ , subq_10.booking__ds__quarter
+ , subq_10.booking__ds__year
+ , subq_10.booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month
+ , subq_10.booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day
+ , subq_10.booking__paid_at__week
+ , subq_10.booking__paid_at__month
+ , subq_10.booking__paid_at__quarter
+ , subq_10.booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy
+ , subq_10.metric_time__day
+ , subq_10.metric_time__week
+ , subq_10.metric_time__month
+ , subq_10.metric_time__quarter
+ , subq_10.metric_time__year
+ , subq_10.metric_time__extract_year
+ , subq_10.metric_time__extract_quarter
+ , subq_10.metric_time__extract_month
+ , subq_10.metric_time__extract_day
+ , subq_10.metric_time__extract_dow
+ , subq_10.metric_time__extract_doy
+ , subq_10.listing
+ , subq_10.guest
+ , subq_10.host
+ , subq_10.booking__listing
+ , subq_10.booking__guest
+ , subq_10.booking__host
+ , subq_10.is_instant
+ , subq_10.booking__is_instant
+ , subq_10.listing__bookers
+ , subq_10.bookings
+ , subq_10.instant_bookings
+ , subq_10.booking_value
+ , subq_10.max_booking_value
+ , subq_10.min_booking_value
+ , subq_10.bookers
+ , subq_10.average_booking_value
+ , subq_10.referred_bookings
+ , subq_10.median_booking_value
+ , subq_10.booking_value_p99
+ , subq_10.discrete_booking_value_p99
+ , subq_10.approximate_continuous_booking_value_p99
+ , subq_10.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_7.listing__bookers AS listing__bookers
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.max_booking_value AS max_booking_value
- , subq_1.min_booking_value AS min_booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
- , subq_1.referred_bookings AS referred_bookings
- , subq_1.median_booking_value AS median_booking_value
- , subq_1.booking_value_p99 AS booking_value_p99
- , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_9.listing__bookers AS listing__bookers
+ , subq_4.ds__day AS ds__day
+ , subq_4.ds__week AS ds__week
+ , subq_4.ds__month AS ds__month
+ , subq_4.ds__quarter AS ds__quarter
+ , subq_4.ds__year AS ds__year
+ , subq_4.ds__extract_year AS ds__extract_year
+ , subq_4.ds__extract_quarter AS ds__extract_quarter
+ , subq_4.ds__extract_month AS ds__extract_month
+ , subq_4.ds__extract_day AS ds__extract_day
+ , subq_4.ds__extract_dow AS ds__extract_dow
+ , subq_4.ds__extract_doy AS ds__extract_doy
+ , subq_4.ds_partitioned__day AS ds_partitioned__day
+ , subq_4.ds_partitioned__week AS ds_partitioned__week
+ , subq_4.ds_partitioned__month AS ds_partitioned__month
+ , subq_4.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_4.ds_partitioned__year AS ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_4.paid_at__day AS paid_at__day
+ , subq_4.paid_at__week AS paid_at__week
+ , subq_4.paid_at__month AS paid_at__month
+ , subq_4.paid_at__quarter AS paid_at__quarter
+ , subq_4.paid_at__year AS paid_at__year
+ , subq_4.paid_at__extract_year AS paid_at__extract_year
+ , subq_4.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_4.paid_at__extract_month AS paid_at__extract_month
+ , subq_4.paid_at__extract_day AS paid_at__extract_day
+ , subq_4.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_4.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_4.booking__ds__day AS booking__ds__day
+ , subq_4.booking__ds__week AS booking__ds__week
+ , subq_4.booking__ds__month AS booking__ds__month
+ , subq_4.booking__ds__quarter AS booking__ds__quarter
+ , subq_4.booking__ds__year AS booking__ds__year
+ , subq_4.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_4.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day AS booking__paid_at__day
+ , subq_4.booking__paid_at__week AS booking__paid_at__week
+ , subq_4.booking__paid_at__month AS booking__paid_at__month
+ , subq_4.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_4.booking__paid_at__year AS booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_4.metric_time__day AS metric_time__day
+ , subq_4.metric_time__week AS metric_time__week
+ , subq_4.metric_time__month AS metric_time__month
+ , subq_4.metric_time__quarter AS metric_time__quarter
+ , subq_4.metric_time__year AS metric_time__year
+ , subq_4.metric_time__extract_year AS metric_time__extract_year
+ , subq_4.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_4.metric_time__extract_month AS metric_time__extract_month
+ , subq_4.metric_time__extract_day AS metric_time__extract_day
+ , subq_4.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_4.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_4.listing AS listing
+ , subq_4.guest AS guest
+ , subq_4.host AS host
+ , subq_4.booking__listing AS booking__listing
+ , subq_4.booking__guest AS booking__guest
+ , subq_4.booking__host AS booking__host
+ , subq_4.is_instant AS is_instant
+ , subq_4.booking__is_instant AS booking__is_instant
+ , subq_4.bookings AS bookings
+ , subq_4.instant_bookings AS instant_bookings
+ , subq_4.booking_value AS booking_value
+ , subq_4.max_booking_value AS max_booking_value
+ , subq_4.min_booking_value AS min_booking_value
+ , subq_4.bookers AS bookers
+ , subq_4.average_booking_value AS average_booking_value
+ , subq_4.referred_bookings AS referred_bookings
+ , subq_4.median_booking_value AS median_booking_value
+ , subq_4.booking_value_p99 AS booking_value_p99
+ , subq_4.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_4.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_4.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.max_booking_value
+ , subq_3.min_booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
+ , subq_3.referred_bookings
+ , subq_3.median_booking_value
+ , subq_3.booking_value_p99
+ , subq_3.discrete_booking_value_p99
+ , subq_3.approximate_continuous_booking_value_p99
+ , subq_3.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -412,129 +412,129 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
+ ) subq_3
+ ) subq_4
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__bookers']
SELECT
- subq_6.listing
- , subq_6.listing__bookers
+ subq_8.listing
+ , subq_8.listing__bookers
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.listing
- , subq_5.bookers AS listing__bookers
+ subq_7.listing
+ , subq_7.bookers AS listing__bookers
FROM (
-- Aggregate Measures
SELECT
- subq_4.listing
- , COUNT(DISTINCT subq_4.bookers) AS bookers
+ subq_6.listing
+ , COUNT(DISTINCT subq_6.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers', 'listing']
SELECT
- subq_3.listing
- , subq_3.bookers
+ subq_5.listing
+ , subq_5.bookers
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.max_booking_value
+ , subq_3.min_booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
+ , subq_3.referred_bookings
+ , subq_3.median_booking_value
+ , subq_3.booking_value_p99
+ , subq_3.discrete_booking_value_p99
+ , subq_3.approximate_continuous_booking_value_p99
+ , subq_3.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -627,18 +627,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_3
+ ) subq_5
+ ) subq_6
GROUP BY
- subq_4.listing
- ) subq_5
- ) subq_6
- ) subq_7
+ subq_6.listing
+ ) subq_7
+ ) subq_8
+ ) subq_9
ON
- subq_1.listing = subq_7.listing
- ) subq_8
+ subq_4.listing = subq_9.listing
+ ) subq_10
WHERE listing__bookers > 1.00
- ) subq_9
- ) subq_10
-) subq_11
+ ) subq_11
+ ) subq_12
+) subq_13
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_filtered_by_itself__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_filtered_by_itself__plan0_optimized.sql
index 00925b6d06..3f8b488e21 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_filtered_by_itself__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_filtered_by_itself__plan0_optimized.sql
@@ -22,15 +22,15 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_18.listing__bookers AS listing__bookers
- , subq_13.bookers AS bookers
+ subq_20.listing__bookers AS listing__bookers
+ , subq_15.bookers AS bookers
FROM (
-- Read From CTE For node_id=sma_28009
SELECT
listing
, bookers
FROM sma_28009_cte sma_28009_cte
- ) subq_13
+ ) subq_15
LEFT OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookers', 'listing']
@@ -43,8 +43,8 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
listing
- ) subq_18
+ ) subq_20
ON
- subq_13.listing = subq_18.listing
-) subq_19
+ subq_15.listing = subq_20.listing
+) subq_21
WHERE listing__bookers > 1.00
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_with_metric_in_where_filter__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_with_metric_in_where_filter__plan0.sql
index 635997908a..0f399d0c52 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_with_metric_in_where_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_with_metric_in_where_filter__plan0.sql
@@ -6,230 +6,230 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.metric_time__day
- , subq_11.listings AS active_listings
+ subq_14.metric_time__day
+ , subq_14.listings AS active_listings
FROM (
-- Aggregate Measures
SELECT
- subq_10.metric_time__day
- , SUM(subq_10.listings) AS listings
+ subq_13.metric_time__day
+ , SUM(subq_13.listings) AS listings
FROM (
-- Pass Only Elements: ['listings', 'metric_time__day']
SELECT
- subq_9.metric_time__day
- , subq_9.listings
+ subq_12.metric_time__day
+ , subq_12.listings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.created_at__day
- , subq_8.created_at__week
- , subq_8.created_at__month
- , subq_8.created_at__quarter
- , subq_8.created_at__year
- , subq_8.created_at__extract_year
- , subq_8.created_at__extract_quarter
- , subq_8.created_at__extract_month
- , subq_8.created_at__extract_day
- , subq_8.created_at__extract_dow
- , subq_8.created_at__extract_doy
- , subq_8.listing__ds__day
- , subq_8.listing__ds__week
- , subq_8.listing__ds__month
- , subq_8.listing__ds__quarter
- , subq_8.listing__ds__year
- , subq_8.listing__ds__extract_year
- , subq_8.listing__ds__extract_quarter
- , subq_8.listing__ds__extract_month
- , subq_8.listing__ds__extract_day
- , subq_8.listing__ds__extract_dow
- , subq_8.listing__ds__extract_doy
- , subq_8.listing__created_at__day
- , subq_8.listing__created_at__week
- , subq_8.listing__created_at__month
- , subq_8.listing__created_at__quarter
- , subq_8.listing__created_at__year
- , subq_8.listing__created_at__extract_year
- , subq_8.listing__created_at__extract_quarter
- , subq_8.listing__created_at__extract_month
- , subq_8.listing__created_at__extract_day
- , subq_8.listing__created_at__extract_dow
- , subq_8.listing__created_at__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.listing
- , subq_8.user
- , subq_8.listing__user
- , subq_8.country_latest
- , subq_8.is_lux_latest
- , subq_8.capacity_latest
- , subq_8.listing__country_latest
- , subq_8.listing__is_lux_latest
- , subq_8.listing__capacity_latest
- , subq_8.listing__bookings
- , subq_8.listings
- , subq_8.largest_listing
- , subq_8.smallest_listing
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.created_at__day
+ , subq_11.created_at__week
+ , subq_11.created_at__month
+ , subq_11.created_at__quarter
+ , subq_11.created_at__year
+ , subq_11.created_at__extract_year
+ , subq_11.created_at__extract_quarter
+ , subq_11.created_at__extract_month
+ , subq_11.created_at__extract_day
+ , subq_11.created_at__extract_dow
+ , subq_11.created_at__extract_doy
+ , subq_11.listing__ds__day
+ , subq_11.listing__ds__week
+ , subq_11.listing__ds__month
+ , subq_11.listing__ds__quarter
+ , subq_11.listing__ds__year
+ , subq_11.listing__ds__extract_year
+ , subq_11.listing__ds__extract_quarter
+ , subq_11.listing__ds__extract_month
+ , subq_11.listing__ds__extract_day
+ , subq_11.listing__ds__extract_dow
+ , subq_11.listing__ds__extract_doy
+ , subq_11.listing__created_at__day
+ , subq_11.listing__created_at__week
+ , subq_11.listing__created_at__month
+ , subq_11.listing__created_at__quarter
+ , subq_11.listing__created_at__year
+ , subq_11.listing__created_at__extract_year
+ , subq_11.listing__created_at__extract_quarter
+ , subq_11.listing__created_at__extract_month
+ , subq_11.listing__created_at__extract_day
+ , subq_11.listing__created_at__extract_dow
+ , subq_11.listing__created_at__extract_doy
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.listing
+ , subq_11.user
+ , subq_11.listing__user
+ , subq_11.country_latest
+ , subq_11.is_lux_latest
+ , subq_11.capacity_latest
+ , subq_11.listing__country_latest
+ , subq_11.listing__is_lux_latest
+ , subq_11.listing__capacity_latest
+ , subq_11.listing__bookings
+ , subq_11.listings
+ , subq_11.largest_listing
+ , subq_11.smallest_listing
FROM (
-- Join Standard Outputs
SELECT
- subq_7.listing__bookings AS listing__bookings
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.created_at__day AS created_at__day
- , subq_1.created_at__week AS created_at__week
- , subq_1.created_at__month AS created_at__month
- , subq_1.created_at__quarter AS created_at__quarter
- , subq_1.created_at__year AS created_at__year
- , subq_1.created_at__extract_year AS created_at__extract_year
- , subq_1.created_at__extract_quarter AS created_at__extract_quarter
- , subq_1.created_at__extract_month AS created_at__extract_month
- , subq_1.created_at__extract_day AS created_at__extract_day
- , subq_1.created_at__extract_dow AS created_at__extract_dow
- , subq_1.created_at__extract_doy AS created_at__extract_doy
- , subq_1.listing__ds__day AS listing__ds__day
- , subq_1.listing__ds__week AS listing__ds__week
- , subq_1.listing__ds__month AS listing__ds__month
- , subq_1.listing__ds__quarter AS listing__ds__quarter
- , subq_1.listing__ds__year AS listing__ds__year
- , subq_1.listing__ds__extract_year AS listing__ds__extract_year
- , subq_1.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_1.listing__ds__extract_month AS listing__ds__extract_month
- , subq_1.listing__ds__extract_day AS listing__ds__extract_day
- , subq_1.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_1.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_1.listing__created_at__day AS listing__created_at__day
- , subq_1.listing__created_at__week AS listing__created_at__week
- , subq_1.listing__created_at__month AS listing__created_at__month
- , subq_1.listing__created_at__quarter AS listing__created_at__quarter
- , subq_1.listing__created_at__year AS listing__created_at__year
- , subq_1.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_1.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_1.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_1.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_1.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_1.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.user AS user
- , subq_1.listing__user AS listing__user
- , subq_1.country_latest AS country_latest
- , subq_1.is_lux_latest AS is_lux_latest
- , subq_1.capacity_latest AS capacity_latest
- , subq_1.listing__country_latest AS listing__country_latest
- , subq_1.listing__is_lux_latest AS listing__is_lux_latest
- , subq_1.listing__capacity_latest AS listing__capacity_latest
- , subq_1.listings AS listings
- , subq_1.largest_listing AS largest_listing
- , subq_1.smallest_listing AS smallest_listing
+ subq_10.listing__bookings AS listing__bookings
+ , subq_4.ds__day AS ds__day
+ , subq_4.ds__week AS ds__week
+ , subq_4.ds__month AS ds__month
+ , subq_4.ds__quarter AS ds__quarter
+ , subq_4.ds__year AS ds__year
+ , subq_4.ds__extract_year AS ds__extract_year
+ , subq_4.ds__extract_quarter AS ds__extract_quarter
+ , subq_4.ds__extract_month AS ds__extract_month
+ , subq_4.ds__extract_day AS ds__extract_day
+ , subq_4.ds__extract_dow AS ds__extract_dow
+ , subq_4.ds__extract_doy AS ds__extract_doy
+ , subq_4.created_at__day AS created_at__day
+ , subq_4.created_at__week AS created_at__week
+ , subq_4.created_at__month AS created_at__month
+ , subq_4.created_at__quarter AS created_at__quarter
+ , subq_4.created_at__year AS created_at__year
+ , subq_4.created_at__extract_year AS created_at__extract_year
+ , subq_4.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_4.created_at__extract_month AS created_at__extract_month
+ , subq_4.created_at__extract_day AS created_at__extract_day
+ , subq_4.created_at__extract_dow AS created_at__extract_dow
+ , subq_4.created_at__extract_doy AS created_at__extract_doy
+ , subq_4.listing__ds__day AS listing__ds__day
+ , subq_4.listing__ds__week AS listing__ds__week
+ , subq_4.listing__ds__month AS listing__ds__month
+ , subq_4.listing__ds__quarter AS listing__ds__quarter
+ , subq_4.listing__ds__year AS listing__ds__year
+ , subq_4.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_4.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_4.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_4.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_4.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_4.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_4.listing__created_at__day AS listing__created_at__day
+ , subq_4.listing__created_at__week AS listing__created_at__week
+ , subq_4.listing__created_at__month AS listing__created_at__month
+ , subq_4.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_4.listing__created_at__year AS listing__created_at__year
+ , subq_4.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_4.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_4.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_4.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_4.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_4.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_4.metric_time__day AS metric_time__day
+ , subq_4.metric_time__week AS metric_time__week
+ , subq_4.metric_time__month AS metric_time__month
+ , subq_4.metric_time__quarter AS metric_time__quarter
+ , subq_4.metric_time__year AS metric_time__year
+ , subq_4.metric_time__extract_year AS metric_time__extract_year
+ , subq_4.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_4.metric_time__extract_month AS metric_time__extract_month
+ , subq_4.metric_time__extract_day AS metric_time__extract_day
+ , subq_4.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_4.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_4.listing AS listing
+ , subq_4.user AS user
+ , subq_4.listing__user AS listing__user
+ , subq_4.country_latest AS country_latest
+ , subq_4.is_lux_latest AS is_lux_latest
+ , subq_4.capacity_latest AS capacity_latest
+ , subq_4.listing__country_latest AS listing__country_latest
+ , subq_4.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_4.listing__capacity_latest AS listing__capacity_latest
+ , subq_4.listings AS listings
+ , subq_4.largest_listing AS largest_listing
+ , subq_4.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.listing__ds__day
- , subq_0.listing__ds__week
- , subq_0.listing__ds__month
- , subq_0.listing__ds__quarter
- , subq_0.listing__ds__year
- , subq_0.listing__ds__extract_year
- , subq_0.listing__ds__extract_quarter
- , subq_0.listing__ds__extract_month
- , subq_0.listing__ds__extract_day
- , subq_0.listing__ds__extract_dow
- , subq_0.listing__ds__extract_doy
- , subq_0.listing__created_at__day
- , subq_0.listing__created_at__week
- , subq_0.listing__created_at__month
- , subq_0.listing__created_at__quarter
- , subq_0.listing__created_at__year
- , subq_0.listing__created_at__extract_year
- , subq_0.listing__created_at__extract_quarter
- , subq_0.listing__created_at__extract_month
- , subq_0.listing__created_at__extract_day
- , subq_0.listing__created_at__extract_dow
- , subq_0.listing__created_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.user
- , subq_0.listing__user
- , subq_0.country_latest
- , subq_0.is_lux_latest
- , subq_0.capacity_latest
- , subq_0.listing__country_latest
- , subq_0.listing__is_lux_latest
- , subq_0.listing__capacity_latest
- , subq_0.listings
- , subq_0.largest_listing
- , subq_0.smallest_listing
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.created_at__day
+ , subq_3.created_at__week
+ , subq_3.created_at__month
+ , subq_3.created_at__quarter
+ , subq_3.created_at__year
+ , subq_3.created_at__extract_year
+ , subq_3.created_at__extract_quarter
+ , subq_3.created_at__extract_month
+ , subq_3.created_at__extract_day
+ , subq_3.created_at__extract_dow
+ , subq_3.created_at__extract_doy
+ , subq_3.listing__ds__day
+ , subq_3.listing__ds__week
+ , subq_3.listing__ds__month
+ , subq_3.listing__ds__quarter
+ , subq_3.listing__ds__year
+ , subq_3.listing__ds__extract_year
+ , subq_3.listing__ds__extract_quarter
+ , subq_3.listing__ds__extract_month
+ , subq_3.listing__ds__extract_day
+ , subq_3.listing__ds__extract_dow
+ , subq_3.listing__ds__extract_doy
+ , subq_3.listing__created_at__day
+ , subq_3.listing__created_at__week
+ , subq_3.listing__created_at__month
+ , subq_3.listing__created_at__quarter
+ , subq_3.listing__created_at__year
+ , subq_3.listing__created_at__extract_year
+ , subq_3.listing__created_at__extract_quarter
+ , subq_3.listing__created_at__extract_month
+ , subq_3.listing__created_at__extract_day
+ , subq_3.listing__created_at__extract_dow
+ , subq_3.listing__created_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.user
+ , subq_3.listing__user
+ , subq_3.country_latest
+ , subq_3.is_lux_latest
+ , subq_3.capacity_latest
+ , subq_3.listing__country_latest
+ , subq_3.listing__is_lux_latest
+ , subq_3.listing__capacity_latest
+ , subq_3.listings
+ , subq_3.largest_listing
+ , subq_3.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -290,129 +290,129 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_0
- ) subq_1
+ ) subq_3
+ ) subq_4
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__bookings']
SELECT
- subq_6.listing
- , subq_6.listing__bookings
+ subq_9.listing
+ , subq_9.listing__bookings
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.listing
- , subq_5.bookings AS listing__bookings
+ subq_8.listing
+ , subq_8.bookings AS listing__bookings
FROM (
-- Aggregate Measures
SELECT
- subq_4.listing
- , SUM(subq_4.bookings) AS bookings
+ subq_7.listing
+ , SUM(subq_7.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing']
SELECT
- subq_3.listing
- , subq_3.bookings
+ subq_6.listing
+ , subq_6.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.ds_partitioned__day
+ , subq_5.ds_partitioned__week
+ , subq_5.ds_partitioned__month
+ , subq_5.ds_partitioned__quarter
+ , subq_5.ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy
+ , subq_5.paid_at__day
+ , subq_5.paid_at__week
+ , subq_5.paid_at__month
+ , subq_5.paid_at__quarter
+ , subq_5.paid_at__year
+ , subq_5.paid_at__extract_year
+ , subq_5.paid_at__extract_quarter
+ , subq_5.paid_at__extract_month
+ , subq_5.paid_at__extract_day
+ , subq_5.paid_at__extract_dow
+ , subq_5.paid_at__extract_doy
+ , subq_5.booking__ds__day
+ , subq_5.booking__ds__week
+ , subq_5.booking__ds__month
+ , subq_5.booking__ds__quarter
+ , subq_5.booking__ds__year
+ , subq_5.booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month
+ , subq_5.booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day
+ , subq_5.booking__paid_at__week
+ , subq_5.booking__paid_at__month
+ , subq_5.booking__paid_at__quarter
+ , subq_5.booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy
+ , subq_5.ds__day AS metric_time__day
+ , subq_5.ds__week AS metric_time__week
+ , subq_5.ds__month AS metric_time__month
+ , subq_5.ds__quarter AS metric_time__quarter
+ , subq_5.ds__year AS metric_time__year
+ , subq_5.ds__extract_year AS metric_time__extract_year
+ , subq_5.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_5.ds__extract_month AS metric_time__extract_month
+ , subq_5.ds__extract_day AS metric_time__extract_day
+ , subq_5.ds__extract_dow AS metric_time__extract_dow
+ , subq_5.ds__extract_doy AS metric_time__extract_doy
+ , subq_5.listing
+ , subq_5.guest
+ , subq_5.host
+ , subq_5.booking__listing
+ , subq_5.booking__guest
+ , subq_5.booking__host
+ , subq_5.is_instant
+ , subq_5.booking__is_instant
+ , subq_5.bookings
+ , subq_5.instant_bookings
+ , subq_5.booking_value
+ , subq_5.max_booking_value
+ , subq_5.min_booking_value
+ , subq_5.bookers
+ , subq_5.average_booking_value
+ , subq_5.referred_bookings
+ , subq_5.median_booking_value
+ , subq_5.booking_value_p99
+ , subq_5.discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -505,20 +505,20 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_5
+ ) subq_6
+ ) subq_7
GROUP BY
- subq_4.listing
- ) subq_5
- ) subq_6
- ) subq_7
+ subq_7.listing
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
- subq_1.listing = subq_7.listing
- ) subq_8
+ subq_4.listing = subq_10.listing
+ ) subq_11
WHERE listing__bookings > 2
- ) subq_9
- ) subq_10
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_10.metric_time__day
-) subq_11
+ subq_13.metric_time__day
+) subq_14
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_with_metric_in_where_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_with_metric_in_where_filter__plan0_optimized.sql
index 6493e6cbc1..10c0b969de 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_with_metric_in_where_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_metric_with_metric_in_where_filter__plan0_optimized.sql
@@ -14,9 +14,9 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_19.listing__bookings AS listing__bookings
- , subq_13.metric_time__day AS metric_time__day
- , subq_13.listings AS listings
+ subq_22.listing__bookings AS listing__bookings
+ , subq_16.metric_time__day AS metric_time__day
+ , subq_16.listings AS listings
FROM (
-- Read Elements From Semantic Model 'listings_latest'
-- Metric Time Dimension 'ds'
@@ -25,7 +25,7 @@ FROM (
, listing_id AS listing
, 1 AS listings
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_13
+ ) subq_16
LEFT OUTER JOIN (
-- Aggregate Measures
-- Compute Metrics via Expressions
@@ -41,13 +41,13 @@ FROM (
listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_16
+ ) subq_19
GROUP BY
listing
- ) subq_19
+ ) subq_22
ON
- subq_13.listing = subq_19.listing
-) subq_20
+ subq_16.listing = subq_22.listing
+) subq_23
WHERE listing__bookings > 2
GROUP BY
metric_time__day
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_cumulative_metric_in_where_filter__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_cumulative_metric_in_where_filter__plan0.sql
index 3b0de88fda..482d329e47 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_cumulative_metric_in_where_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_cumulative_metric_in_where_filter__plan0.sql
@@ -8,227 +8,227 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.listings
+ subq_14.listings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_10.listings) AS listings
+ SUM(subq_13.listings) AS listings
FROM (
-- Pass Only Elements: ['listings',]
SELECT
- subq_9.listings
+ subq_12.listings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.created_at__day
- , subq_8.created_at__week
- , subq_8.created_at__month
- , subq_8.created_at__quarter
- , subq_8.created_at__year
- , subq_8.created_at__extract_year
- , subq_8.created_at__extract_quarter
- , subq_8.created_at__extract_month
- , subq_8.created_at__extract_day
- , subq_8.created_at__extract_dow
- , subq_8.created_at__extract_doy
- , subq_8.listing__ds__day
- , subq_8.listing__ds__week
- , subq_8.listing__ds__month
- , subq_8.listing__ds__quarter
- , subq_8.listing__ds__year
- , subq_8.listing__ds__extract_year
- , subq_8.listing__ds__extract_quarter
- , subq_8.listing__ds__extract_month
- , subq_8.listing__ds__extract_day
- , subq_8.listing__ds__extract_dow
- , subq_8.listing__ds__extract_doy
- , subq_8.listing__created_at__day
- , subq_8.listing__created_at__week
- , subq_8.listing__created_at__month
- , subq_8.listing__created_at__quarter
- , subq_8.listing__created_at__year
- , subq_8.listing__created_at__extract_year
- , subq_8.listing__created_at__extract_quarter
- , subq_8.listing__created_at__extract_month
- , subq_8.listing__created_at__extract_day
- , subq_8.listing__created_at__extract_dow
- , subq_8.listing__created_at__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.listing
- , subq_8.user
- , subq_8.listing__user
- , subq_8.country_latest
- , subq_8.is_lux_latest
- , subq_8.capacity_latest
- , subq_8.listing__country_latest
- , subq_8.listing__is_lux_latest
- , subq_8.listing__capacity_latest
- , subq_8.user__revenue_all_time
- , subq_8.listings
- , subq_8.largest_listing
- , subq_8.smallest_listing
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.created_at__day
+ , subq_11.created_at__week
+ , subq_11.created_at__month
+ , subq_11.created_at__quarter
+ , subq_11.created_at__year
+ , subq_11.created_at__extract_year
+ , subq_11.created_at__extract_quarter
+ , subq_11.created_at__extract_month
+ , subq_11.created_at__extract_day
+ , subq_11.created_at__extract_dow
+ , subq_11.created_at__extract_doy
+ , subq_11.listing__ds__day
+ , subq_11.listing__ds__week
+ , subq_11.listing__ds__month
+ , subq_11.listing__ds__quarter
+ , subq_11.listing__ds__year
+ , subq_11.listing__ds__extract_year
+ , subq_11.listing__ds__extract_quarter
+ , subq_11.listing__ds__extract_month
+ , subq_11.listing__ds__extract_day
+ , subq_11.listing__ds__extract_dow
+ , subq_11.listing__ds__extract_doy
+ , subq_11.listing__created_at__day
+ , subq_11.listing__created_at__week
+ , subq_11.listing__created_at__month
+ , subq_11.listing__created_at__quarter
+ , subq_11.listing__created_at__year
+ , subq_11.listing__created_at__extract_year
+ , subq_11.listing__created_at__extract_quarter
+ , subq_11.listing__created_at__extract_month
+ , subq_11.listing__created_at__extract_day
+ , subq_11.listing__created_at__extract_dow
+ , subq_11.listing__created_at__extract_doy
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.listing
+ , subq_11.user
+ , subq_11.listing__user
+ , subq_11.country_latest
+ , subq_11.is_lux_latest
+ , subq_11.capacity_latest
+ , subq_11.listing__country_latest
+ , subq_11.listing__is_lux_latest
+ , subq_11.listing__capacity_latest
+ , subq_11.user__revenue_all_time
+ , subq_11.listings
+ , subq_11.largest_listing
+ , subq_11.smallest_listing
FROM (
-- Join Standard Outputs
SELECT
- subq_7.user__revenue_all_time AS user__revenue_all_time
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.created_at__day AS created_at__day
- , subq_1.created_at__week AS created_at__week
- , subq_1.created_at__month AS created_at__month
- , subq_1.created_at__quarter AS created_at__quarter
- , subq_1.created_at__year AS created_at__year
- , subq_1.created_at__extract_year AS created_at__extract_year
- , subq_1.created_at__extract_quarter AS created_at__extract_quarter
- , subq_1.created_at__extract_month AS created_at__extract_month
- , subq_1.created_at__extract_day AS created_at__extract_day
- , subq_1.created_at__extract_dow AS created_at__extract_dow
- , subq_1.created_at__extract_doy AS created_at__extract_doy
- , subq_1.listing__ds__day AS listing__ds__day
- , subq_1.listing__ds__week AS listing__ds__week
- , subq_1.listing__ds__month AS listing__ds__month
- , subq_1.listing__ds__quarter AS listing__ds__quarter
- , subq_1.listing__ds__year AS listing__ds__year
- , subq_1.listing__ds__extract_year AS listing__ds__extract_year
- , subq_1.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_1.listing__ds__extract_month AS listing__ds__extract_month
- , subq_1.listing__ds__extract_day AS listing__ds__extract_day
- , subq_1.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_1.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_1.listing__created_at__day AS listing__created_at__day
- , subq_1.listing__created_at__week AS listing__created_at__week
- , subq_1.listing__created_at__month AS listing__created_at__month
- , subq_1.listing__created_at__quarter AS listing__created_at__quarter
- , subq_1.listing__created_at__year AS listing__created_at__year
- , subq_1.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_1.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_1.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_1.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_1.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_1.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.user AS user
- , subq_1.listing__user AS listing__user
- , subq_1.country_latest AS country_latest
- , subq_1.is_lux_latest AS is_lux_latest
- , subq_1.capacity_latest AS capacity_latest
- , subq_1.listing__country_latest AS listing__country_latest
- , subq_1.listing__is_lux_latest AS listing__is_lux_latest
- , subq_1.listing__capacity_latest AS listing__capacity_latest
- , subq_1.listings AS listings
- , subq_1.largest_listing AS largest_listing
- , subq_1.smallest_listing AS smallest_listing
+ subq_10.user__revenue_all_time AS user__revenue_all_time
+ , subq_4.ds__day AS ds__day
+ , subq_4.ds__week AS ds__week
+ , subq_4.ds__month AS ds__month
+ , subq_4.ds__quarter AS ds__quarter
+ , subq_4.ds__year AS ds__year
+ , subq_4.ds__extract_year AS ds__extract_year
+ , subq_4.ds__extract_quarter AS ds__extract_quarter
+ , subq_4.ds__extract_month AS ds__extract_month
+ , subq_4.ds__extract_day AS ds__extract_day
+ , subq_4.ds__extract_dow AS ds__extract_dow
+ , subq_4.ds__extract_doy AS ds__extract_doy
+ , subq_4.created_at__day AS created_at__day
+ , subq_4.created_at__week AS created_at__week
+ , subq_4.created_at__month AS created_at__month
+ , subq_4.created_at__quarter AS created_at__quarter
+ , subq_4.created_at__year AS created_at__year
+ , subq_4.created_at__extract_year AS created_at__extract_year
+ , subq_4.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_4.created_at__extract_month AS created_at__extract_month
+ , subq_4.created_at__extract_day AS created_at__extract_day
+ , subq_4.created_at__extract_dow AS created_at__extract_dow
+ , subq_4.created_at__extract_doy AS created_at__extract_doy
+ , subq_4.listing__ds__day AS listing__ds__day
+ , subq_4.listing__ds__week AS listing__ds__week
+ , subq_4.listing__ds__month AS listing__ds__month
+ , subq_4.listing__ds__quarter AS listing__ds__quarter
+ , subq_4.listing__ds__year AS listing__ds__year
+ , subq_4.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_4.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_4.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_4.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_4.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_4.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_4.listing__created_at__day AS listing__created_at__day
+ , subq_4.listing__created_at__week AS listing__created_at__week
+ , subq_4.listing__created_at__month AS listing__created_at__month
+ , subq_4.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_4.listing__created_at__year AS listing__created_at__year
+ , subq_4.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_4.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_4.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_4.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_4.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_4.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_4.metric_time__day AS metric_time__day
+ , subq_4.metric_time__week AS metric_time__week
+ , subq_4.metric_time__month AS metric_time__month
+ , subq_4.metric_time__quarter AS metric_time__quarter
+ , subq_4.metric_time__year AS metric_time__year
+ , subq_4.metric_time__extract_year AS metric_time__extract_year
+ , subq_4.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_4.metric_time__extract_month AS metric_time__extract_month
+ , subq_4.metric_time__extract_day AS metric_time__extract_day
+ , subq_4.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_4.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_4.listing AS listing
+ , subq_4.user AS user
+ , subq_4.listing__user AS listing__user
+ , subq_4.country_latest AS country_latest
+ , subq_4.is_lux_latest AS is_lux_latest
+ , subq_4.capacity_latest AS capacity_latest
+ , subq_4.listing__country_latest AS listing__country_latest
+ , subq_4.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_4.listing__capacity_latest AS listing__capacity_latest
+ , subq_4.listings AS listings
+ , subq_4.largest_listing AS largest_listing
+ , subq_4.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.listing__ds__day
- , subq_0.listing__ds__week
- , subq_0.listing__ds__month
- , subq_0.listing__ds__quarter
- , subq_0.listing__ds__year
- , subq_0.listing__ds__extract_year
- , subq_0.listing__ds__extract_quarter
- , subq_0.listing__ds__extract_month
- , subq_0.listing__ds__extract_day
- , subq_0.listing__ds__extract_dow
- , subq_0.listing__ds__extract_doy
- , subq_0.listing__created_at__day
- , subq_0.listing__created_at__week
- , subq_0.listing__created_at__month
- , subq_0.listing__created_at__quarter
- , subq_0.listing__created_at__year
- , subq_0.listing__created_at__extract_year
- , subq_0.listing__created_at__extract_quarter
- , subq_0.listing__created_at__extract_month
- , subq_0.listing__created_at__extract_day
- , subq_0.listing__created_at__extract_dow
- , subq_0.listing__created_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.user
- , subq_0.listing__user
- , subq_0.country_latest
- , subq_0.is_lux_latest
- , subq_0.capacity_latest
- , subq_0.listing__country_latest
- , subq_0.listing__is_lux_latest
- , subq_0.listing__capacity_latest
- , subq_0.listings
- , subq_0.largest_listing
- , subq_0.smallest_listing
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.created_at__day
+ , subq_3.created_at__week
+ , subq_3.created_at__month
+ , subq_3.created_at__quarter
+ , subq_3.created_at__year
+ , subq_3.created_at__extract_year
+ , subq_3.created_at__extract_quarter
+ , subq_3.created_at__extract_month
+ , subq_3.created_at__extract_day
+ , subq_3.created_at__extract_dow
+ , subq_3.created_at__extract_doy
+ , subq_3.listing__ds__day
+ , subq_3.listing__ds__week
+ , subq_3.listing__ds__month
+ , subq_3.listing__ds__quarter
+ , subq_3.listing__ds__year
+ , subq_3.listing__ds__extract_year
+ , subq_3.listing__ds__extract_quarter
+ , subq_3.listing__ds__extract_month
+ , subq_3.listing__ds__extract_day
+ , subq_3.listing__ds__extract_dow
+ , subq_3.listing__ds__extract_doy
+ , subq_3.listing__created_at__day
+ , subq_3.listing__created_at__week
+ , subq_3.listing__created_at__month
+ , subq_3.listing__created_at__quarter
+ , subq_3.listing__created_at__year
+ , subq_3.listing__created_at__extract_year
+ , subq_3.listing__created_at__extract_quarter
+ , subq_3.listing__created_at__extract_month
+ , subq_3.listing__created_at__extract_day
+ , subq_3.listing__created_at__extract_dow
+ , subq_3.listing__created_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.user
+ , subq_3.listing__user
+ , subq_3.country_latest
+ , subq_3.is_lux_latest
+ , subq_3.capacity_latest
+ , subq_3.listing__country_latest
+ , subq_3.listing__is_lux_latest
+ , subq_3.listing__capacity_latest
+ , subq_3.listings
+ , subq_3.largest_listing
+ , subq_3.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -289,67 +289,67 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_0
- ) subq_1
+ ) subq_3
+ ) subq_4
LEFT OUTER JOIN (
-- Pass Only Elements: ['user', 'user__revenue_all_time']
SELECT
- subq_6.user
- , subq_6.user__revenue_all_time
+ subq_9.user
+ , subq_9.user__revenue_all_time
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.user
- , subq_5.txn_revenue AS user__revenue_all_time
+ subq_8.user
+ , subq_8.txn_revenue AS user__revenue_all_time
FROM (
-- Aggregate Measures
SELECT
- subq_4.user
- , SUM(subq_4.txn_revenue) AS txn_revenue
+ subq_7.user
+ , SUM(subq_7.txn_revenue) AS txn_revenue
FROM (
-- Pass Only Elements: ['txn_revenue', 'user']
SELECT
- subq_3.user
- , subq_3.txn_revenue
+ subq_6.user
+ , subq_6.txn_revenue
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.revenue_instance__ds__day
- , subq_2.revenue_instance__ds__week
- , subq_2.revenue_instance__ds__month
- , subq_2.revenue_instance__ds__quarter
- , subq_2.revenue_instance__ds__year
- , subq_2.revenue_instance__ds__extract_year
- , subq_2.revenue_instance__ds__extract_quarter
- , subq_2.revenue_instance__ds__extract_month
- , subq_2.revenue_instance__ds__extract_day
- , subq_2.revenue_instance__ds__extract_dow
- , subq_2.revenue_instance__ds__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.user
- , subq_2.revenue_instance__user
- , subq_2.txn_revenue
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.revenue_instance__ds__day
+ , subq_5.revenue_instance__ds__week
+ , subq_5.revenue_instance__ds__month
+ , subq_5.revenue_instance__ds__quarter
+ , subq_5.revenue_instance__ds__year
+ , subq_5.revenue_instance__ds__extract_year
+ , subq_5.revenue_instance__ds__extract_quarter
+ , subq_5.revenue_instance__ds__extract_month
+ , subq_5.revenue_instance__ds__extract_day
+ , subq_5.revenue_instance__ds__extract_dow
+ , subq_5.revenue_instance__ds__extract_doy
+ , subq_5.ds__day AS metric_time__day
+ , subq_5.ds__week AS metric_time__week
+ , subq_5.ds__month AS metric_time__month
+ , subq_5.ds__quarter AS metric_time__quarter
+ , subq_5.ds__year AS metric_time__year
+ , subq_5.ds__extract_year AS metric_time__extract_year
+ , subq_5.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_5.ds__extract_month AS metric_time__extract_month
+ , subq_5.ds__extract_day AS metric_time__extract_day
+ , subq_5.ds__extract_dow AS metric_time__extract_dow
+ , subq_5.ds__extract_doy AS metric_time__extract_doy
+ , subq_5.user
+ , subq_5.revenue_instance__user
+ , subq_5.txn_revenue
FROM (
-- Read Elements From Semantic Model 'revenue'
SELECT
@@ -379,18 +379,18 @@ FROM (
, revenue_src_28000.user_id AS user
, revenue_src_28000.user_id AS revenue_instance__user
FROM ***************************.fct_revenue revenue_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_5
+ ) subq_6
+ ) subq_7
GROUP BY
- subq_4.user
- ) subq_5
- ) subq_6
- ) subq_7
+ subq_7.user
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
- subq_1.user = subq_7.user
- ) subq_8
+ subq_4.user = subq_10.user
+ ) subq_11
WHERE user__revenue_all_time > 1
- ) subq_9
- ) subq_10
-) subq_11
+ ) subq_12
+ ) subq_13
+) subq_14
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_cumulative_metric_in_where_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_cumulative_metric_in_where_filter__plan0_optimized.sql
index ffeb920a92..5838ffdbcb 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_cumulative_metric_in_where_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_cumulative_metric_in_where_filter__plan0_optimized.sql
@@ -15,8 +15,8 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_19.user__revenue_all_time AS user__revenue_all_time
- , subq_13.listings AS listings
+ subq_22.user__revenue_all_time AS user__revenue_all_time
+ , subq_16.listings AS listings
FROM (
-- Read Elements From Semantic Model 'listings_latest'
-- Metric Time Dimension 'ds'
@@ -24,7 +24,7 @@ FROM (
user_id AS user
, 1 AS listings
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_13
+ ) subq_16
LEFT OUTER JOIN (
-- Read Elements From Semantic Model 'revenue'
-- Metric Time Dimension 'ds'
@@ -38,8 +38,8 @@ FROM (
FROM ***************************.fct_revenue revenue_src_28000
GROUP BY
user_id
- ) subq_19
+ ) subq_22
ON
- subq_13.user = subq_19.user
-) subq_20
+ subq_16.user = subq_22.user
+) subq_23
WHERE user__revenue_all_time > 1
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_derived_metric_in_where_filter__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_derived_metric_in_where_filter__plan0.sql
index 338dd2e147..7ac406c421 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_derived_metric_in_where_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_derived_metric_in_where_filter__plan0.sql
@@ -6,227 +6,227 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.listings
+ subq_27.listings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_17.listings) AS listings
+ SUM(subq_26.listings) AS listings
FROM (
-- Pass Only Elements: ['listings',]
SELECT
- subq_16.listings
+ subq_25.listings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_15.ds__day
- , subq_15.ds__week
- , subq_15.ds__month
- , subq_15.ds__quarter
- , subq_15.ds__year
- , subq_15.ds__extract_year
- , subq_15.ds__extract_quarter
- , subq_15.ds__extract_month
- , subq_15.ds__extract_day
- , subq_15.ds__extract_dow
- , subq_15.ds__extract_doy
- , subq_15.created_at__day
- , subq_15.created_at__week
- , subq_15.created_at__month
- , subq_15.created_at__quarter
- , subq_15.created_at__year
- , subq_15.created_at__extract_year
- , subq_15.created_at__extract_quarter
- , subq_15.created_at__extract_month
- , subq_15.created_at__extract_day
- , subq_15.created_at__extract_dow
- , subq_15.created_at__extract_doy
- , subq_15.listing__ds__day
- , subq_15.listing__ds__week
- , subq_15.listing__ds__month
- , subq_15.listing__ds__quarter
- , subq_15.listing__ds__year
- , subq_15.listing__ds__extract_year
- , subq_15.listing__ds__extract_quarter
- , subq_15.listing__ds__extract_month
- , subq_15.listing__ds__extract_day
- , subq_15.listing__ds__extract_dow
- , subq_15.listing__ds__extract_doy
- , subq_15.listing__created_at__day
- , subq_15.listing__created_at__week
- , subq_15.listing__created_at__month
- , subq_15.listing__created_at__quarter
- , subq_15.listing__created_at__year
- , subq_15.listing__created_at__extract_year
- , subq_15.listing__created_at__extract_quarter
- , subq_15.listing__created_at__extract_month
- , subq_15.listing__created_at__extract_day
- , subq_15.listing__created_at__extract_dow
- , subq_15.listing__created_at__extract_doy
- , subq_15.metric_time__day
- , subq_15.metric_time__week
- , subq_15.metric_time__month
- , subq_15.metric_time__quarter
- , subq_15.metric_time__year
- , subq_15.metric_time__extract_year
- , subq_15.metric_time__extract_quarter
- , subq_15.metric_time__extract_month
- , subq_15.metric_time__extract_day
- , subq_15.metric_time__extract_dow
- , subq_15.metric_time__extract_doy
- , subq_15.listing
- , subq_15.user
- , subq_15.listing__user
- , subq_15.country_latest
- , subq_15.is_lux_latest
- , subq_15.capacity_latest
- , subq_15.listing__country_latest
- , subq_15.listing__is_lux_latest
- , subq_15.listing__capacity_latest
- , subq_15.listing__views_times_booking_value
- , subq_15.listings
- , subq_15.largest_listing
- , subq_15.smallest_listing
+ subq_24.ds__day
+ , subq_24.ds__week
+ , subq_24.ds__month
+ , subq_24.ds__quarter
+ , subq_24.ds__year
+ , subq_24.ds__extract_year
+ , subq_24.ds__extract_quarter
+ , subq_24.ds__extract_month
+ , subq_24.ds__extract_day
+ , subq_24.ds__extract_dow
+ , subq_24.ds__extract_doy
+ , subq_24.created_at__day
+ , subq_24.created_at__week
+ , subq_24.created_at__month
+ , subq_24.created_at__quarter
+ , subq_24.created_at__year
+ , subq_24.created_at__extract_year
+ , subq_24.created_at__extract_quarter
+ , subq_24.created_at__extract_month
+ , subq_24.created_at__extract_day
+ , subq_24.created_at__extract_dow
+ , subq_24.created_at__extract_doy
+ , subq_24.listing__ds__day
+ , subq_24.listing__ds__week
+ , subq_24.listing__ds__month
+ , subq_24.listing__ds__quarter
+ , subq_24.listing__ds__year
+ , subq_24.listing__ds__extract_year
+ , subq_24.listing__ds__extract_quarter
+ , subq_24.listing__ds__extract_month
+ , subq_24.listing__ds__extract_day
+ , subq_24.listing__ds__extract_dow
+ , subq_24.listing__ds__extract_doy
+ , subq_24.listing__created_at__day
+ , subq_24.listing__created_at__week
+ , subq_24.listing__created_at__month
+ , subq_24.listing__created_at__quarter
+ , subq_24.listing__created_at__year
+ , subq_24.listing__created_at__extract_year
+ , subq_24.listing__created_at__extract_quarter
+ , subq_24.listing__created_at__extract_month
+ , subq_24.listing__created_at__extract_day
+ , subq_24.listing__created_at__extract_dow
+ , subq_24.listing__created_at__extract_doy
+ , subq_24.metric_time__day
+ , subq_24.metric_time__week
+ , subq_24.metric_time__month
+ , subq_24.metric_time__quarter
+ , subq_24.metric_time__year
+ , subq_24.metric_time__extract_year
+ , subq_24.metric_time__extract_quarter
+ , subq_24.metric_time__extract_month
+ , subq_24.metric_time__extract_day
+ , subq_24.metric_time__extract_dow
+ , subq_24.metric_time__extract_doy
+ , subq_24.listing
+ , subq_24.user
+ , subq_24.listing__user
+ , subq_24.country_latest
+ , subq_24.is_lux_latest
+ , subq_24.capacity_latest
+ , subq_24.listing__country_latest
+ , subq_24.listing__is_lux_latest
+ , subq_24.listing__capacity_latest
+ , subq_24.listing__views_times_booking_value
+ , subq_24.listings
+ , subq_24.largest_listing
+ , subq_24.smallest_listing
FROM (
-- Join Standard Outputs
SELECT
- subq_14.listing__views_times_booking_value AS listing__views_times_booking_value
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.created_at__day AS created_at__day
- , subq_1.created_at__week AS created_at__week
- , subq_1.created_at__month AS created_at__month
- , subq_1.created_at__quarter AS created_at__quarter
- , subq_1.created_at__year AS created_at__year
- , subq_1.created_at__extract_year AS created_at__extract_year
- , subq_1.created_at__extract_quarter AS created_at__extract_quarter
- , subq_1.created_at__extract_month AS created_at__extract_month
- , subq_1.created_at__extract_day AS created_at__extract_day
- , subq_1.created_at__extract_dow AS created_at__extract_dow
- , subq_1.created_at__extract_doy AS created_at__extract_doy
- , subq_1.listing__ds__day AS listing__ds__day
- , subq_1.listing__ds__week AS listing__ds__week
- , subq_1.listing__ds__month AS listing__ds__month
- , subq_1.listing__ds__quarter AS listing__ds__quarter
- , subq_1.listing__ds__year AS listing__ds__year
- , subq_1.listing__ds__extract_year AS listing__ds__extract_year
- , subq_1.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_1.listing__ds__extract_month AS listing__ds__extract_month
- , subq_1.listing__ds__extract_day AS listing__ds__extract_day
- , subq_1.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_1.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_1.listing__created_at__day AS listing__created_at__day
- , subq_1.listing__created_at__week AS listing__created_at__week
- , subq_1.listing__created_at__month AS listing__created_at__month
- , subq_1.listing__created_at__quarter AS listing__created_at__quarter
- , subq_1.listing__created_at__year AS listing__created_at__year
- , subq_1.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_1.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_1.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_1.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_1.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_1.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.user AS user
- , subq_1.listing__user AS listing__user
- , subq_1.country_latest AS country_latest
- , subq_1.is_lux_latest AS is_lux_latest
- , subq_1.capacity_latest AS capacity_latest
- , subq_1.listing__country_latest AS listing__country_latest
- , subq_1.listing__is_lux_latest AS listing__is_lux_latest
- , subq_1.listing__capacity_latest AS listing__capacity_latest
- , subq_1.listings AS listings
- , subq_1.largest_listing AS largest_listing
- , subq_1.smallest_listing AS smallest_listing
+ subq_23.listing__views_times_booking_value AS listing__views_times_booking_value
+ , subq_10.ds__day AS ds__day
+ , subq_10.ds__week AS ds__week
+ , subq_10.ds__month AS ds__month
+ , subq_10.ds__quarter AS ds__quarter
+ , subq_10.ds__year AS ds__year
+ , subq_10.ds__extract_year AS ds__extract_year
+ , subq_10.ds__extract_quarter AS ds__extract_quarter
+ , subq_10.ds__extract_month AS ds__extract_month
+ , subq_10.ds__extract_day AS ds__extract_day
+ , subq_10.ds__extract_dow AS ds__extract_dow
+ , subq_10.ds__extract_doy AS ds__extract_doy
+ , subq_10.created_at__day AS created_at__day
+ , subq_10.created_at__week AS created_at__week
+ , subq_10.created_at__month AS created_at__month
+ , subq_10.created_at__quarter AS created_at__quarter
+ , subq_10.created_at__year AS created_at__year
+ , subq_10.created_at__extract_year AS created_at__extract_year
+ , subq_10.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_10.created_at__extract_month AS created_at__extract_month
+ , subq_10.created_at__extract_day AS created_at__extract_day
+ , subq_10.created_at__extract_dow AS created_at__extract_dow
+ , subq_10.created_at__extract_doy AS created_at__extract_doy
+ , subq_10.listing__ds__day AS listing__ds__day
+ , subq_10.listing__ds__week AS listing__ds__week
+ , subq_10.listing__ds__month AS listing__ds__month
+ , subq_10.listing__ds__quarter AS listing__ds__quarter
+ , subq_10.listing__ds__year AS listing__ds__year
+ , subq_10.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_10.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_10.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_10.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_10.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_10.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_10.listing__created_at__day AS listing__created_at__day
+ , subq_10.listing__created_at__week AS listing__created_at__week
+ , subq_10.listing__created_at__month AS listing__created_at__month
+ , subq_10.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_10.listing__created_at__year AS listing__created_at__year
+ , subq_10.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_10.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_10.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_10.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_10.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_10.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_10.metric_time__day AS metric_time__day
+ , subq_10.metric_time__week AS metric_time__week
+ , subq_10.metric_time__month AS metric_time__month
+ , subq_10.metric_time__quarter AS metric_time__quarter
+ , subq_10.metric_time__year AS metric_time__year
+ , subq_10.metric_time__extract_year AS metric_time__extract_year
+ , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_10.metric_time__extract_month AS metric_time__extract_month
+ , subq_10.metric_time__extract_day AS metric_time__extract_day
+ , subq_10.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_10.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_10.listing AS listing
+ , subq_10.user AS user
+ , subq_10.listing__user AS listing__user
+ , subq_10.country_latest AS country_latest
+ , subq_10.is_lux_latest AS is_lux_latest
+ , subq_10.capacity_latest AS capacity_latest
+ , subq_10.listing__country_latest AS listing__country_latest
+ , subq_10.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_10.listing__capacity_latest AS listing__capacity_latest
+ , subq_10.listings AS listings
+ , subq_10.largest_listing AS largest_listing
+ , subq_10.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.listing__ds__day
- , subq_0.listing__ds__week
- , subq_0.listing__ds__month
- , subq_0.listing__ds__quarter
- , subq_0.listing__ds__year
- , subq_0.listing__ds__extract_year
- , subq_0.listing__ds__extract_quarter
- , subq_0.listing__ds__extract_month
- , subq_0.listing__ds__extract_day
- , subq_0.listing__ds__extract_dow
- , subq_0.listing__ds__extract_doy
- , subq_0.listing__created_at__day
- , subq_0.listing__created_at__week
- , subq_0.listing__created_at__month
- , subq_0.listing__created_at__quarter
- , subq_0.listing__created_at__year
- , subq_0.listing__created_at__extract_year
- , subq_0.listing__created_at__extract_quarter
- , subq_0.listing__created_at__extract_month
- , subq_0.listing__created_at__extract_day
- , subq_0.listing__created_at__extract_dow
- , subq_0.listing__created_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.user
- , subq_0.listing__user
- , subq_0.country_latest
- , subq_0.is_lux_latest
- , subq_0.capacity_latest
- , subq_0.listing__country_latest
- , subq_0.listing__is_lux_latest
- , subq_0.listing__capacity_latest
- , subq_0.listings
- , subq_0.largest_listing
- , subq_0.smallest_listing
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.created_at__day
+ , subq_9.created_at__week
+ , subq_9.created_at__month
+ , subq_9.created_at__quarter
+ , subq_9.created_at__year
+ , subq_9.created_at__extract_year
+ , subq_9.created_at__extract_quarter
+ , subq_9.created_at__extract_month
+ , subq_9.created_at__extract_day
+ , subq_9.created_at__extract_dow
+ , subq_9.created_at__extract_doy
+ , subq_9.listing__ds__day
+ , subq_9.listing__ds__week
+ , subq_9.listing__ds__month
+ , subq_9.listing__ds__quarter
+ , subq_9.listing__ds__year
+ , subq_9.listing__ds__extract_year
+ , subq_9.listing__ds__extract_quarter
+ , subq_9.listing__ds__extract_month
+ , subq_9.listing__ds__extract_day
+ , subq_9.listing__ds__extract_dow
+ , subq_9.listing__ds__extract_doy
+ , subq_9.listing__created_at__day
+ , subq_9.listing__created_at__week
+ , subq_9.listing__created_at__month
+ , subq_9.listing__created_at__quarter
+ , subq_9.listing__created_at__year
+ , subq_9.listing__created_at__extract_year
+ , subq_9.listing__created_at__extract_quarter
+ , subq_9.listing__created_at__extract_month
+ , subq_9.listing__created_at__extract_day
+ , subq_9.listing__created_at__extract_dow
+ , subq_9.listing__created_at__extract_doy
+ , subq_9.ds__day AS metric_time__day
+ , subq_9.ds__week AS metric_time__week
+ , subq_9.ds__month AS metric_time__month
+ , subq_9.ds__quarter AS metric_time__quarter
+ , subq_9.ds__year AS metric_time__year
+ , subq_9.ds__extract_year AS metric_time__extract_year
+ , subq_9.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_9.ds__extract_month AS metric_time__extract_month
+ , subq_9.ds__extract_day AS metric_time__extract_day
+ , subq_9.ds__extract_dow AS metric_time__extract_dow
+ , subq_9.ds__extract_doy AS metric_time__extract_doy
+ , subq_9.listing
+ , subq_9.user
+ , subq_9.listing__user
+ , subq_9.country_latest
+ , subq_9.is_lux_latest
+ , subq_9.capacity_latest
+ , subq_9.listing__country_latest
+ , subq_9.listing__is_lux_latest
+ , subq_9.listing__capacity_latest
+ , subq_9.listings
+ , subq_9.largest_listing
+ , subq_9.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -287,140 +287,140 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_0
- ) subq_1
+ ) subq_9
+ ) subq_10
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__views_times_booking_value']
SELECT
- subq_13.listing
- , subq_13.listing__views_times_booking_value
+ subq_22.listing
+ , subq_22.listing__views_times_booking_value
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_12.listing
+ subq_21.listing
, booking_value * views AS listing__views_times_booking_value
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_6.listing, subq_11.listing) AS listing
- , MAX(subq_6.booking_value) AS booking_value
- , MAX(subq_11.views) AS views
+ COALESCE(subq_15.listing, subq_20.listing) AS listing
+ , MAX(subq_15.booking_value) AS booking_value
+ , MAX(subq_20.views) AS views
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.listing
- , subq_5.booking_value
+ subq_14.listing
+ , subq_14.booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_4.listing
- , SUM(subq_4.booking_value) AS booking_value
+ subq_13.listing
+ , SUM(subq_13.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value', 'listing']
SELECT
- subq_3.listing
- , subq_3.booking_value
+ subq_12.listing
+ , subq_12.booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds_partitioned__day
+ , subq_11.ds_partitioned__week
+ , subq_11.ds_partitioned__month
+ , subq_11.ds_partitioned__quarter
+ , subq_11.ds_partitioned__year
+ , subq_11.ds_partitioned__extract_year
+ , subq_11.ds_partitioned__extract_quarter
+ , subq_11.ds_partitioned__extract_month
+ , subq_11.ds_partitioned__extract_day
+ , subq_11.ds_partitioned__extract_dow
+ , subq_11.ds_partitioned__extract_doy
+ , subq_11.paid_at__day
+ , subq_11.paid_at__week
+ , subq_11.paid_at__month
+ , subq_11.paid_at__quarter
+ , subq_11.paid_at__year
+ , subq_11.paid_at__extract_year
+ , subq_11.paid_at__extract_quarter
+ , subq_11.paid_at__extract_month
+ , subq_11.paid_at__extract_day
+ , subq_11.paid_at__extract_dow
+ , subq_11.paid_at__extract_doy
+ , subq_11.booking__ds__day
+ , subq_11.booking__ds__week
+ , subq_11.booking__ds__month
+ , subq_11.booking__ds__quarter
+ , subq_11.booking__ds__year
+ , subq_11.booking__ds__extract_year
+ , subq_11.booking__ds__extract_quarter
+ , subq_11.booking__ds__extract_month
+ , subq_11.booking__ds__extract_day
+ , subq_11.booking__ds__extract_dow
+ , subq_11.booking__ds__extract_doy
+ , subq_11.booking__ds_partitioned__day
+ , subq_11.booking__ds_partitioned__week
+ , subq_11.booking__ds_partitioned__month
+ , subq_11.booking__ds_partitioned__quarter
+ , subq_11.booking__ds_partitioned__year
+ , subq_11.booking__ds_partitioned__extract_year
+ , subq_11.booking__ds_partitioned__extract_quarter
+ , subq_11.booking__ds_partitioned__extract_month
+ , subq_11.booking__ds_partitioned__extract_day
+ , subq_11.booking__ds_partitioned__extract_dow
+ , subq_11.booking__ds_partitioned__extract_doy
+ , subq_11.booking__paid_at__day
+ , subq_11.booking__paid_at__week
+ , subq_11.booking__paid_at__month
+ , subq_11.booking__paid_at__quarter
+ , subq_11.booking__paid_at__year
+ , subq_11.booking__paid_at__extract_year
+ , subq_11.booking__paid_at__extract_quarter
+ , subq_11.booking__paid_at__extract_month
+ , subq_11.booking__paid_at__extract_day
+ , subq_11.booking__paid_at__extract_dow
+ , subq_11.booking__paid_at__extract_doy
+ , subq_11.ds__day AS metric_time__day
+ , subq_11.ds__week AS metric_time__week
+ , subq_11.ds__month AS metric_time__month
+ , subq_11.ds__quarter AS metric_time__quarter
+ , subq_11.ds__year AS metric_time__year
+ , subq_11.ds__extract_year AS metric_time__extract_year
+ , subq_11.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_11.ds__extract_month AS metric_time__extract_month
+ , subq_11.ds__extract_day AS metric_time__extract_day
+ , subq_11.ds__extract_dow AS metric_time__extract_dow
+ , subq_11.ds__extract_doy AS metric_time__extract_doy
+ , subq_11.listing
+ , subq_11.guest
+ , subq_11.host
+ , subq_11.booking__listing
+ , subq_11.booking__guest
+ , subq_11.booking__host
+ , subq_11.is_instant
+ , subq_11.booking__is_instant
+ , subq_11.bookings
+ , subq_11.instant_bookings
+ , subq_11.booking_value
+ , subq_11.max_booking_value
+ , subq_11.min_booking_value
+ , subq_11.bookers
+ , subq_11.average_booking_value
+ , subq_11.referred_bookings
+ , subq_11.median_booking_value
+ , subq_11.booking_value_p99
+ , subq_11.discrete_booking_value_p99
+ , subq_11.approximate_continuous_booking_value_p99
+ , subq_11.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -513,91 +513,91 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_11
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_4.listing
- ) subq_5
- ) subq_6
+ subq_13.listing
+ ) subq_14
+ ) subq_15
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_10.listing
- , subq_10.views
+ subq_19.listing
+ , subq_19.views
FROM (
-- Aggregate Measures
SELECT
- subq_9.listing
- , SUM(subq_9.views) AS views
+ subq_18.listing
+ , SUM(subq_18.views) AS views
FROM (
-- Pass Only Elements: ['views', 'listing']
SELECT
- subq_8.listing
- , subq_8.views
+ subq_17.listing
+ , subq_17.views
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds_partitioned__day
- , subq_7.ds_partitioned__week
- , subq_7.ds_partitioned__month
- , subq_7.ds_partitioned__quarter
- , subq_7.ds_partitioned__year
- , subq_7.ds_partitioned__extract_year
- , subq_7.ds_partitioned__extract_quarter
- , subq_7.ds_partitioned__extract_month
- , subq_7.ds_partitioned__extract_day
- , subq_7.ds_partitioned__extract_dow
- , subq_7.ds_partitioned__extract_doy
- , subq_7.view__ds__day
- , subq_7.view__ds__week
- , subq_7.view__ds__month
- , subq_7.view__ds__quarter
- , subq_7.view__ds__year
- , subq_7.view__ds__extract_year
- , subq_7.view__ds__extract_quarter
- , subq_7.view__ds__extract_month
- , subq_7.view__ds__extract_day
- , subq_7.view__ds__extract_dow
- , subq_7.view__ds__extract_doy
- , subq_7.view__ds_partitioned__day
- , subq_7.view__ds_partitioned__week
- , subq_7.view__ds_partitioned__month
- , subq_7.view__ds_partitioned__quarter
- , subq_7.view__ds_partitioned__year
- , subq_7.view__ds_partitioned__extract_year
- , subq_7.view__ds_partitioned__extract_quarter
- , subq_7.view__ds_partitioned__extract_month
- , subq_7.view__ds_partitioned__extract_day
- , subq_7.view__ds_partitioned__extract_dow
- , subq_7.view__ds_partitioned__extract_doy
- , subq_7.ds__day AS metric_time__day
- , subq_7.ds__week AS metric_time__week
- , subq_7.ds__month AS metric_time__month
- , subq_7.ds__quarter AS metric_time__quarter
- , subq_7.ds__year AS metric_time__year
- , subq_7.ds__extract_year AS metric_time__extract_year
- , subq_7.ds__extract_quarter AS metric_time__extract_quarter
- , subq_7.ds__extract_month AS metric_time__extract_month
- , subq_7.ds__extract_day AS metric_time__extract_day
- , subq_7.ds__extract_dow AS metric_time__extract_dow
- , subq_7.ds__extract_doy AS metric_time__extract_doy
- , subq_7.listing
- , subq_7.user
- , subq_7.view__listing
- , subq_7.view__user
- , subq_7.views
+ subq_16.ds__day
+ , subq_16.ds__week
+ , subq_16.ds__month
+ , subq_16.ds__quarter
+ , subq_16.ds__year
+ , subq_16.ds__extract_year
+ , subq_16.ds__extract_quarter
+ , subq_16.ds__extract_month
+ , subq_16.ds__extract_day
+ , subq_16.ds__extract_dow
+ , subq_16.ds__extract_doy
+ , subq_16.ds_partitioned__day
+ , subq_16.ds_partitioned__week
+ , subq_16.ds_partitioned__month
+ , subq_16.ds_partitioned__quarter
+ , subq_16.ds_partitioned__year
+ , subq_16.ds_partitioned__extract_year
+ , subq_16.ds_partitioned__extract_quarter
+ , subq_16.ds_partitioned__extract_month
+ , subq_16.ds_partitioned__extract_day
+ , subq_16.ds_partitioned__extract_dow
+ , subq_16.ds_partitioned__extract_doy
+ , subq_16.view__ds__day
+ , subq_16.view__ds__week
+ , subq_16.view__ds__month
+ , subq_16.view__ds__quarter
+ , subq_16.view__ds__year
+ , subq_16.view__ds__extract_year
+ , subq_16.view__ds__extract_quarter
+ , subq_16.view__ds__extract_month
+ , subq_16.view__ds__extract_day
+ , subq_16.view__ds__extract_dow
+ , subq_16.view__ds__extract_doy
+ , subq_16.view__ds_partitioned__day
+ , subq_16.view__ds_partitioned__week
+ , subq_16.view__ds_partitioned__month
+ , subq_16.view__ds_partitioned__quarter
+ , subq_16.view__ds_partitioned__year
+ , subq_16.view__ds_partitioned__extract_year
+ , subq_16.view__ds_partitioned__extract_quarter
+ , subq_16.view__ds_partitioned__extract_month
+ , subq_16.view__ds_partitioned__extract_day
+ , subq_16.view__ds_partitioned__extract_dow
+ , subq_16.view__ds_partitioned__extract_doy
+ , subq_16.ds__day AS metric_time__day
+ , subq_16.ds__week AS metric_time__week
+ , subq_16.ds__month AS metric_time__month
+ , subq_16.ds__quarter AS metric_time__quarter
+ , subq_16.ds__year AS metric_time__year
+ , subq_16.ds__extract_year AS metric_time__extract_year
+ , subq_16.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_16.ds__extract_month AS metric_time__extract_month
+ , subq_16.ds__extract_day AS metric_time__extract_day
+ , subq_16.ds__extract_dow AS metric_time__extract_dow
+ , subq_16.ds__extract_doy AS metric_time__extract_doy
+ , subq_16.listing
+ , subq_16.user
+ , subq_16.view__listing
+ , subq_16.view__user
+ , subq_16.views
FROM (
-- Read Elements From Semantic Model 'views_source'
SELECT
@@ -651,24 +651,24 @@ FROM (
, views_source_src_28000.listing_id AS view__listing
, views_source_src_28000.user_id AS view__user
FROM ***************************.fct_views views_source_src_28000
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_16
+ ) subq_17
+ ) subq_18
GROUP BY
- subq_9.listing
- ) subq_10
- ) subq_11
+ subq_18.listing
+ ) subq_19
+ ) subq_20
ON
- subq_6.listing = subq_11.listing
+ subq_15.listing = subq_20.listing
GROUP BY
- COALESCE(subq_6.listing, subq_11.listing)
- ) subq_12
- ) subq_13
- ) subq_14
+ COALESCE(subq_15.listing, subq_20.listing)
+ ) subq_21
+ ) subq_22
+ ) subq_23
ON
- subq_1.listing = subq_14.listing
- ) subq_15
+ subq_10.listing = subq_23.listing
+ ) subq_24
WHERE listing__views_times_booking_value > 1
- ) subq_16
- ) subq_17
-) subq_18
+ ) subq_25
+ ) subq_26
+) subq_27
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_derived_metric_in_where_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_derived_metric_in_where_filter__plan0_optimized.sql
index 8f88a88e44..c0adf89195 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_derived_metric_in_where_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_derived_metric_in_where_filter__plan0_optimized.sql
@@ -13,8 +13,8 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_33.listing__views_times_booking_value AS listing__views_times_booking_value
- , subq_20.listings AS listings
+ subq_42.listing__views_times_booking_value AS listing__views_times_booking_value
+ , subq_29.listings AS listings
FROM (
-- Read Elements From Semantic Model 'listings_latest'
-- Metric Time Dimension 'ds'
@@ -22,7 +22,7 @@ FROM (
listing_id AS listing
, 1 AS listings
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_20
+ ) subq_29
LEFT OUTER JOIN (
-- Compute Metrics via Expressions
-- Pass Only Elements: ['listing', 'listing__views_times_booking_value']
@@ -32,9 +32,9 @@ FROM (
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_25.listing, subq_30.listing) AS listing
- , MAX(subq_25.booking_value) AS booking_value
- , MAX(subq_30.views) AS views
+ COALESCE(subq_34.listing, subq_39.listing) AS listing
+ , MAX(subq_34.booking_value) AS booking_value
+ , MAX(subq_39.views) AS views
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -47,7 +47,7 @@ FROM (
FROM ***************************.fct_bookings bookings_source_src_28000
GROUP BY
listing_id
- ) subq_25
+ ) subq_34
FULL OUTER JOIN (
-- Aggregate Measures
-- Compute Metrics via Expressions
@@ -62,17 +62,17 @@ FROM (
listing_id AS listing
, 1 AS views
FROM ***************************.fct_views views_source_src_28000
- ) subq_28
+ ) subq_37
GROUP BY
listing
- ) subq_30
+ ) subq_39
ON
- subq_25.listing = subq_30.listing
+ subq_34.listing = subq_39.listing
GROUP BY
- COALESCE(subq_25.listing, subq_30.listing)
- ) subq_31
- ) subq_33
+ COALESCE(subq_34.listing, subq_39.listing)
+ ) subq_40
+ ) subq_42
ON
- subq_20.listing = subq_33.listing
-) subq_34
+ subq_29.listing = subq_42.listing
+) subq_43
WHERE listing__views_times_booking_value > 1
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_multiple_metrics_in_filter__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_multiple_metrics_in_filter__plan0.sql
index fb6e976345..b36f47360a 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_multiple_metrics_in_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_multiple_metrics_in_filter__plan0.sql
@@ -6,229 +6,229 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_17.listings
+ subq_22.listings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_16.listings) AS listings
+ SUM(subq_21.listings) AS listings
FROM (
-- Pass Only Elements: ['listings',]
SELECT
- subq_15.listings
+ subq_20.listings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_14.ds__day
- , subq_14.ds__week
- , subq_14.ds__month
- , subq_14.ds__quarter
- , subq_14.ds__year
- , subq_14.ds__extract_year
- , subq_14.ds__extract_quarter
- , subq_14.ds__extract_month
- , subq_14.ds__extract_day
- , subq_14.ds__extract_dow
- , subq_14.ds__extract_doy
- , subq_14.created_at__day
- , subq_14.created_at__week
- , subq_14.created_at__month
- , subq_14.created_at__quarter
- , subq_14.created_at__year
- , subq_14.created_at__extract_year
- , subq_14.created_at__extract_quarter
- , subq_14.created_at__extract_month
- , subq_14.created_at__extract_day
- , subq_14.created_at__extract_dow
- , subq_14.created_at__extract_doy
- , subq_14.listing__ds__day
- , subq_14.listing__ds__week
- , subq_14.listing__ds__month
- , subq_14.listing__ds__quarter
- , subq_14.listing__ds__year
- , subq_14.listing__ds__extract_year
- , subq_14.listing__ds__extract_quarter
- , subq_14.listing__ds__extract_month
- , subq_14.listing__ds__extract_day
- , subq_14.listing__ds__extract_dow
- , subq_14.listing__ds__extract_doy
- , subq_14.listing__created_at__day
- , subq_14.listing__created_at__week
- , subq_14.listing__created_at__month
- , subq_14.listing__created_at__quarter
- , subq_14.listing__created_at__year
- , subq_14.listing__created_at__extract_year
- , subq_14.listing__created_at__extract_quarter
- , subq_14.listing__created_at__extract_month
- , subq_14.listing__created_at__extract_day
- , subq_14.listing__created_at__extract_dow
- , subq_14.listing__created_at__extract_doy
- , subq_14.metric_time__day
- , subq_14.metric_time__week
- , subq_14.metric_time__month
- , subq_14.metric_time__quarter
- , subq_14.metric_time__year
- , subq_14.metric_time__extract_year
- , subq_14.metric_time__extract_quarter
- , subq_14.metric_time__extract_month
- , subq_14.metric_time__extract_day
- , subq_14.metric_time__extract_dow
- , subq_14.metric_time__extract_doy
- , subq_14.listing
- , subq_14.user
- , subq_14.listing__user
- , subq_14.country_latest
- , subq_14.is_lux_latest
- , subq_14.capacity_latest
- , subq_14.listing__country_latest
- , subq_14.listing__is_lux_latest
- , subq_14.listing__capacity_latest
- , subq_14.listing__bookings
- , subq_14.listing__bookers
- , subq_14.listings
- , subq_14.largest_listing
- , subq_14.smallest_listing
+ subq_19.ds__day
+ , subq_19.ds__week
+ , subq_19.ds__month
+ , subq_19.ds__quarter
+ , subq_19.ds__year
+ , subq_19.ds__extract_year
+ , subq_19.ds__extract_quarter
+ , subq_19.ds__extract_month
+ , subq_19.ds__extract_day
+ , subq_19.ds__extract_dow
+ , subq_19.ds__extract_doy
+ , subq_19.created_at__day
+ , subq_19.created_at__week
+ , subq_19.created_at__month
+ , subq_19.created_at__quarter
+ , subq_19.created_at__year
+ , subq_19.created_at__extract_year
+ , subq_19.created_at__extract_quarter
+ , subq_19.created_at__extract_month
+ , subq_19.created_at__extract_day
+ , subq_19.created_at__extract_dow
+ , subq_19.created_at__extract_doy
+ , subq_19.listing__ds__day
+ , subq_19.listing__ds__week
+ , subq_19.listing__ds__month
+ , subq_19.listing__ds__quarter
+ , subq_19.listing__ds__year
+ , subq_19.listing__ds__extract_year
+ , subq_19.listing__ds__extract_quarter
+ , subq_19.listing__ds__extract_month
+ , subq_19.listing__ds__extract_day
+ , subq_19.listing__ds__extract_dow
+ , subq_19.listing__ds__extract_doy
+ , subq_19.listing__created_at__day
+ , subq_19.listing__created_at__week
+ , subq_19.listing__created_at__month
+ , subq_19.listing__created_at__quarter
+ , subq_19.listing__created_at__year
+ , subq_19.listing__created_at__extract_year
+ , subq_19.listing__created_at__extract_quarter
+ , subq_19.listing__created_at__extract_month
+ , subq_19.listing__created_at__extract_day
+ , subq_19.listing__created_at__extract_dow
+ , subq_19.listing__created_at__extract_doy
+ , subq_19.metric_time__day
+ , subq_19.metric_time__week
+ , subq_19.metric_time__month
+ , subq_19.metric_time__quarter
+ , subq_19.metric_time__year
+ , subq_19.metric_time__extract_year
+ , subq_19.metric_time__extract_quarter
+ , subq_19.metric_time__extract_month
+ , subq_19.metric_time__extract_day
+ , subq_19.metric_time__extract_dow
+ , subq_19.metric_time__extract_doy
+ , subq_19.listing
+ , subq_19.user
+ , subq_19.listing__user
+ , subq_19.country_latest
+ , subq_19.is_lux_latest
+ , subq_19.capacity_latest
+ , subq_19.listing__country_latest
+ , subq_19.listing__is_lux_latest
+ , subq_19.listing__capacity_latest
+ , subq_19.listing__bookings
+ , subq_19.listing__bookers
+ , subq_19.listings
+ , subq_19.largest_listing
+ , subq_19.smallest_listing
FROM (
-- Join Standard Outputs
SELECT
- subq_7.listing__bookings AS listing__bookings
- , subq_13.listing__bookers AS listing__bookers
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.created_at__day AS created_at__day
- , subq_1.created_at__week AS created_at__week
- , subq_1.created_at__month AS created_at__month
- , subq_1.created_at__quarter AS created_at__quarter
- , subq_1.created_at__year AS created_at__year
- , subq_1.created_at__extract_year AS created_at__extract_year
- , subq_1.created_at__extract_quarter AS created_at__extract_quarter
- , subq_1.created_at__extract_month AS created_at__extract_month
- , subq_1.created_at__extract_day AS created_at__extract_day
- , subq_1.created_at__extract_dow AS created_at__extract_dow
- , subq_1.created_at__extract_doy AS created_at__extract_doy
- , subq_1.listing__ds__day AS listing__ds__day
- , subq_1.listing__ds__week AS listing__ds__week
- , subq_1.listing__ds__month AS listing__ds__month
- , subq_1.listing__ds__quarter AS listing__ds__quarter
- , subq_1.listing__ds__year AS listing__ds__year
- , subq_1.listing__ds__extract_year AS listing__ds__extract_year
- , subq_1.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_1.listing__ds__extract_month AS listing__ds__extract_month
- , subq_1.listing__ds__extract_day AS listing__ds__extract_day
- , subq_1.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_1.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_1.listing__created_at__day AS listing__created_at__day
- , subq_1.listing__created_at__week AS listing__created_at__week
- , subq_1.listing__created_at__month AS listing__created_at__month
- , subq_1.listing__created_at__quarter AS listing__created_at__quarter
- , subq_1.listing__created_at__year AS listing__created_at__year
- , subq_1.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_1.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_1.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_1.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_1.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_1.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.user AS user
- , subq_1.listing__user AS listing__user
- , subq_1.country_latest AS country_latest
- , subq_1.is_lux_latest AS is_lux_latest
- , subq_1.capacity_latest AS capacity_latest
- , subq_1.listing__country_latest AS listing__country_latest
- , subq_1.listing__is_lux_latest AS listing__is_lux_latest
- , subq_1.listing__capacity_latest AS listing__capacity_latest
- , subq_1.listings AS listings
- , subq_1.largest_listing AS largest_listing
- , subq_1.smallest_listing AS smallest_listing
+ subq_13.listing__bookings AS listing__bookings
+ , subq_18.listing__bookers AS listing__bookers
+ , subq_7.ds__day AS ds__day
+ , subq_7.ds__week AS ds__week
+ , subq_7.ds__month AS ds__month
+ , subq_7.ds__quarter AS ds__quarter
+ , subq_7.ds__year AS ds__year
+ , subq_7.ds__extract_year AS ds__extract_year
+ , subq_7.ds__extract_quarter AS ds__extract_quarter
+ , subq_7.ds__extract_month AS ds__extract_month
+ , subq_7.ds__extract_day AS ds__extract_day
+ , subq_7.ds__extract_dow AS ds__extract_dow
+ , subq_7.ds__extract_doy AS ds__extract_doy
+ , subq_7.created_at__day AS created_at__day
+ , subq_7.created_at__week AS created_at__week
+ , subq_7.created_at__month AS created_at__month
+ , subq_7.created_at__quarter AS created_at__quarter
+ , subq_7.created_at__year AS created_at__year
+ , subq_7.created_at__extract_year AS created_at__extract_year
+ , subq_7.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_7.created_at__extract_month AS created_at__extract_month
+ , subq_7.created_at__extract_day AS created_at__extract_day
+ , subq_7.created_at__extract_dow AS created_at__extract_dow
+ , subq_7.created_at__extract_doy AS created_at__extract_doy
+ , subq_7.listing__ds__day AS listing__ds__day
+ , subq_7.listing__ds__week AS listing__ds__week
+ , subq_7.listing__ds__month AS listing__ds__month
+ , subq_7.listing__ds__quarter AS listing__ds__quarter
+ , subq_7.listing__ds__year AS listing__ds__year
+ , subq_7.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_7.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_7.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_7.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_7.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_7.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_7.listing__created_at__day AS listing__created_at__day
+ , subq_7.listing__created_at__week AS listing__created_at__week
+ , subq_7.listing__created_at__month AS listing__created_at__month
+ , subq_7.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_7.listing__created_at__year AS listing__created_at__year
+ , subq_7.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_7.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_7.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_7.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_7.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_7.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_7.metric_time__day AS metric_time__day
+ , subq_7.metric_time__week AS metric_time__week
+ , subq_7.metric_time__month AS metric_time__month
+ , subq_7.metric_time__quarter AS metric_time__quarter
+ , subq_7.metric_time__year AS metric_time__year
+ , subq_7.metric_time__extract_year AS metric_time__extract_year
+ , subq_7.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_7.metric_time__extract_month AS metric_time__extract_month
+ , subq_7.metric_time__extract_day AS metric_time__extract_day
+ , subq_7.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_7.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_7.listing AS listing
+ , subq_7.user AS user
+ , subq_7.listing__user AS listing__user
+ , subq_7.country_latest AS country_latest
+ , subq_7.is_lux_latest AS is_lux_latest
+ , subq_7.capacity_latest AS capacity_latest
+ , subq_7.listing__country_latest AS listing__country_latest
+ , subq_7.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_7.listing__capacity_latest AS listing__capacity_latest
+ , subq_7.listings AS listings
+ , subq_7.largest_listing AS largest_listing
+ , subq_7.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.listing__ds__day
- , subq_0.listing__ds__week
- , subq_0.listing__ds__month
- , subq_0.listing__ds__quarter
- , subq_0.listing__ds__year
- , subq_0.listing__ds__extract_year
- , subq_0.listing__ds__extract_quarter
- , subq_0.listing__ds__extract_month
- , subq_0.listing__ds__extract_day
- , subq_0.listing__ds__extract_dow
- , subq_0.listing__ds__extract_doy
- , subq_0.listing__created_at__day
- , subq_0.listing__created_at__week
- , subq_0.listing__created_at__month
- , subq_0.listing__created_at__quarter
- , subq_0.listing__created_at__year
- , subq_0.listing__created_at__extract_year
- , subq_0.listing__created_at__extract_quarter
- , subq_0.listing__created_at__extract_month
- , subq_0.listing__created_at__extract_day
- , subq_0.listing__created_at__extract_dow
- , subq_0.listing__created_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.user
- , subq_0.listing__user
- , subq_0.country_latest
- , subq_0.is_lux_latest
- , subq_0.capacity_latest
- , subq_0.listing__country_latest
- , subq_0.listing__is_lux_latest
- , subq_0.listing__capacity_latest
- , subq_0.listings
- , subq_0.largest_listing
- , subq_0.smallest_listing
+ subq_6.ds__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.created_at__day
+ , subq_6.created_at__week
+ , subq_6.created_at__month
+ , subq_6.created_at__quarter
+ , subq_6.created_at__year
+ , subq_6.created_at__extract_year
+ , subq_6.created_at__extract_quarter
+ , subq_6.created_at__extract_month
+ , subq_6.created_at__extract_day
+ , subq_6.created_at__extract_dow
+ , subq_6.created_at__extract_doy
+ , subq_6.listing__ds__day
+ , subq_6.listing__ds__week
+ , subq_6.listing__ds__month
+ , subq_6.listing__ds__quarter
+ , subq_6.listing__ds__year
+ , subq_6.listing__ds__extract_year
+ , subq_6.listing__ds__extract_quarter
+ , subq_6.listing__ds__extract_month
+ , subq_6.listing__ds__extract_day
+ , subq_6.listing__ds__extract_dow
+ , subq_6.listing__ds__extract_doy
+ , subq_6.listing__created_at__day
+ , subq_6.listing__created_at__week
+ , subq_6.listing__created_at__month
+ , subq_6.listing__created_at__quarter
+ , subq_6.listing__created_at__year
+ , subq_6.listing__created_at__extract_year
+ , subq_6.listing__created_at__extract_quarter
+ , subq_6.listing__created_at__extract_month
+ , subq_6.listing__created_at__extract_day
+ , subq_6.listing__created_at__extract_dow
+ , subq_6.listing__created_at__extract_doy
+ , subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week AS metric_time__week
+ , subq_6.ds__month AS metric_time__month
+ , subq_6.ds__quarter AS metric_time__quarter
+ , subq_6.ds__year AS metric_time__year
+ , subq_6.ds__extract_year AS metric_time__extract_year
+ , subq_6.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_6.ds__extract_month AS metric_time__extract_month
+ , subq_6.ds__extract_day AS metric_time__extract_day
+ , subq_6.ds__extract_dow AS metric_time__extract_dow
+ , subq_6.ds__extract_doy AS metric_time__extract_doy
+ , subq_6.listing
+ , subq_6.user
+ , subq_6.listing__user
+ , subq_6.country_latest
+ , subq_6.is_lux_latest
+ , subq_6.capacity_latest
+ , subq_6.listing__country_latest
+ , subq_6.listing__is_lux_latest
+ , subq_6.listing__capacity_latest
+ , subq_6.listings
+ , subq_6.largest_listing
+ , subq_6.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -289,129 +289,129 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_0
- ) subq_1
+ ) subq_6
+ ) subq_7
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__bookings']
SELECT
- subq_6.listing
- , subq_6.listing__bookings
+ subq_12.listing
+ , subq_12.listing__bookings
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.listing
- , subq_5.bookings AS listing__bookings
+ subq_11.listing
+ , subq_11.bookings AS listing__bookings
FROM (
-- Aggregate Measures
SELECT
- subq_4.listing
- , SUM(subq_4.bookings) AS bookings
+ subq_10.listing
+ , SUM(subq_10.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing']
SELECT
- subq_3.listing
- , subq_3.bookings
+ subq_9.listing
+ , subq_9.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.ds_partitioned__day
+ , subq_8.ds_partitioned__week
+ , subq_8.ds_partitioned__month
+ , subq_8.ds_partitioned__quarter
+ , subq_8.ds_partitioned__year
+ , subq_8.ds_partitioned__extract_year
+ , subq_8.ds_partitioned__extract_quarter
+ , subq_8.ds_partitioned__extract_month
+ , subq_8.ds_partitioned__extract_day
+ , subq_8.ds_partitioned__extract_dow
+ , subq_8.ds_partitioned__extract_doy
+ , subq_8.paid_at__day
+ , subq_8.paid_at__week
+ , subq_8.paid_at__month
+ , subq_8.paid_at__quarter
+ , subq_8.paid_at__year
+ , subq_8.paid_at__extract_year
+ , subq_8.paid_at__extract_quarter
+ , subq_8.paid_at__extract_month
+ , subq_8.paid_at__extract_day
+ , subq_8.paid_at__extract_dow
+ , subq_8.paid_at__extract_doy
+ , subq_8.booking__ds__day
+ , subq_8.booking__ds__week
+ , subq_8.booking__ds__month
+ , subq_8.booking__ds__quarter
+ , subq_8.booking__ds__year
+ , subq_8.booking__ds__extract_year
+ , subq_8.booking__ds__extract_quarter
+ , subq_8.booking__ds__extract_month
+ , subq_8.booking__ds__extract_day
+ , subq_8.booking__ds__extract_dow
+ , subq_8.booking__ds__extract_doy
+ , subq_8.booking__ds_partitioned__day
+ , subq_8.booking__ds_partitioned__week
+ , subq_8.booking__ds_partitioned__month
+ , subq_8.booking__ds_partitioned__quarter
+ , subq_8.booking__ds_partitioned__year
+ , subq_8.booking__ds_partitioned__extract_year
+ , subq_8.booking__ds_partitioned__extract_quarter
+ , subq_8.booking__ds_partitioned__extract_month
+ , subq_8.booking__ds_partitioned__extract_day
+ , subq_8.booking__ds_partitioned__extract_dow
+ , subq_8.booking__ds_partitioned__extract_doy
+ , subq_8.booking__paid_at__day
+ , subq_8.booking__paid_at__week
+ , subq_8.booking__paid_at__month
+ , subq_8.booking__paid_at__quarter
+ , subq_8.booking__paid_at__year
+ , subq_8.booking__paid_at__extract_year
+ , subq_8.booking__paid_at__extract_quarter
+ , subq_8.booking__paid_at__extract_month
+ , subq_8.booking__paid_at__extract_day
+ , subq_8.booking__paid_at__extract_dow
+ , subq_8.booking__paid_at__extract_doy
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.listing
+ , subq_8.guest
+ , subq_8.host
+ , subq_8.booking__listing
+ , subq_8.booking__guest
+ , subq_8.booking__host
+ , subq_8.is_instant
+ , subq_8.booking__is_instant
+ , subq_8.bookings
+ , subq_8.instant_bookings
+ , subq_8.booking_value
+ , subq_8.max_booking_value
+ , subq_8.min_booking_value
+ , subq_8.bookers
+ , subq_8.average_booking_value
+ , subq_8.referred_bookings
+ , subq_8.median_booking_value
+ , subq_8.booking_value_p99
+ , subq_8.discrete_booking_value_p99
+ , subq_8.approximate_continuous_booking_value_p99
+ , subq_8.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -504,36 +504,36 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_8
+ ) subq_9
+ ) subq_10
GROUP BY
- subq_4.listing
- ) subq_5
- ) subq_6
- ) subq_7
+ subq_10.listing
+ ) subq_11
+ ) subq_12
+ ) subq_13
ON
- subq_1.listing = subq_7.listing
+ subq_7.listing = subq_13.listing
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__bookers']
SELECT
- subq_12.listing
- , subq_12.listing__bookers
+ subq_17.listing
+ , subq_17.listing__bookers
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_11.listing
- , subq_11.bookers AS listing__bookers
+ subq_16.listing
+ , subq_16.bookers AS listing__bookers
FROM (
-- Aggregate Measures
SELECT
- subq_10.listing
- , COUNT(DISTINCT subq_10.bookers) AS bookers
+ subq_15.listing
+ , COUNT(DISTINCT subq_15.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers', 'listing']
SELECT
- subq_9.listing
- , subq_9.bookers
+ subq_14.listing
+ , subq_14.bookers
FROM (
-- Metric Time Dimension 'ds'
SELECT
@@ -728,17 +728,17 @@ FROM (
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
) subq_8
- ) subq_9
- ) subq_10
+ ) subq_14
+ ) subq_15
GROUP BY
- subq_10.listing
- ) subq_11
- ) subq_12
- ) subq_13
+ subq_15.listing
+ ) subq_16
+ ) subq_17
+ ) subq_18
ON
- subq_1.listing = subq_13.listing
- ) subq_14
+ subq_7.listing = subq_18.listing
+ ) subq_19
WHERE listing__bookings > 2 AND listing__bookers > 1
- ) subq_15
- ) subq_16
-) subq_17
+ ) subq_20
+ ) subq_21
+) subq_22
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_multiple_metrics_in_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_multiple_metrics_in_filter__plan0_optimized.sql
index e4d413bf79..5c76770a16 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_multiple_metrics_in_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_multiple_metrics_in_filter__plan0_optimized.sql
@@ -23,9 +23,9 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_25.listing__bookings AS listing__bookings
- , subq_30.listing__bookers AS listing__bookers
- , subq_19.listings AS listings
+ subq_30.listing__bookings AS listing__bookings
+ , subq_35.listing__bookers AS listing__bookers
+ , subq_24.listings AS listings
FROM (
-- Read Elements From Semantic Model 'listings_latest'
-- Metric Time Dimension 'ds'
@@ -33,7 +33,7 @@ FROM (
listing_id AS listing
, 1 AS listings
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_19
+ ) subq_24
LEFT OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'listing']
@@ -46,9 +46,9 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
listing
- ) subq_25
+ ) subq_30
ON
- subq_19.listing = subq_25.listing
+ subq_24.listing = subq_30.listing
LEFT OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookers', 'listing']
@@ -61,8 +61,8 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
listing
- ) subq_30
+ ) subq_35
ON
- subq_19.listing = subq_30.listing
-) subq_31
+ subq_24.listing = subq_35.listing
+) subq_36
WHERE listing__bookings > 2 AND listing__bookers > 1
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_ratio_metric_in_where_filter__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_ratio_metric_in_where_filter__plan0.sql
index d982b173a8..be55b35ac5 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_ratio_metric_in_where_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_ratio_metric_in_where_filter__plan0.sql
@@ -6,227 +6,227 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_18.listings
+ subq_26.listings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_17.listings) AS listings
+ SUM(subq_25.listings) AS listings
FROM (
-- Pass Only Elements: ['listings',]
SELECT
- subq_16.listings
+ subq_24.listings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_15.ds__day
- , subq_15.ds__week
- , subq_15.ds__month
- , subq_15.ds__quarter
- , subq_15.ds__year
- , subq_15.ds__extract_year
- , subq_15.ds__extract_quarter
- , subq_15.ds__extract_month
- , subq_15.ds__extract_day
- , subq_15.ds__extract_dow
- , subq_15.ds__extract_doy
- , subq_15.created_at__day
- , subq_15.created_at__week
- , subq_15.created_at__month
- , subq_15.created_at__quarter
- , subq_15.created_at__year
- , subq_15.created_at__extract_year
- , subq_15.created_at__extract_quarter
- , subq_15.created_at__extract_month
- , subq_15.created_at__extract_day
- , subq_15.created_at__extract_dow
- , subq_15.created_at__extract_doy
- , subq_15.listing__ds__day
- , subq_15.listing__ds__week
- , subq_15.listing__ds__month
- , subq_15.listing__ds__quarter
- , subq_15.listing__ds__year
- , subq_15.listing__ds__extract_year
- , subq_15.listing__ds__extract_quarter
- , subq_15.listing__ds__extract_month
- , subq_15.listing__ds__extract_day
- , subq_15.listing__ds__extract_dow
- , subq_15.listing__ds__extract_doy
- , subq_15.listing__created_at__day
- , subq_15.listing__created_at__week
- , subq_15.listing__created_at__month
- , subq_15.listing__created_at__quarter
- , subq_15.listing__created_at__year
- , subq_15.listing__created_at__extract_year
- , subq_15.listing__created_at__extract_quarter
- , subq_15.listing__created_at__extract_month
- , subq_15.listing__created_at__extract_day
- , subq_15.listing__created_at__extract_dow
- , subq_15.listing__created_at__extract_doy
- , subq_15.metric_time__day
- , subq_15.metric_time__week
- , subq_15.metric_time__month
- , subq_15.metric_time__quarter
- , subq_15.metric_time__year
- , subq_15.metric_time__extract_year
- , subq_15.metric_time__extract_quarter
- , subq_15.metric_time__extract_month
- , subq_15.metric_time__extract_day
- , subq_15.metric_time__extract_dow
- , subq_15.metric_time__extract_doy
- , subq_15.listing
- , subq_15.user
- , subq_15.listing__user
- , subq_15.country_latest
- , subq_15.is_lux_latest
- , subq_15.capacity_latest
- , subq_15.listing__country_latest
- , subq_15.listing__is_lux_latest
- , subq_15.listing__capacity_latest
- , subq_15.listing__bookings_per_booker
- , subq_15.listings
- , subq_15.largest_listing
- , subq_15.smallest_listing
+ subq_23.ds__day
+ , subq_23.ds__week
+ , subq_23.ds__month
+ , subq_23.ds__quarter
+ , subq_23.ds__year
+ , subq_23.ds__extract_year
+ , subq_23.ds__extract_quarter
+ , subq_23.ds__extract_month
+ , subq_23.ds__extract_day
+ , subq_23.ds__extract_dow
+ , subq_23.ds__extract_doy
+ , subq_23.created_at__day
+ , subq_23.created_at__week
+ , subq_23.created_at__month
+ , subq_23.created_at__quarter
+ , subq_23.created_at__year
+ , subq_23.created_at__extract_year
+ , subq_23.created_at__extract_quarter
+ , subq_23.created_at__extract_month
+ , subq_23.created_at__extract_day
+ , subq_23.created_at__extract_dow
+ , subq_23.created_at__extract_doy
+ , subq_23.listing__ds__day
+ , subq_23.listing__ds__week
+ , subq_23.listing__ds__month
+ , subq_23.listing__ds__quarter
+ , subq_23.listing__ds__year
+ , subq_23.listing__ds__extract_year
+ , subq_23.listing__ds__extract_quarter
+ , subq_23.listing__ds__extract_month
+ , subq_23.listing__ds__extract_day
+ , subq_23.listing__ds__extract_dow
+ , subq_23.listing__ds__extract_doy
+ , subq_23.listing__created_at__day
+ , subq_23.listing__created_at__week
+ , subq_23.listing__created_at__month
+ , subq_23.listing__created_at__quarter
+ , subq_23.listing__created_at__year
+ , subq_23.listing__created_at__extract_year
+ , subq_23.listing__created_at__extract_quarter
+ , subq_23.listing__created_at__extract_month
+ , subq_23.listing__created_at__extract_day
+ , subq_23.listing__created_at__extract_dow
+ , subq_23.listing__created_at__extract_doy
+ , subq_23.metric_time__day
+ , subq_23.metric_time__week
+ , subq_23.metric_time__month
+ , subq_23.metric_time__quarter
+ , subq_23.metric_time__year
+ , subq_23.metric_time__extract_year
+ , subq_23.metric_time__extract_quarter
+ , subq_23.metric_time__extract_month
+ , subq_23.metric_time__extract_day
+ , subq_23.metric_time__extract_dow
+ , subq_23.metric_time__extract_doy
+ , subq_23.listing
+ , subq_23.user
+ , subq_23.listing__user
+ , subq_23.country_latest
+ , subq_23.is_lux_latest
+ , subq_23.capacity_latest
+ , subq_23.listing__country_latest
+ , subq_23.listing__is_lux_latest
+ , subq_23.listing__capacity_latest
+ , subq_23.listing__bookings_per_booker
+ , subq_23.listings
+ , subq_23.largest_listing
+ , subq_23.smallest_listing
FROM (
-- Join Standard Outputs
SELECT
- subq_14.listing__bookings_per_booker AS listing__bookings_per_booker
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.created_at__day AS created_at__day
- , subq_1.created_at__week AS created_at__week
- , subq_1.created_at__month AS created_at__month
- , subq_1.created_at__quarter AS created_at__quarter
- , subq_1.created_at__year AS created_at__year
- , subq_1.created_at__extract_year AS created_at__extract_year
- , subq_1.created_at__extract_quarter AS created_at__extract_quarter
- , subq_1.created_at__extract_month AS created_at__extract_month
- , subq_1.created_at__extract_day AS created_at__extract_day
- , subq_1.created_at__extract_dow AS created_at__extract_dow
- , subq_1.created_at__extract_doy AS created_at__extract_doy
- , subq_1.listing__ds__day AS listing__ds__day
- , subq_1.listing__ds__week AS listing__ds__week
- , subq_1.listing__ds__month AS listing__ds__month
- , subq_1.listing__ds__quarter AS listing__ds__quarter
- , subq_1.listing__ds__year AS listing__ds__year
- , subq_1.listing__ds__extract_year AS listing__ds__extract_year
- , subq_1.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_1.listing__ds__extract_month AS listing__ds__extract_month
- , subq_1.listing__ds__extract_day AS listing__ds__extract_day
- , subq_1.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_1.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_1.listing__created_at__day AS listing__created_at__day
- , subq_1.listing__created_at__week AS listing__created_at__week
- , subq_1.listing__created_at__month AS listing__created_at__month
- , subq_1.listing__created_at__quarter AS listing__created_at__quarter
- , subq_1.listing__created_at__year AS listing__created_at__year
- , subq_1.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_1.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_1.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_1.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_1.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_1.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.user AS user
- , subq_1.listing__user AS listing__user
- , subq_1.country_latest AS country_latest
- , subq_1.is_lux_latest AS is_lux_latest
- , subq_1.capacity_latest AS capacity_latest
- , subq_1.listing__country_latest AS listing__country_latest
- , subq_1.listing__is_lux_latest AS listing__is_lux_latest
- , subq_1.listing__capacity_latest AS listing__capacity_latest
- , subq_1.listings AS listings
- , subq_1.largest_listing AS largest_listing
- , subq_1.smallest_listing AS smallest_listing
+ subq_22.listing__bookings_per_booker AS listing__bookings_per_booker
+ , subq_10.ds__day AS ds__day
+ , subq_10.ds__week AS ds__week
+ , subq_10.ds__month AS ds__month
+ , subq_10.ds__quarter AS ds__quarter
+ , subq_10.ds__year AS ds__year
+ , subq_10.ds__extract_year AS ds__extract_year
+ , subq_10.ds__extract_quarter AS ds__extract_quarter
+ , subq_10.ds__extract_month AS ds__extract_month
+ , subq_10.ds__extract_day AS ds__extract_day
+ , subq_10.ds__extract_dow AS ds__extract_dow
+ , subq_10.ds__extract_doy AS ds__extract_doy
+ , subq_10.created_at__day AS created_at__day
+ , subq_10.created_at__week AS created_at__week
+ , subq_10.created_at__month AS created_at__month
+ , subq_10.created_at__quarter AS created_at__quarter
+ , subq_10.created_at__year AS created_at__year
+ , subq_10.created_at__extract_year AS created_at__extract_year
+ , subq_10.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_10.created_at__extract_month AS created_at__extract_month
+ , subq_10.created_at__extract_day AS created_at__extract_day
+ , subq_10.created_at__extract_dow AS created_at__extract_dow
+ , subq_10.created_at__extract_doy AS created_at__extract_doy
+ , subq_10.listing__ds__day AS listing__ds__day
+ , subq_10.listing__ds__week AS listing__ds__week
+ , subq_10.listing__ds__month AS listing__ds__month
+ , subq_10.listing__ds__quarter AS listing__ds__quarter
+ , subq_10.listing__ds__year AS listing__ds__year
+ , subq_10.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_10.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_10.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_10.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_10.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_10.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_10.listing__created_at__day AS listing__created_at__day
+ , subq_10.listing__created_at__week AS listing__created_at__week
+ , subq_10.listing__created_at__month AS listing__created_at__month
+ , subq_10.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_10.listing__created_at__year AS listing__created_at__year
+ , subq_10.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_10.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_10.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_10.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_10.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_10.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_10.metric_time__day AS metric_time__day
+ , subq_10.metric_time__week AS metric_time__week
+ , subq_10.metric_time__month AS metric_time__month
+ , subq_10.metric_time__quarter AS metric_time__quarter
+ , subq_10.metric_time__year AS metric_time__year
+ , subq_10.metric_time__extract_year AS metric_time__extract_year
+ , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_10.metric_time__extract_month AS metric_time__extract_month
+ , subq_10.metric_time__extract_day AS metric_time__extract_day
+ , subq_10.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_10.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_10.listing AS listing
+ , subq_10.user AS user
+ , subq_10.listing__user AS listing__user
+ , subq_10.country_latest AS country_latest
+ , subq_10.is_lux_latest AS is_lux_latest
+ , subq_10.capacity_latest AS capacity_latest
+ , subq_10.listing__country_latest AS listing__country_latest
+ , subq_10.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_10.listing__capacity_latest AS listing__capacity_latest
+ , subq_10.listings AS listings
+ , subq_10.largest_listing AS largest_listing
+ , subq_10.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.listing__ds__day
- , subq_0.listing__ds__week
- , subq_0.listing__ds__month
- , subq_0.listing__ds__quarter
- , subq_0.listing__ds__year
- , subq_0.listing__ds__extract_year
- , subq_0.listing__ds__extract_quarter
- , subq_0.listing__ds__extract_month
- , subq_0.listing__ds__extract_day
- , subq_0.listing__ds__extract_dow
- , subq_0.listing__ds__extract_doy
- , subq_0.listing__created_at__day
- , subq_0.listing__created_at__week
- , subq_0.listing__created_at__month
- , subq_0.listing__created_at__quarter
- , subq_0.listing__created_at__year
- , subq_0.listing__created_at__extract_year
- , subq_0.listing__created_at__extract_quarter
- , subq_0.listing__created_at__extract_month
- , subq_0.listing__created_at__extract_day
- , subq_0.listing__created_at__extract_dow
- , subq_0.listing__created_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.user
- , subq_0.listing__user
- , subq_0.country_latest
- , subq_0.is_lux_latest
- , subq_0.capacity_latest
- , subq_0.listing__country_latest
- , subq_0.listing__is_lux_latest
- , subq_0.listing__capacity_latest
- , subq_0.listings
- , subq_0.largest_listing
- , subq_0.smallest_listing
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.created_at__day
+ , subq_9.created_at__week
+ , subq_9.created_at__month
+ , subq_9.created_at__quarter
+ , subq_9.created_at__year
+ , subq_9.created_at__extract_year
+ , subq_9.created_at__extract_quarter
+ , subq_9.created_at__extract_month
+ , subq_9.created_at__extract_day
+ , subq_9.created_at__extract_dow
+ , subq_9.created_at__extract_doy
+ , subq_9.listing__ds__day
+ , subq_9.listing__ds__week
+ , subq_9.listing__ds__month
+ , subq_9.listing__ds__quarter
+ , subq_9.listing__ds__year
+ , subq_9.listing__ds__extract_year
+ , subq_9.listing__ds__extract_quarter
+ , subq_9.listing__ds__extract_month
+ , subq_9.listing__ds__extract_day
+ , subq_9.listing__ds__extract_dow
+ , subq_9.listing__ds__extract_doy
+ , subq_9.listing__created_at__day
+ , subq_9.listing__created_at__week
+ , subq_9.listing__created_at__month
+ , subq_9.listing__created_at__quarter
+ , subq_9.listing__created_at__year
+ , subq_9.listing__created_at__extract_year
+ , subq_9.listing__created_at__extract_quarter
+ , subq_9.listing__created_at__extract_month
+ , subq_9.listing__created_at__extract_day
+ , subq_9.listing__created_at__extract_dow
+ , subq_9.listing__created_at__extract_doy
+ , subq_9.ds__day AS metric_time__day
+ , subq_9.ds__week AS metric_time__week
+ , subq_9.ds__month AS metric_time__month
+ , subq_9.ds__quarter AS metric_time__quarter
+ , subq_9.ds__year AS metric_time__year
+ , subq_9.ds__extract_year AS metric_time__extract_year
+ , subq_9.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_9.ds__extract_month AS metric_time__extract_month
+ , subq_9.ds__extract_day AS metric_time__extract_day
+ , subq_9.ds__extract_dow AS metric_time__extract_dow
+ , subq_9.ds__extract_doy AS metric_time__extract_doy
+ , subq_9.listing
+ , subq_9.user
+ , subq_9.listing__user
+ , subq_9.country_latest
+ , subq_9.is_lux_latest
+ , subq_9.capacity_latest
+ , subq_9.listing__country_latest
+ , subq_9.listing__is_lux_latest
+ , subq_9.listing__capacity_latest
+ , subq_9.listings
+ , subq_9.largest_listing
+ , subq_9.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -287,140 +287,140 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_0
- ) subq_1
+ ) subq_9
+ ) subq_10
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__bookings_per_booker']
SELECT
- subq_13.listing
- , subq_13.listing__bookings_per_booker
+ subq_21.listing
+ , subq_21.listing__bookings_per_booker
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_12.listing
- , CAST(subq_12.bookings AS DOUBLE) / CAST(NULLIF(subq_12.bookers, 0) AS DOUBLE) AS listing__bookings_per_booker
+ subq_20.listing
+ , CAST(subq_20.bookings AS DOUBLE) / CAST(NULLIF(subq_20.bookers, 0) AS DOUBLE) AS listing__bookings_per_booker
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_6.listing, subq_11.listing) AS listing
- , MAX(subq_6.bookings) AS bookings
- , MAX(subq_11.bookers) AS bookers
+ COALESCE(subq_15.listing, subq_19.listing) AS listing
+ , MAX(subq_15.bookings) AS bookings
+ , MAX(subq_19.bookers) AS bookers
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.listing
- , subq_5.bookings
+ subq_14.listing
+ , subq_14.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_4.listing
- , SUM(subq_4.bookings) AS bookings
+ subq_13.listing
+ , SUM(subq_13.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing']
SELECT
- subq_3.listing
- , subq_3.bookings
+ subq_12.listing
+ , subq_12.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds_partitioned__day
+ , subq_11.ds_partitioned__week
+ , subq_11.ds_partitioned__month
+ , subq_11.ds_partitioned__quarter
+ , subq_11.ds_partitioned__year
+ , subq_11.ds_partitioned__extract_year
+ , subq_11.ds_partitioned__extract_quarter
+ , subq_11.ds_partitioned__extract_month
+ , subq_11.ds_partitioned__extract_day
+ , subq_11.ds_partitioned__extract_dow
+ , subq_11.ds_partitioned__extract_doy
+ , subq_11.paid_at__day
+ , subq_11.paid_at__week
+ , subq_11.paid_at__month
+ , subq_11.paid_at__quarter
+ , subq_11.paid_at__year
+ , subq_11.paid_at__extract_year
+ , subq_11.paid_at__extract_quarter
+ , subq_11.paid_at__extract_month
+ , subq_11.paid_at__extract_day
+ , subq_11.paid_at__extract_dow
+ , subq_11.paid_at__extract_doy
+ , subq_11.booking__ds__day
+ , subq_11.booking__ds__week
+ , subq_11.booking__ds__month
+ , subq_11.booking__ds__quarter
+ , subq_11.booking__ds__year
+ , subq_11.booking__ds__extract_year
+ , subq_11.booking__ds__extract_quarter
+ , subq_11.booking__ds__extract_month
+ , subq_11.booking__ds__extract_day
+ , subq_11.booking__ds__extract_dow
+ , subq_11.booking__ds__extract_doy
+ , subq_11.booking__ds_partitioned__day
+ , subq_11.booking__ds_partitioned__week
+ , subq_11.booking__ds_partitioned__month
+ , subq_11.booking__ds_partitioned__quarter
+ , subq_11.booking__ds_partitioned__year
+ , subq_11.booking__ds_partitioned__extract_year
+ , subq_11.booking__ds_partitioned__extract_quarter
+ , subq_11.booking__ds_partitioned__extract_month
+ , subq_11.booking__ds_partitioned__extract_day
+ , subq_11.booking__ds_partitioned__extract_dow
+ , subq_11.booking__ds_partitioned__extract_doy
+ , subq_11.booking__paid_at__day
+ , subq_11.booking__paid_at__week
+ , subq_11.booking__paid_at__month
+ , subq_11.booking__paid_at__quarter
+ , subq_11.booking__paid_at__year
+ , subq_11.booking__paid_at__extract_year
+ , subq_11.booking__paid_at__extract_quarter
+ , subq_11.booking__paid_at__extract_month
+ , subq_11.booking__paid_at__extract_day
+ , subq_11.booking__paid_at__extract_dow
+ , subq_11.booking__paid_at__extract_doy
+ , subq_11.ds__day AS metric_time__day
+ , subq_11.ds__week AS metric_time__week
+ , subq_11.ds__month AS metric_time__month
+ , subq_11.ds__quarter AS metric_time__quarter
+ , subq_11.ds__year AS metric_time__year
+ , subq_11.ds__extract_year AS metric_time__extract_year
+ , subq_11.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_11.ds__extract_month AS metric_time__extract_month
+ , subq_11.ds__extract_day AS metric_time__extract_day
+ , subq_11.ds__extract_dow AS metric_time__extract_dow
+ , subq_11.ds__extract_doy AS metric_time__extract_doy
+ , subq_11.listing
+ , subq_11.guest
+ , subq_11.host
+ , subq_11.booking__listing
+ , subq_11.booking__guest
+ , subq_11.booking__host
+ , subq_11.is_instant
+ , subq_11.booking__is_instant
+ , subq_11.bookings
+ , subq_11.instant_bookings
+ , subq_11.booking_value
+ , subq_11.max_booking_value
+ , subq_11.min_booking_value
+ , subq_11.bookers
+ , subq_11.average_booking_value
+ , subq_11.referred_bookings
+ , subq_11.median_booking_value
+ , subq_11.booking_value_p99
+ , subq_11.discrete_booking_value_p99
+ , subq_11.approximate_continuous_booking_value_p99
+ , subq_11.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -513,129 +513,129 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_11
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_4.listing
- ) subq_5
- ) subq_6
+ subq_13.listing
+ ) subq_14
+ ) subq_15
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_10.listing
- , subq_10.bookers
+ subq_18.listing
+ , subq_18.bookers
FROM (
-- Aggregate Measures
SELECT
- subq_9.listing
- , COUNT(DISTINCT subq_9.bookers) AS bookers
+ subq_17.listing
+ , COUNT(DISTINCT subq_17.bookers) AS bookers
FROM (
-- Pass Only Elements: ['bookers', 'listing']
SELECT
- subq_8.listing
- , subq_8.bookers
+ subq_16.listing
+ , subq_16.bookers
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.ds_partitioned__day
- , subq_7.ds_partitioned__week
- , subq_7.ds_partitioned__month
- , subq_7.ds_partitioned__quarter
- , subq_7.ds_partitioned__year
- , subq_7.ds_partitioned__extract_year
- , subq_7.ds_partitioned__extract_quarter
- , subq_7.ds_partitioned__extract_month
- , subq_7.ds_partitioned__extract_day
- , subq_7.ds_partitioned__extract_dow
- , subq_7.ds_partitioned__extract_doy
- , subq_7.paid_at__day
- , subq_7.paid_at__week
- , subq_7.paid_at__month
- , subq_7.paid_at__quarter
- , subq_7.paid_at__year
- , subq_7.paid_at__extract_year
- , subq_7.paid_at__extract_quarter
- , subq_7.paid_at__extract_month
- , subq_7.paid_at__extract_day
- , subq_7.paid_at__extract_dow
- , subq_7.paid_at__extract_doy
- , subq_7.booking__ds__day
- , subq_7.booking__ds__week
- , subq_7.booking__ds__month
- , subq_7.booking__ds__quarter
- , subq_7.booking__ds__year
- , subq_7.booking__ds__extract_year
- , subq_7.booking__ds__extract_quarter
- , subq_7.booking__ds__extract_month
- , subq_7.booking__ds__extract_day
- , subq_7.booking__ds__extract_dow
- , subq_7.booking__ds__extract_doy
- , subq_7.booking__ds_partitioned__day
- , subq_7.booking__ds_partitioned__week
- , subq_7.booking__ds_partitioned__month
- , subq_7.booking__ds_partitioned__quarter
- , subq_7.booking__ds_partitioned__year
- , subq_7.booking__ds_partitioned__extract_year
- , subq_7.booking__ds_partitioned__extract_quarter
- , subq_7.booking__ds_partitioned__extract_month
- , subq_7.booking__ds_partitioned__extract_day
- , subq_7.booking__ds_partitioned__extract_dow
- , subq_7.booking__ds_partitioned__extract_doy
- , subq_7.booking__paid_at__day
- , subq_7.booking__paid_at__week
- , subq_7.booking__paid_at__month
- , subq_7.booking__paid_at__quarter
- , subq_7.booking__paid_at__year
- , subq_7.booking__paid_at__extract_year
- , subq_7.booking__paid_at__extract_quarter
- , subq_7.booking__paid_at__extract_month
- , subq_7.booking__paid_at__extract_day
- , subq_7.booking__paid_at__extract_dow
- , subq_7.booking__paid_at__extract_doy
- , subq_7.ds__day AS metric_time__day
- , subq_7.ds__week AS metric_time__week
- , subq_7.ds__month AS metric_time__month
- , subq_7.ds__quarter AS metric_time__quarter
- , subq_7.ds__year AS metric_time__year
- , subq_7.ds__extract_year AS metric_time__extract_year
- , subq_7.ds__extract_quarter AS metric_time__extract_quarter
- , subq_7.ds__extract_month AS metric_time__extract_month
- , subq_7.ds__extract_day AS metric_time__extract_day
- , subq_7.ds__extract_dow AS metric_time__extract_dow
- , subq_7.ds__extract_doy AS metric_time__extract_doy
- , subq_7.listing
- , subq_7.guest
- , subq_7.host
- , subq_7.booking__listing
- , subq_7.booking__guest
- , subq_7.booking__host
- , subq_7.is_instant
- , subq_7.booking__is_instant
- , subq_7.bookings
- , subq_7.instant_bookings
- , subq_7.booking_value
- , subq_7.max_booking_value
- , subq_7.min_booking_value
- , subq_7.bookers
- , subq_7.average_booking_value
- , subq_7.referred_bookings
- , subq_7.median_booking_value
- , subq_7.booking_value_p99
- , subq_7.discrete_booking_value_p99
- , subq_7.approximate_continuous_booking_value_p99
- , subq_7.approximate_discrete_booking_value_p99
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds_partitioned__day
+ , subq_11.ds_partitioned__week
+ , subq_11.ds_partitioned__month
+ , subq_11.ds_partitioned__quarter
+ , subq_11.ds_partitioned__year
+ , subq_11.ds_partitioned__extract_year
+ , subq_11.ds_partitioned__extract_quarter
+ , subq_11.ds_partitioned__extract_month
+ , subq_11.ds_partitioned__extract_day
+ , subq_11.ds_partitioned__extract_dow
+ , subq_11.ds_partitioned__extract_doy
+ , subq_11.paid_at__day
+ , subq_11.paid_at__week
+ , subq_11.paid_at__month
+ , subq_11.paid_at__quarter
+ , subq_11.paid_at__year
+ , subq_11.paid_at__extract_year
+ , subq_11.paid_at__extract_quarter
+ , subq_11.paid_at__extract_month
+ , subq_11.paid_at__extract_day
+ , subq_11.paid_at__extract_dow
+ , subq_11.paid_at__extract_doy
+ , subq_11.booking__ds__day
+ , subq_11.booking__ds__week
+ , subq_11.booking__ds__month
+ , subq_11.booking__ds__quarter
+ , subq_11.booking__ds__year
+ , subq_11.booking__ds__extract_year
+ , subq_11.booking__ds__extract_quarter
+ , subq_11.booking__ds__extract_month
+ , subq_11.booking__ds__extract_day
+ , subq_11.booking__ds__extract_dow
+ , subq_11.booking__ds__extract_doy
+ , subq_11.booking__ds_partitioned__day
+ , subq_11.booking__ds_partitioned__week
+ , subq_11.booking__ds_partitioned__month
+ , subq_11.booking__ds_partitioned__quarter
+ , subq_11.booking__ds_partitioned__year
+ , subq_11.booking__ds_partitioned__extract_year
+ , subq_11.booking__ds_partitioned__extract_quarter
+ , subq_11.booking__ds_partitioned__extract_month
+ , subq_11.booking__ds_partitioned__extract_day
+ , subq_11.booking__ds_partitioned__extract_dow
+ , subq_11.booking__ds_partitioned__extract_doy
+ , subq_11.booking__paid_at__day
+ , subq_11.booking__paid_at__week
+ , subq_11.booking__paid_at__month
+ , subq_11.booking__paid_at__quarter
+ , subq_11.booking__paid_at__year
+ , subq_11.booking__paid_at__extract_year
+ , subq_11.booking__paid_at__extract_quarter
+ , subq_11.booking__paid_at__extract_month
+ , subq_11.booking__paid_at__extract_day
+ , subq_11.booking__paid_at__extract_dow
+ , subq_11.booking__paid_at__extract_doy
+ , subq_11.ds__day AS metric_time__day
+ , subq_11.ds__week AS metric_time__week
+ , subq_11.ds__month AS metric_time__month
+ , subq_11.ds__quarter AS metric_time__quarter
+ , subq_11.ds__year AS metric_time__year
+ , subq_11.ds__extract_year AS metric_time__extract_year
+ , subq_11.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_11.ds__extract_month AS metric_time__extract_month
+ , subq_11.ds__extract_day AS metric_time__extract_day
+ , subq_11.ds__extract_dow AS metric_time__extract_dow
+ , subq_11.ds__extract_doy AS metric_time__extract_doy
+ , subq_11.listing
+ , subq_11.guest
+ , subq_11.host
+ , subq_11.booking__listing
+ , subq_11.booking__guest
+ , subq_11.booking__host
+ , subq_11.is_instant
+ , subq_11.booking__is_instant
+ , subq_11.bookings
+ , subq_11.instant_bookings
+ , subq_11.booking_value
+ , subq_11.max_booking_value
+ , subq_11.min_booking_value
+ , subq_11.bookers
+ , subq_11.average_booking_value
+ , subq_11.referred_bookings
+ , subq_11.median_booking_value
+ , subq_11.booking_value_p99
+ , subq_11.discrete_booking_value_p99
+ , subq_11.approximate_continuous_booking_value_p99
+ , subq_11.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -728,24 +728,24 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_7
- ) subq_8
- ) subq_9
+ ) subq_11
+ ) subq_16
+ ) subq_17
GROUP BY
- subq_9.listing
- ) subq_10
- ) subq_11
+ subq_17.listing
+ ) subq_18
+ ) subq_19
ON
- subq_6.listing = subq_11.listing
+ subq_15.listing = subq_19.listing
GROUP BY
- COALESCE(subq_6.listing, subq_11.listing)
- ) subq_12
- ) subq_13
- ) subq_14
+ COALESCE(subq_15.listing, subq_19.listing)
+ ) subq_20
+ ) subq_21
+ ) subq_22
ON
- subq_1.listing = subq_14.listing
- ) subq_15
+ subq_10.listing = subq_22.listing
+ ) subq_23
WHERE listing__bookings_per_booker > 1
- ) subq_16
- ) subq_17
-) subq_18
+ ) subq_24
+ ) subq_25
+) subq_26
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_ratio_metric_in_where_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_ratio_metric_in_where_filter__plan0_optimized.sql
index 5bf661c2aa..b1279234c1 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_ratio_metric_in_where_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_ratio_metric_in_where_filter__plan0_optimized.sql
@@ -13,8 +13,8 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- CAST(subq_25.bookings AS DOUBLE) / CAST(NULLIF(subq_25.bookers, 0) AS DOUBLE) AS listing__bookings_per_booker
- , subq_20.listings AS listings
+ CAST(subq_33.bookings AS DOUBLE) / CAST(NULLIF(subq_33.bookers, 0) AS DOUBLE) AS listing__bookings_per_booker
+ , subq_28.listings AS listings
FROM (
-- Read Elements From Semantic Model 'listings_latest'
-- Metric Time Dimension 'ds'
@@ -22,7 +22,7 @@ FROM (
listing_id AS listing
, 1 AS listings
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_20
+ ) subq_28
LEFT OUTER JOIN (
-- Aggregate Measures
-- Compute Metrics via Expressions
@@ -39,11 +39,11 @@ FROM (
, 1 AS bookings
, guest_id AS bookers
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_23
+ ) subq_31
GROUP BY
listing
- ) subq_25
+ ) subq_33
ON
- subq_20.listing = subq_25.listing
-) subq_28
+ subq_28.listing = subq_33.listing
+) subq_36
WHERE listing__bookings_per_booker > 1
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_simple_metric_in_where_filter__plan0.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_simple_metric_in_where_filter__plan0.sql
index bc212b66c8..3d3c3db61c 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_simple_metric_in_where_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_simple_metric_in_where_filter__plan0.sql
@@ -6,227 +6,227 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.listings
+ subq_14.listings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_10.listings) AS listings
+ SUM(subq_13.listings) AS listings
FROM (
-- Pass Only Elements: ['listings',]
SELECT
- subq_9.listings
+ subq_12.listings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.created_at__day
- , subq_8.created_at__week
- , subq_8.created_at__month
- , subq_8.created_at__quarter
- , subq_8.created_at__year
- , subq_8.created_at__extract_year
- , subq_8.created_at__extract_quarter
- , subq_8.created_at__extract_month
- , subq_8.created_at__extract_day
- , subq_8.created_at__extract_dow
- , subq_8.created_at__extract_doy
- , subq_8.listing__ds__day
- , subq_8.listing__ds__week
- , subq_8.listing__ds__month
- , subq_8.listing__ds__quarter
- , subq_8.listing__ds__year
- , subq_8.listing__ds__extract_year
- , subq_8.listing__ds__extract_quarter
- , subq_8.listing__ds__extract_month
- , subq_8.listing__ds__extract_day
- , subq_8.listing__ds__extract_dow
- , subq_8.listing__ds__extract_doy
- , subq_8.listing__created_at__day
- , subq_8.listing__created_at__week
- , subq_8.listing__created_at__month
- , subq_8.listing__created_at__quarter
- , subq_8.listing__created_at__year
- , subq_8.listing__created_at__extract_year
- , subq_8.listing__created_at__extract_quarter
- , subq_8.listing__created_at__extract_month
- , subq_8.listing__created_at__extract_day
- , subq_8.listing__created_at__extract_dow
- , subq_8.listing__created_at__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.listing
- , subq_8.user
- , subq_8.listing__user
- , subq_8.country_latest
- , subq_8.is_lux_latest
- , subq_8.capacity_latest
- , subq_8.listing__country_latest
- , subq_8.listing__is_lux_latest
- , subq_8.listing__capacity_latest
- , subq_8.listing__bookings
- , subq_8.listings
- , subq_8.largest_listing
- , subq_8.smallest_listing
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.created_at__day
+ , subq_11.created_at__week
+ , subq_11.created_at__month
+ , subq_11.created_at__quarter
+ , subq_11.created_at__year
+ , subq_11.created_at__extract_year
+ , subq_11.created_at__extract_quarter
+ , subq_11.created_at__extract_month
+ , subq_11.created_at__extract_day
+ , subq_11.created_at__extract_dow
+ , subq_11.created_at__extract_doy
+ , subq_11.listing__ds__day
+ , subq_11.listing__ds__week
+ , subq_11.listing__ds__month
+ , subq_11.listing__ds__quarter
+ , subq_11.listing__ds__year
+ , subq_11.listing__ds__extract_year
+ , subq_11.listing__ds__extract_quarter
+ , subq_11.listing__ds__extract_month
+ , subq_11.listing__ds__extract_day
+ , subq_11.listing__ds__extract_dow
+ , subq_11.listing__ds__extract_doy
+ , subq_11.listing__created_at__day
+ , subq_11.listing__created_at__week
+ , subq_11.listing__created_at__month
+ , subq_11.listing__created_at__quarter
+ , subq_11.listing__created_at__year
+ , subq_11.listing__created_at__extract_year
+ , subq_11.listing__created_at__extract_quarter
+ , subq_11.listing__created_at__extract_month
+ , subq_11.listing__created_at__extract_day
+ , subq_11.listing__created_at__extract_dow
+ , subq_11.listing__created_at__extract_doy
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.listing
+ , subq_11.user
+ , subq_11.listing__user
+ , subq_11.country_latest
+ , subq_11.is_lux_latest
+ , subq_11.capacity_latest
+ , subq_11.listing__country_latest
+ , subq_11.listing__is_lux_latest
+ , subq_11.listing__capacity_latest
+ , subq_11.listing__bookings
+ , subq_11.listings
+ , subq_11.largest_listing
+ , subq_11.smallest_listing
FROM (
-- Join Standard Outputs
SELECT
- subq_7.listing__bookings AS listing__bookings
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.created_at__day AS created_at__day
- , subq_1.created_at__week AS created_at__week
- , subq_1.created_at__month AS created_at__month
- , subq_1.created_at__quarter AS created_at__quarter
- , subq_1.created_at__year AS created_at__year
- , subq_1.created_at__extract_year AS created_at__extract_year
- , subq_1.created_at__extract_quarter AS created_at__extract_quarter
- , subq_1.created_at__extract_month AS created_at__extract_month
- , subq_1.created_at__extract_day AS created_at__extract_day
- , subq_1.created_at__extract_dow AS created_at__extract_dow
- , subq_1.created_at__extract_doy AS created_at__extract_doy
- , subq_1.listing__ds__day AS listing__ds__day
- , subq_1.listing__ds__week AS listing__ds__week
- , subq_1.listing__ds__month AS listing__ds__month
- , subq_1.listing__ds__quarter AS listing__ds__quarter
- , subq_1.listing__ds__year AS listing__ds__year
- , subq_1.listing__ds__extract_year AS listing__ds__extract_year
- , subq_1.listing__ds__extract_quarter AS listing__ds__extract_quarter
- , subq_1.listing__ds__extract_month AS listing__ds__extract_month
- , subq_1.listing__ds__extract_day AS listing__ds__extract_day
- , subq_1.listing__ds__extract_dow AS listing__ds__extract_dow
- , subq_1.listing__ds__extract_doy AS listing__ds__extract_doy
- , subq_1.listing__created_at__day AS listing__created_at__day
- , subq_1.listing__created_at__week AS listing__created_at__week
- , subq_1.listing__created_at__month AS listing__created_at__month
- , subq_1.listing__created_at__quarter AS listing__created_at__quarter
- , subq_1.listing__created_at__year AS listing__created_at__year
- , subq_1.listing__created_at__extract_year AS listing__created_at__extract_year
- , subq_1.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
- , subq_1.listing__created_at__extract_month AS listing__created_at__extract_month
- , subq_1.listing__created_at__extract_day AS listing__created_at__extract_day
- , subq_1.listing__created_at__extract_dow AS listing__created_at__extract_dow
- , subq_1.listing__created_at__extract_doy AS listing__created_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.user AS user
- , subq_1.listing__user AS listing__user
- , subq_1.country_latest AS country_latest
- , subq_1.is_lux_latest AS is_lux_latest
- , subq_1.capacity_latest AS capacity_latest
- , subq_1.listing__country_latest AS listing__country_latest
- , subq_1.listing__is_lux_latest AS listing__is_lux_latest
- , subq_1.listing__capacity_latest AS listing__capacity_latest
- , subq_1.listings AS listings
- , subq_1.largest_listing AS largest_listing
- , subq_1.smallest_listing AS smallest_listing
+ subq_10.listing__bookings AS listing__bookings
+ , subq_4.ds__day AS ds__day
+ , subq_4.ds__week AS ds__week
+ , subq_4.ds__month AS ds__month
+ , subq_4.ds__quarter AS ds__quarter
+ , subq_4.ds__year AS ds__year
+ , subq_4.ds__extract_year AS ds__extract_year
+ , subq_4.ds__extract_quarter AS ds__extract_quarter
+ , subq_4.ds__extract_month AS ds__extract_month
+ , subq_4.ds__extract_day AS ds__extract_day
+ , subq_4.ds__extract_dow AS ds__extract_dow
+ , subq_4.ds__extract_doy AS ds__extract_doy
+ , subq_4.created_at__day AS created_at__day
+ , subq_4.created_at__week AS created_at__week
+ , subq_4.created_at__month AS created_at__month
+ , subq_4.created_at__quarter AS created_at__quarter
+ , subq_4.created_at__year AS created_at__year
+ , subq_4.created_at__extract_year AS created_at__extract_year
+ , subq_4.created_at__extract_quarter AS created_at__extract_quarter
+ , subq_4.created_at__extract_month AS created_at__extract_month
+ , subq_4.created_at__extract_day AS created_at__extract_day
+ , subq_4.created_at__extract_dow AS created_at__extract_dow
+ , subq_4.created_at__extract_doy AS created_at__extract_doy
+ , subq_4.listing__ds__day AS listing__ds__day
+ , subq_4.listing__ds__week AS listing__ds__week
+ , subq_4.listing__ds__month AS listing__ds__month
+ , subq_4.listing__ds__quarter AS listing__ds__quarter
+ , subq_4.listing__ds__year AS listing__ds__year
+ , subq_4.listing__ds__extract_year AS listing__ds__extract_year
+ , subq_4.listing__ds__extract_quarter AS listing__ds__extract_quarter
+ , subq_4.listing__ds__extract_month AS listing__ds__extract_month
+ , subq_4.listing__ds__extract_day AS listing__ds__extract_day
+ , subq_4.listing__ds__extract_dow AS listing__ds__extract_dow
+ , subq_4.listing__ds__extract_doy AS listing__ds__extract_doy
+ , subq_4.listing__created_at__day AS listing__created_at__day
+ , subq_4.listing__created_at__week AS listing__created_at__week
+ , subq_4.listing__created_at__month AS listing__created_at__month
+ , subq_4.listing__created_at__quarter AS listing__created_at__quarter
+ , subq_4.listing__created_at__year AS listing__created_at__year
+ , subq_4.listing__created_at__extract_year AS listing__created_at__extract_year
+ , subq_4.listing__created_at__extract_quarter AS listing__created_at__extract_quarter
+ , subq_4.listing__created_at__extract_month AS listing__created_at__extract_month
+ , subq_4.listing__created_at__extract_day AS listing__created_at__extract_day
+ , subq_4.listing__created_at__extract_dow AS listing__created_at__extract_dow
+ , subq_4.listing__created_at__extract_doy AS listing__created_at__extract_doy
+ , subq_4.metric_time__day AS metric_time__day
+ , subq_4.metric_time__week AS metric_time__week
+ , subq_4.metric_time__month AS metric_time__month
+ , subq_4.metric_time__quarter AS metric_time__quarter
+ , subq_4.metric_time__year AS metric_time__year
+ , subq_4.metric_time__extract_year AS metric_time__extract_year
+ , subq_4.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_4.metric_time__extract_month AS metric_time__extract_month
+ , subq_4.metric_time__extract_day AS metric_time__extract_day
+ , subq_4.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_4.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_4.listing AS listing
+ , subq_4.user AS user
+ , subq_4.listing__user AS listing__user
+ , subq_4.country_latest AS country_latest
+ , subq_4.is_lux_latest AS is_lux_latest
+ , subq_4.capacity_latest AS capacity_latest
+ , subq_4.listing__country_latest AS listing__country_latest
+ , subq_4.listing__is_lux_latest AS listing__is_lux_latest
+ , subq_4.listing__capacity_latest AS listing__capacity_latest
+ , subq_4.listings AS listings
+ , subq_4.largest_listing AS largest_listing
+ , subq_4.smallest_listing AS smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.created_at__day
- , subq_0.created_at__week
- , subq_0.created_at__month
- , subq_0.created_at__quarter
- , subq_0.created_at__year
- , subq_0.created_at__extract_year
- , subq_0.created_at__extract_quarter
- , subq_0.created_at__extract_month
- , subq_0.created_at__extract_day
- , subq_0.created_at__extract_dow
- , subq_0.created_at__extract_doy
- , subq_0.listing__ds__day
- , subq_0.listing__ds__week
- , subq_0.listing__ds__month
- , subq_0.listing__ds__quarter
- , subq_0.listing__ds__year
- , subq_0.listing__ds__extract_year
- , subq_0.listing__ds__extract_quarter
- , subq_0.listing__ds__extract_month
- , subq_0.listing__ds__extract_day
- , subq_0.listing__ds__extract_dow
- , subq_0.listing__ds__extract_doy
- , subq_0.listing__created_at__day
- , subq_0.listing__created_at__week
- , subq_0.listing__created_at__month
- , subq_0.listing__created_at__quarter
- , subq_0.listing__created_at__year
- , subq_0.listing__created_at__extract_year
- , subq_0.listing__created_at__extract_quarter
- , subq_0.listing__created_at__extract_month
- , subq_0.listing__created_at__extract_day
- , subq_0.listing__created_at__extract_dow
- , subq_0.listing__created_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.user
- , subq_0.listing__user
- , subq_0.country_latest
- , subq_0.is_lux_latest
- , subq_0.capacity_latest
- , subq_0.listing__country_latest
- , subq_0.listing__is_lux_latest
- , subq_0.listing__capacity_latest
- , subq_0.listings
- , subq_0.largest_listing
- , subq_0.smallest_listing
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.created_at__day
+ , subq_3.created_at__week
+ , subq_3.created_at__month
+ , subq_3.created_at__quarter
+ , subq_3.created_at__year
+ , subq_3.created_at__extract_year
+ , subq_3.created_at__extract_quarter
+ , subq_3.created_at__extract_month
+ , subq_3.created_at__extract_day
+ , subq_3.created_at__extract_dow
+ , subq_3.created_at__extract_doy
+ , subq_3.listing__ds__day
+ , subq_3.listing__ds__week
+ , subq_3.listing__ds__month
+ , subq_3.listing__ds__quarter
+ , subq_3.listing__ds__year
+ , subq_3.listing__ds__extract_year
+ , subq_3.listing__ds__extract_quarter
+ , subq_3.listing__ds__extract_month
+ , subq_3.listing__ds__extract_day
+ , subq_3.listing__ds__extract_dow
+ , subq_3.listing__ds__extract_doy
+ , subq_3.listing__created_at__day
+ , subq_3.listing__created_at__week
+ , subq_3.listing__created_at__month
+ , subq_3.listing__created_at__quarter
+ , subq_3.listing__created_at__year
+ , subq_3.listing__created_at__extract_year
+ , subq_3.listing__created_at__extract_quarter
+ , subq_3.listing__created_at__extract_month
+ , subq_3.listing__created_at__extract_day
+ , subq_3.listing__created_at__extract_dow
+ , subq_3.listing__created_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.user
+ , subq_3.listing__user
+ , subq_3.country_latest
+ , subq_3.is_lux_latest
+ , subq_3.capacity_latest
+ , subq_3.listing__country_latest
+ , subq_3.listing__is_lux_latest
+ , subq_3.listing__capacity_latest
+ , subq_3.listings
+ , subq_3.largest_listing
+ , subq_3.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -287,129 +287,129 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_0
- ) subq_1
+ ) subq_3
+ ) subq_4
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__bookings']
SELECT
- subq_6.listing
- , subq_6.listing__bookings
+ subq_9.listing
+ , subq_9.listing__bookings
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.listing
- , subq_5.bookings AS listing__bookings
+ subq_8.listing
+ , subq_8.bookings AS listing__bookings
FROM (
-- Aggregate Measures
SELECT
- subq_4.listing
- , SUM(subq_4.bookings) AS bookings
+ subq_7.listing
+ , SUM(subq_7.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing']
SELECT
- subq_3.listing
- , subq_3.bookings
+ subq_6.listing
+ , subq_6.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.ds_partitioned__day
+ , subq_5.ds_partitioned__week
+ , subq_5.ds_partitioned__month
+ , subq_5.ds_partitioned__quarter
+ , subq_5.ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy
+ , subq_5.paid_at__day
+ , subq_5.paid_at__week
+ , subq_5.paid_at__month
+ , subq_5.paid_at__quarter
+ , subq_5.paid_at__year
+ , subq_5.paid_at__extract_year
+ , subq_5.paid_at__extract_quarter
+ , subq_5.paid_at__extract_month
+ , subq_5.paid_at__extract_day
+ , subq_5.paid_at__extract_dow
+ , subq_5.paid_at__extract_doy
+ , subq_5.booking__ds__day
+ , subq_5.booking__ds__week
+ , subq_5.booking__ds__month
+ , subq_5.booking__ds__quarter
+ , subq_5.booking__ds__year
+ , subq_5.booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month
+ , subq_5.booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day
+ , subq_5.booking__paid_at__week
+ , subq_5.booking__paid_at__month
+ , subq_5.booking__paid_at__quarter
+ , subq_5.booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy
+ , subq_5.ds__day AS metric_time__day
+ , subq_5.ds__week AS metric_time__week
+ , subq_5.ds__month AS metric_time__month
+ , subq_5.ds__quarter AS metric_time__quarter
+ , subq_5.ds__year AS metric_time__year
+ , subq_5.ds__extract_year AS metric_time__extract_year
+ , subq_5.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_5.ds__extract_month AS metric_time__extract_month
+ , subq_5.ds__extract_day AS metric_time__extract_day
+ , subq_5.ds__extract_dow AS metric_time__extract_dow
+ , subq_5.ds__extract_doy AS metric_time__extract_doy
+ , subq_5.listing
+ , subq_5.guest
+ , subq_5.host
+ , subq_5.booking__listing
+ , subq_5.booking__guest
+ , subq_5.booking__host
+ , subq_5.is_instant
+ , subq_5.booking__is_instant
+ , subq_5.bookings
+ , subq_5.instant_bookings
+ , subq_5.booking_value
+ , subq_5.max_booking_value
+ , subq_5.min_booking_value
+ , subq_5.bookers
+ , subq_5.average_booking_value
+ , subq_5.referred_bookings
+ , subq_5.median_booking_value
+ , subq_5.booking_value_p99
+ , subq_5.discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -502,18 +502,18 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_5
+ ) subq_6
+ ) subq_7
GROUP BY
- subq_4.listing
- ) subq_5
- ) subq_6
- ) subq_7
+ subq_7.listing
+ ) subq_8
+ ) subq_9
+ ) subq_10
ON
- subq_1.listing = subq_7.listing
- ) subq_8
+ subq_4.listing = subq_10.listing
+ ) subq_11
WHERE listing__bookings > 2
- ) subq_9
- ) subq_10
-) subq_11
+ ) subq_12
+ ) subq_13
+) subq_14
diff --git a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_simple_metric_in_where_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_simple_metric_in_where_filter__plan0_optimized.sql
index c514aae8c2..2f6d184ed0 100644
--- a/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_simple_metric_in_where_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_metric_filter_rendering.py/SqlPlan/DuckDB/test_query_with_simple_metric_in_where_filter__plan0_optimized.sql
@@ -13,8 +13,8 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_19.listing__bookings AS listing__bookings
- , subq_13.listings AS listings
+ subq_22.listing__bookings AS listing__bookings
+ , subq_16.listings AS listings
FROM (
-- Read Elements From Semantic Model 'listings_latest'
-- Metric Time Dimension 'ds'
@@ -22,7 +22,7 @@ FROM (
listing_id AS listing
, 1 AS listings
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_13
+ ) subq_16
LEFT OUTER JOIN (
-- Aggregate Measures
-- Compute Metrics via Expressions
@@ -38,11 +38,11 @@ FROM (
listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_16
+ ) subq_19
GROUP BY
listing
- ) subq_19
+ ) subq_22
ON
- subq_13.listing = subq_19.listing
-) subq_20
+ subq_16.listing = subq_22.listing
+) subq_23
WHERE listing__bookings > 2
diff --git a/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlPlan/test_simple_query_with_metric_time_dimension__plan0.xml b/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlPlan/test_simple_query_with_metric_time_dimension__plan0.xml
index 68b7d5c3b7..cbd99f107f 100644
--- a/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlPlan/test_simple_query_with_metric_time_dimension__plan0.xml
+++ b/tests_metricflow/snapshots/test_metric_time_dimension_to_sql.py/SqlPlan/test_simple_query_with_metric_time_dimension__plan0.xml
@@ -6,7 +6,7 @@ docstring:
-
+
@@ -25,7 +25,7 @@ docstring:
-
+
@@ -992,17 +992,17 @@ docstring:
-
+
-
+
-
+
@@ -1010,14 +1010,14 @@ docstring:
-
+
-
+
@@ -1028,12 +1028,12 @@ docstring:
-
+
-
+
@@ -1446,12 +1446,12 @@ docstring:
-
+
-
+
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_conversion_metric_query_filters__plan0.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_conversion_metric_query_filters__plan0.sql
index 6128ce335e..c156d4cf3f 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_conversion_metric_query_filters__plan0.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_conversion_metric_query_filters__plan0.sql
@@ -6,16 +6,16 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_22.metric_time__day
- , subq_22.user__home_state_latest
- , CAST(subq_22.buys AS DOUBLE) / CAST(NULLIF(subq_22.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
+ subq_21.metric_time__day
+ , subq_21.user__home_state_latest
+ , CAST(subq_21.buys AS DOUBLE) / CAST(NULLIF(subq_21.visits, 0) AS DOUBLE) AS visit_buy_conversion_rate_7days
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_7.metric_time__day, subq_21.metric_time__day) AS metric_time__day
- , COALESCE(subq_7.user__home_state_latest, subq_21.user__home_state_latest) AS user__home_state_latest
+ COALESCE(subq_7.metric_time__day, subq_20.metric_time__day) AS metric_time__day
+ , COALESCE(subq_7.user__home_state_latest, subq_20.user__home_state_latest) AS user__home_state_latest
, MAX(subq_7.visits) AS visits
- , MAX(subq_21.buys) AS buys
+ , MAX(subq_20.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
@@ -247,211 +247,211 @@ FROM (
FULL OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_20.metric_time__day
- , subq_20.user__home_state_latest
- , SUM(subq_20.buys) AS buys
+ subq_19.metric_time__day
+ , subq_19.user__home_state_latest
+ , SUM(subq_19.buys) AS buys
FROM (
-- Pass Only Elements: ['buys', 'user__home_state_latest', 'metric_time__day']
SELECT
- subq_19.metric_time__day
- , subq_19.user__home_state_latest
- , subq_19.buys
+ subq_18.metric_time__day
+ , subq_18.user__home_state_latest
+ , subq_18.buys
FROM (
-- Find conversions for user within the range of 7 day
SELECT
- subq_18.metric_time__day
- , subq_18.user
- , subq_18.visit__referrer_id
- , subq_18.user__home_state_latest
- , subq_18.buys
- , subq_18.visits
+ subq_17.metric_time__day
+ , subq_17.user
+ , subq_17.visit__referrer_id
+ , subq_17.user__home_state_latest
+ , subq_17.buys
+ , subq_17.visits
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_14.visits) OVER (
+ FIRST_VALUE(subq_13.visits) OVER (
PARTITION BY
- subq_17.user
- , subq_17.metric_time__day
- , subq_17.mf_internal_uuid
- ORDER BY subq_14.metric_time__day DESC
+ subq_16.user
+ , subq_16.metric_time__day
+ , subq_16.mf_internal_uuid
+ ORDER BY subq_13.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_14.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_13.visit__referrer_id) OVER (
PARTITION BY
- subq_17.user
- , subq_17.metric_time__day
- , subq_17.mf_internal_uuid
- ORDER BY subq_14.metric_time__day DESC
+ subq_16.user
+ , subq_16.metric_time__day
+ , subq_16.mf_internal_uuid
+ ORDER BY subq_13.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_14.user__home_state_latest) OVER (
+ , FIRST_VALUE(subq_13.user__home_state_latest) OVER (
PARTITION BY
- subq_17.user
- , subq_17.metric_time__day
- , subq_17.mf_internal_uuid
- ORDER BY subq_14.metric_time__day DESC
+ subq_16.user
+ , subq_16.metric_time__day
+ , subq_16.mf_internal_uuid
+ ORDER BY subq_13.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user__home_state_latest
- , FIRST_VALUE(subq_14.metric_time__day) OVER (
+ , FIRST_VALUE(subq_13.metric_time__day) OVER (
PARTITION BY
- subq_17.user
- , subq_17.metric_time__day
- , subq_17.mf_internal_uuid
- ORDER BY subq_14.metric_time__day DESC
+ subq_16.user
+ , subq_16.metric_time__day
+ , subq_16.mf_internal_uuid
+ ORDER BY subq_13.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_14.user) OVER (
+ , FIRST_VALUE(subq_13.user) OVER (
PARTITION BY
- subq_17.user
- , subq_17.metric_time__day
- , subq_17.mf_internal_uuid
- ORDER BY subq_14.metric_time__day DESC
+ subq_16.user
+ , subq_16.metric_time__day
+ , subq_16.mf_internal_uuid
+ ORDER BY subq_13.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_17.mf_internal_uuid AS mf_internal_uuid
- , subq_17.buys AS buys
+ , subq_16.mf_internal_uuid AS mf_internal_uuid
+ , subq_16.buys AS buys
FROM (
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'user__home_state_latest', 'metric_time__day', 'user']
SELECT
- subq_13.metric_time__day
- , subq_13.user
- , subq_13.visit__referrer_id
- , subq_13.user__home_state_latest
- , subq_13.visits
+ subq_12.metric_time__day
+ , subq_12.user
+ , subq_12.visit__referrer_id
+ , subq_12.user__home_state_latest
+ , subq_12.visits
FROM (
-- Constrain Output with WHERE
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.visit__ds__day
- , subq_12.visit__ds__week
- , subq_12.visit__ds__month
- , subq_12.visit__ds__quarter
- , subq_12.visit__ds__year
- , subq_12.visit__ds__extract_year
- , subq_12.visit__ds__extract_quarter
- , subq_12.visit__ds__extract_month
- , subq_12.visit__ds__extract_day
- , subq_12.visit__ds__extract_dow
- , subq_12.visit__ds__extract_doy
- , subq_12.metric_time__day
- , subq_12.metric_time__week
- , subq_12.metric_time__month
- , subq_12.metric_time__quarter
- , subq_12.metric_time__year
- , subq_12.metric_time__extract_year
- , subq_12.metric_time__extract_quarter
- , subq_12.metric_time__extract_month
- , subq_12.metric_time__extract_day
- , subq_12.metric_time__extract_dow
- , subq_12.metric_time__extract_doy
- , subq_12.user
- , subq_12.session
- , subq_12.visit__user
- , subq_12.visit__session
- , subq_12.referrer_id
- , subq_12.visit__referrer_id
- , subq_12.user__home_state_latest
- , subq_12.visits
- , subq_12.visitors
+ subq_11.ds__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.visit__ds__day
+ , subq_11.visit__ds__week
+ , subq_11.visit__ds__month
+ , subq_11.visit__ds__quarter
+ , subq_11.visit__ds__year
+ , subq_11.visit__ds__extract_year
+ , subq_11.visit__ds__extract_quarter
+ , subq_11.visit__ds__extract_month
+ , subq_11.visit__ds__extract_day
+ , subq_11.visit__ds__extract_dow
+ , subq_11.visit__ds__extract_doy
+ , subq_11.metric_time__day
+ , subq_11.metric_time__week
+ , subq_11.metric_time__month
+ , subq_11.metric_time__quarter
+ , subq_11.metric_time__year
+ , subq_11.metric_time__extract_year
+ , subq_11.metric_time__extract_quarter
+ , subq_11.metric_time__extract_month
+ , subq_11.metric_time__extract_day
+ , subq_11.metric_time__extract_dow
+ , subq_11.metric_time__extract_doy
+ , subq_11.user
+ , subq_11.session
+ , subq_11.visit__user
+ , subq_11.visit__session
+ , subq_11.referrer_id
+ , subq_11.visit__referrer_id
+ , subq_11.user__home_state_latest
+ , subq_11.visits
+ , subq_11.visitors
FROM (
-- Join Standard Outputs
SELECT
- subq_11.home_state_latest AS user__home_state_latest
- , subq_9.ds__day AS ds__day
- , subq_9.ds__week AS ds__week
- , subq_9.ds__month AS ds__month
- , subq_9.ds__quarter AS ds__quarter
- , subq_9.ds__year AS ds__year
- , subq_9.ds__extract_year AS ds__extract_year
- , subq_9.ds__extract_quarter AS ds__extract_quarter
- , subq_9.ds__extract_month AS ds__extract_month
- , subq_9.ds__extract_day AS ds__extract_day
- , subq_9.ds__extract_dow AS ds__extract_dow
- , subq_9.ds__extract_doy AS ds__extract_doy
- , subq_9.visit__ds__day AS visit__ds__day
- , subq_9.visit__ds__week AS visit__ds__week
- , subq_9.visit__ds__month AS visit__ds__month
- , subq_9.visit__ds__quarter AS visit__ds__quarter
- , subq_9.visit__ds__year AS visit__ds__year
- , subq_9.visit__ds__extract_year AS visit__ds__extract_year
- , subq_9.visit__ds__extract_quarter AS visit__ds__extract_quarter
- , subq_9.visit__ds__extract_month AS visit__ds__extract_month
- , subq_9.visit__ds__extract_day AS visit__ds__extract_day
- , subq_9.visit__ds__extract_dow AS visit__ds__extract_dow
- , subq_9.visit__ds__extract_doy AS visit__ds__extract_doy
- , subq_9.metric_time__day AS metric_time__day
- , subq_9.metric_time__week AS metric_time__week
- , subq_9.metric_time__month AS metric_time__month
- , subq_9.metric_time__quarter AS metric_time__quarter
- , subq_9.metric_time__year AS metric_time__year
- , subq_9.metric_time__extract_year AS metric_time__extract_year
- , subq_9.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_9.metric_time__extract_month AS metric_time__extract_month
- , subq_9.metric_time__extract_day AS metric_time__extract_day
- , subq_9.metric_time__extract_dow AS metric_time__extract_dow
- , subq_9.metric_time__extract_doy AS metric_time__extract_doy
- , subq_9.user AS user
- , subq_9.session AS session
- , subq_9.visit__user AS visit__user
- , subq_9.visit__session AS visit__session
- , subq_9.referrer_id AS referrer_id
- , subq_9.visit__referrer_id AS visit__referrer_id
- , subq_9.visits AS visits
- , subq_9.visitors AS visitors
+ subq_10.home_state_latest AS user__home_state_latest
+ , subq_8.ds__day AS ds__day
+ , subq_8.ds__week AS ds__week
+ , subq_8.ds__month AS ds__month
+ , subq_8.ds__quarter AS ds__quarter
+ , subq_8.ds__year AS ds__year
+ , subq_8.ds__extract_year AS ds__extract_year
+ , subq_8.ds__extract_quarter AS ds__extract_quarter
+ , subq_8.ds__extract_month AS ds__extract_month
+ , subq_8.ds__extract_day AS ds__extract_day
+ , subq_8.ds__extract_dow AS ds__extract_dow
+ , subq_8.ds__extract_doy AS ds__extract_doy
+ , subq_8.visit__ds__day AS visit__ds__day
+ , subq_8.visit__ds__week AS visit__ds__week
+ , subq_8.visit__ds__month AS visit__ds__month
+ , subq_8.visit__ds__quarter AS visit__ds__quarter
+ , subq_8.visit__ds__year AS visit__ds__year
+ , subq_8.visit__ds__extract_year AS visit__ds__extract_year
+ , subq_8.visit__ds__extract_quarter AS visit__ds__extract_quarter
+ , subq_8.visit__ds__extract_month AS visit__ds__extract_month
+ , subq_8.visit__ds__extract_day AS visit__ds__extract_day
+ , subq_8.visit__ds__extract_dow AS visit__ds__extract_dow
+ , subq_8.visit__ds__extract_doy AS visit__ds__extract_doy
+ , subq_8.metric_time__day AS metric_time__day
+ , subq_8.metric_time__week AS metric_time__week
+ , subq_8.metric_time__month AS metric_time__month
+ , subq_8.metric_time__quarter AS metric_time__quarter
+ , subq_8.metric_time__year AS metric_time__year
+ , subq_8.metric_time__extract_year AS metric_time__extract_year
+ , subq_8.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_8.metric_time__extract_month AS metric_time__extract_month
+ , subq_8.metric_time__extract_day AS metric_time__extract_day
+ , subq_8.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_8.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_8.user AS user
+ , subq_8.session AS session
+ , subq_8.visit__user AS visit__user
+ , subq_8.visit__session AS visit__session
+ , subq_8.referrer_id AS referrer_id
+ , subq_8.visit__referrer_id AS visit__referrer_id
+ , subq_8.visits AS visits
+ , subq_8.visitors AS visitors
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.visit__ds__day
- , subq_8.visit__ds__week
- , subq_8.visit__ds__month
- , subq_8.visit__ds__quarter
- , subq_8.visit__ds__year
- , subq_8.visit__ds__extract_year
- , subq_8.visit__ds__extract_quarter
- , subq_8.visit__ds__extract_month
- , subq_8.visit__ds__extract_day
- , subq_8.visit__ds__extract_dow
- , subq_8.visit__ds__extract_doy
- , subq_8.ds__day AS metric_time__day
- , subq_8.ds__week AS metric_time__week
- , subq_8.ds__month AS metric_time__month
- , subq_8.ds__quarter AS metric_time__quarter
- , subq_8.ds__year AS metric_time__year
- , subq_8.ds__extract_year AS metric_time__extract_year
- , subq_8.ds__extract_quarter AS metric_time__extract_quarter
- , subq_8.ds__extract_month AS metric_time__extract_month
- , subq_8.ds__extract_day AS metric_time__extract_day
- , subq_8.ds__extract_dow AS metric_time__extract_dow
- , subq_8.ds__extract_doy AS metric_time__extract_doy
- , subq_8.user
- , subq_8.session
- , subq_8.visit__user
- , subq_8.visit__session
- , subq_8.referrer_id
- , subq_8.visit__referrer_id
- , subq_8.visits
- , subq_8.visitors
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.visit__ds__day
+ , subq_0.visit__ds__week
+ , subq_0.visit__ds__month
+ , subq_0.visit__ds__quarter
+ , subq_0.visit__ds__year
+ , subq_0.visit__ds__extract_year
+ , subq_0.visit__ds__extract_quarter
+ , subq_0.visit__ds__extract_month
+ , subq_0.visit__ds__extract_day
+ , subq_0.visit__ds__extract_dow
+ , subq_0.visit__ds__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.user
+ , subq_0.session
+ , subq_0.visit__user
+ , subq_0.visit__session
+ , subq_0.referrer_id
+ , subq_0.visit__referrer_id
+ , subq_0.visits
+ , subq_0.visitors
FROM (
-- Read Elements From Semantic Model 'visits_source'
SELECT
@@ -486,13 +486,13 @@ FROM (
, visits_source_src_28000.user_id AS visit__user
, visits_source_src_28000.session_id AS visit__session
FROM ***************************.fct_visits visits_source_src_28000
- ) subq_8
- ) subq_9
+ ) subq_0
+ ) subq_8
LEFT OUTER JOIN (
-- Pass Only Elements: ['home_state_latest', 'user']
SELECT
- subq_10.user
- , subq_10.home_state_latest
+ subq_9.user
+ , subq_9.home_state_latest
FROM (
-- Read Elements From Semantic Model 'users_latest'
SELECT
@@ -522,123 +522,123 @@ FROM (
, users_latest_src_28000.home_state_latest AS user__home_state_latest
, users_latest_src_28000.user_id AS user
FROM ***************************.dim_users_latest users_latest_src_28000
- ) subq_10
- ) subq_11
+ ) subq_9
+ ) subq_10
ON
- subq_9.user = subq_11.user
- ) subq_12
+ subq_8.user = subq_10.user
+ ) subq_11
WHERE visit__referrer_id = '123456'
- ) subq_13
- ) subq_14
+ ) subq_12
+ ) subq_13
INNER JOIN (
-- Add column with generated UUID
SELECT
- subq_16.ds__day
- , subq_16.ds__week
- , subq_16.ds__month
- , subq_16.ds__quarter
- , subq_16.ds__year
- , subq_16.ds__extract_year
- , subq_16.ds__extract_quarter
- , subq_16.ds__extract_month
- , subq_16.ds__extract_day
- , subq_16.ds__extract_dow
- , subq_16.ds__extract_doy
- , subq_16.ds_month__month
- , subq_16.ds_month__quarter
- , subq_16.ds_month__year
- , subq_16.ds_month__extract_year
- , subq_16.ds_month__extract_quarter
- , subq_16.ds_month__extract_month
- , subq_16.buy__ds__day
- , subq_16.buy__ds__week
- , subq_16.buy__ds__month
- , subq_16.buy__ds__quarter
- , subq_16.buy__ds__year
- , subq_16.buy__ds__extract_year
- , subq_16.buy__ds__extract_quarter
- , subq_16.buy__ds__extract_month
- , subq_16.buy__ds__extract_day
- , subq_16.buy__ds__extract_dow
- , subq_16.buy__ds__extract_doy
- , subq_16.buy__ds_month__month
- , subq_16.buy__ds_month__quarter
- , subq_16.buy__ds_month__year
- , subq_16.buy__ds_month__extract_year
- , subq_16.buy__ds_month__extract_quarter
- , subq_16.buy__ds_month__extract_month
- , subq_16.metric_time__day
- , subq_16.metric_time__week
- , subq_16.metric_time__month
- , subq_16.metric_time__quarter
- , subq_16.metric_time__year
- , subq_16.metric_time__extract_year
- , subq_16.metric_time__extract_quarter
- , subq_16.metric_time__extract_month
- , subq_16.metric_time__extract_day
- , subq_16.metric_time__extract_dow
- , subq_16.metric_time__extract_doy
- , subq_16.user
- , subq_16.session_id
- , subq_16.buy__user
- , subq_16.buy__session_id
- , subq_16.buys
- , subq_16.buyers
+ subq_15.ds__day
+ , subq_15.ds__week
+ , subq_15.ds__month
+ , subq_15.ds__quarter
+ , subq_15.ds__year
+ , subq_15.ds__extract_year
+ , subq_15.ds__extract_quarter
+ , subq_15.ds__extract_month
+ , subq_15.ds__extract_day
+ , subq_15.ds__extract_dow
+ , subq_15.ds__extract_doy
+ , subq_15.ds_month__month
+ , subq_15.ds_month__quarter
+ , subq_15.ds_month__year
+ , subq_15.ds_month__extract_year
+ , subq_15.ds_month__extract_quarter
+ , subq_15.ds_month__extract_month
+ , subq_15.buy__ds__day
+ , subq_15.buy__ds__week
+ , subq_15.buy__ds__month
+ , subq_15.buy__ds__quarter
+ , subq_15.buy__ds__year
+ , subq_15.buy__ds__extract_year
+ , subq_15.buy__ds__extract_quarter
+ , subq_15.buy__ds__extract_month
+ , subq_15.buy__ds__extract_day
+ , subq_15.buy__ds__extract_dow
+ , subq_15.buy__ds__extract_doy
+ , subq_15.buy__ds_month__month
+ , subq_15.buy__ds_month__quarter
+ , subq_15.buy__ds_month__year
+ , subq_15.buy__ds_month__extract_year
+ , subq_15.buy__ds_month__extract_quarter
+ , subq_15.buy__ds_month__extract_month
+ , subq_15.metric_time__day
+ , subq_15.metric_time__week
+ , subq_15.metric_time__month
+ , subq_15.metric_time__quarter
+ , subq_15.metric_time__year
+ , subq_15.metric_time__extract_year
+ , subq_15.metric_time__extract_quarter
+ , subq_15.metric_time__extract_month
+ , subq_15.metric_time__extract_day
+ , subq_15.metric_time__extract_dow
+ , subq_15.metric_time__extract_doy
+ , subq_15.user
+ , subq_15.session_id
+ , subq_15.buy__user
+ , subq_15.buy__session_id
+ , subq_15.buys
+ , subq_15.buyers
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_15.ds__day
- , subq_15.ds__week
- , subq_15.ds__month
- , subq_15.ds__quarter
- , subq_15.ds__year
- , subq_15.ds__extract_year
- , subq_15.ds__extract_quarter
- , subq_15.ds__extract_month
- , subq_15.ds__extract_day
- , subq_15.ds__extract_dow
- , subq_15.ds__extract_doy
- , subq_15.ds_month__month
- , subq_15.ds_month__quarter
- , subq_15.ds_month__year
- , subq_15.ds_month__extract_year
- , subq_15.ds_month__extract_quarter
- , subq_15.ds_month__extract_month
- , subq_15.buy__ds__day
- , subq_15.buy__ds__week
- , subq_15.buy__ds__month
- , subq_15.buy__ds__quarter
- , subq_15.buy__ds__year
- , subq_15.buy__ds__extract_year
- , subq_15.buy__ds__extract_quarter
- , subq_15.buy__ds__extract_month
- , subq_15.buy__ds__extract_day
- , subq_15.buy__ds__extract_dow
- , subq_15.buy__ds__extract_doy
- , subq_15.buy__ds_month__month
- , subq_15.buy__ds_month__quarter
- , subq_15.buy__ds_month__year
- , subq_15.buy__ds_month__extract_year
- , subq_15.buy__ds_month__extract_quarter
- , subq_15.buy__ds_month__extract_month
- , subq_15.ds__day AS metric_time__day
- , subq_15.ds__week AS metric_time__week
- , subq_15.ds__month AS metric_time__month
- , subq_15.ds__quarter AS metric_time__quarter
- , subq_15.ds__year AS metric_time__year
- , subq_15.ds__extract_year AS metric_time__extract_year
- , subq_15.ds__extract_quarter AS metric_time__extract_quarter
- , subq_15.ds__extract_month AS metric_time__extract_month
- , subq_15.ds__extract_day AS metric_time__extract_day
- , subq_15.ds__extract_dow AS metric_time__extract_dow
- , subq_15.ds__extract_doy AS metric_time__extract_doy
- , subq_15.user
- , subq_15.session_id
- , subq_15.buy__user
- , subq_15.buy__session_id
- , subq_15.buys
- , subq_15.buyers
+ subq_14.ds__day
+ , subq_14.ds__week
+ , subq_14.ds__month
+ , subq_14.ds__quarter
+ , subq_14.ds__year
+ , subq_14.ds__extract_year
+ , subq_14.ds__extract_quarter
+ , subq_14.ds__extract_month
+ , subq_14.ds__extract_day
+ , subq_14.ds__extract_dow
+ , subq_14.ds__extract_doy
+ , subq_14.ds_month__month
+ , subq_14.ds_month__quarter
+ , subq_14.ds_month__year
+ , subq_14.ds_month__extract_year
+ , subq_14.ds_month__extract_quarter
+ , subq_14.ds_month__extract_month
+ , subq_14.buy__ds__day
+ , subq_14.buy__ds__week
+ , subq_14.buy__ds__month
+ , subq_14.buy__ds__quarter
+ , subq_14.buy__ds__year
+ , subq_14.buy__ds__extract_year
+ , subq_14.buy__ds__extract_quarter
+ , subq_14.buy__ds__extract_month
+ , subq_14.buy__ds__extract_day
+ , subq_14.buy__ds__extract_dow
+ , subq_14.buy__ds__extract_doy
+ , subq_14.buy__ds_month__month
+ , subq_14.buy__ds_month__quarter
+ , subq_14.buy__ds_month__year
+ , subq_14.buy__ds_month__extract_year
+ , subq_14.buy__ds_month__extract_quarter
+ , subq_14.buy__ds_month__extract_month
+ , subq_14.ds__day AS metric_time__day
+ , subq_14.ds__week AS metric_time__week
+ , subq_14.ds__month AS metric_time__month
+ , subq_14.ds__quarter AS metric_time__quarter
+ , subq_14.ds__year AS metric_time__year
+ , subq_14.ds__extract_year AS metric_time__extract_year
+ , subq_14.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_14.ds__extract_month AS metric_time__extract_month
+ , subq_14.ds__extract_day AS metric_time__extract_day
+ , subq_14.ds__extract_dow AS metric_time__extract_dow
+ , subq_14.ds__extract_doy AS metric_time__extract_doy
+ , subq_14.user
+ , subq_14.session_id
+ , subq_14.buy__user
+ , subq_14.buy__session_id
+ , subq_14.buys
+ , subq_14.buyers
FROM (
-- Read Elements From Semantic Model 'buys_source'
SELECT
@@ -684,33 +684,33 @@ FROM (
, buys_source_src_28000.user_id AS buy__user
, buys_source_src_28000.session_id AS buy__session_id
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_15
- ) subq_16
- ) subq_17
+ ) subq_14
+ ) subq_15
+ ) subq_16
ON
(
- subq_14.user = subq_17.user
+ subq_13.user = subq_16.user
) AND (
(
- subq_14.metric_time__day <= subq_17.metric_time__day
+ subq_13.metric_time__day <= subq_16.metric_time__day
) AND (
- subq_14.metric_time__day > subq_17.metric_time__day - INTERVAL 7 day
+ subq_13.metric_time__day > subq_16.metric_time__day - INTERVAL 7 day
)
)
- ) subq_18
- ) subq_19
- ) subq_20
+ ) subq_17
+ ) subq_18
+ ) subq_19
GROUP BY
- subq_20.metric_time__day
- , subq_20.user__home_state_latest
- ) subq_21
+ subq_19.metric_time__day
+ , subq_19.user__home_state_latest
+ ) subq_20
ON
(
- subq_7.user__home_state_latest = subq_21.user__home_state_latest
+ subq_7.user__home_state_latest = subq_20.user__home_state_latest
) AND (
- subq_7.metric_time__day = subq_21.metric_time__day
+ subq_7.metric_time__day = subq_20.metric_time__day
)
GROUP BY
- COALESCE(subq_7.metric_time__day, subq_21.metric_time__day)
- , COALESCE(subq_7.user__home_state_latest, subq_21.user__home_state_latest)
-) subq_22
+ COALESCE(subq_7.metric_time__day, subq_20.metric_time__day)
+ , COALESCE(subq_7.user__home_state_latest, subq_20.user__home_state_latest)
+) subq_21
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_conversion_metric_query_filters__plan0_optimized.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_conversion_metric_query_filters__plan0_optimized.sql
index 7b280a2a46..0e9e77aa23 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_conversion_metric_query_filters__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_conversion_metric_query_filters__plan0_optimized.sql
@@ -31,10 +31,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_30.metric_time__day, subq_43.metric_time__day) AS metric_time__day
- , COALESCE(subq_30.user__home_state_latest, subq_43.user__home_state_latest) AS user__home_state_latest
- , MAX(subq_30.visits) AS visits
- , MAX(subq_43.buys) AS buys
+ COALESCE(subq_29.metric_time__day, subq_42.metric_time__day) AS metric_time__day
+ , COALESCE(subq_29.user__home_state_latest, subq_42.user__home_state_latest) AS user__home_state_latest
+ , MAX(subq_29.visits) AS visits
+ , MAX(subq_42.buys) AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'user__home_state_latest', 'metric_time__day']
@@ -55,12 +55,12 @@ FROM (
rss_28028_cte rss_28028_cte
ON
sma_28019_cte.user = rss_28028_cte.user
- ) subq_27
+ ) subq_26
WHERE visit__referrer_id = '123456'
GROUP BY
metric_time__day
, user__home_state_latest
- ) subq_30
+ ) subq_29
FULL OUTER JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements: ['buys', 'user__home_state_latest', 'metric_time__day']
@@ -72,54 +72,54 @@ FROM (
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
- FIRST_VALUE(subq_36.visits) OVER (
+ FIRST_VALUE(subq_35.visits) OVER (
PARTITION BY
- subq_39.user
- , subq_39.metric_time__day
- , subq_39.mf_internal_uuid
- ORDER BY subq_36.metric_time__day DESC
+ subq_38.user
+ , subq_38.metric_time__day
+ , subq_38.mf_internal_uuid
+ ORDER BY subq_35.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visits
- , FIRST_VALUE(subq_36.visit__referrer_id) OVER (
+ , FIRST_VALUE(subq_35.visit__referrer_id) OVER (
PARTITION BY
- subq_39.user
- , subq_39.metric_time__day
- , subq_39.mf_internal_uuid
- ORDER BY subq_36.metric_time__day DESC
+ subq_38.user
+ , subq_38.metric_time__day
+ , subq_38.mf_internal_uuid
+ ORDER BY subq_35.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS visit__referrer_id
- , FIRST_VALUE(subq_36.user__home_state_latest) OVER (
+ , FIRST_VALUE(subq_35.user__home_state_latest) OVER (
PARTITION BY
- subq_39.user
- , subq_39.metric_time__day
- , subq_39.mf_internal_uuid
- ORDER BY subq_36.metric_time__day DESC
+ subq_38.user
+ , subq_38.metric_time__day
+ , subq_38.mf_internal_uuid
+ ORDER BY subq_35.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user__home_state_latest
- , FIRST_VALUE(subq_36.metric_time__day) OVER (
+ , FIRST_VALUE(subq_35.metric_time__day) OVER (
PARTITION BY
- subq_39.user
- , subq_39.metric_time__day
- , subq_39.mf_internal_uuid
- ORDER BY subq_36.metric_time__day DESC
+ subq_38.user
+ , subq_38.metric_time__day
+ , subq_38.mf_internal_uuid
+ ORDER BY subq_35.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS metric_time__day
- , FIRST_VALUE(subq_36.user) OVER (
+ , FIRST_VALUE(subq_35.user) OVER (
PARTITION BY
- subq_39.user
- , subq_39.metric_time__day
- , subq_39.mf_internal_uuid
- ORDER BY subq_36.metric_time__day DESC
+ subq_38.user
+ , subq_38.metric_time__day
+ , subq_38.mf_internal_uuid
+ ORDER BY subq_35.metric_time__day DESC
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS user
- , subq_39.mf_internal_uuid AS mf_internal_uuid
- , subq_39.buys AS buys
+ , subq_38.mf_internal_uuid AS mf_internal_uuid
+ , subq_38.buys AS buys
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['visits', 'visit__referrer_id', 'user__home_state_latest', 'metric_time__day', 'user']
SELECT
metric_time__day
- , subq_34.user
+ , subq_33.user
, visit__referrer_id
, user__home_state_latest
, visits
@@ -136,9 +136,9 @@ FROM (
rss_28028_cte rss_28028_cte
ON
sma_28019_cte.user = rss_28028_cte.user
- ) subq_34
+ ) subq_33
WHERE visit__referrer_id = '123456'
- ) subq_36
+ ) subq_35
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
@@ -149,29 +149,29 @@ FROM (
, 1 AS buys
, GEN_RANDOM_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_28000
- ) subq_39
+ ) subq_38
ON
(
- subq_36.user = subq_39.user
+ subq_35.user = subq_38.user
) AND (
(
- subq_36.metric_time__day <= subq_39.metric_time__day
+ subq_35.metric_time__day <= subq_38.metric_time__day
) AND (
- subq_36.metric_time__day > subq_39.metric_time__day - INTERVAL 7 day
+ subq_35.metric_time__day > subq_38.metric_time__day - INTERVAL 7 day
)
)
- ) subq_40
+ ) subq_39
GROUP BY
metric_time__day
, user__home_state_latest
- ) subq_43
+ ) subq_42
ON
(
- subq_30.user__home_state_latest = subq_43.user__home_state_latest
+ subq_29.user__home_state_latest = subq_42.user__home_state_latest
) AND (
- subq_30.metric_time__day = subq_43.metric_time__day
+ subq_29.metric_time__day = subq_42.metric_time__day
)
GROUP BY
- COALESCE(subq_30.metric_time__day, subq_43.metric_time__day)
- , COALESCE(subq_30.user__home_state_latest, subq_43.user__home_state_latest)
-) subq_44
+ COALESCE(subq_29.metric_time__day, subq_42.metric_time__day)
+ , COALESCE(subq_29.user__home_state_latest, subq_42.user__home_state_latest)
+) subq_43
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_different_filters_on_same_measure_source_categorical_dimension__plan0.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_different_filters_on_same_measure_source_categorical_dimension__plan0.sql
index df38de09e2..edee24e3b3 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_different_filters_on_same_measure_source_categorical_dimension__plan0.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_different_filters_on_same_measure_source_categorical_dimension__plan0.sql
@@ -14,14 +14,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.metric_time__day
- , CAST(subq_11.average_booking_value AS DOUBLE) / CAST(NULLIF(subq_11.max_booking_value, 0) AS DOUBLE) AS instant_booking_fraction_of_max_value
+ subq_10.metric_time__day
+ , CAST(subq_10.average_booking_value AS DOUBLE) / CAST(NULLIF(subq_10.max_booking_value, 0) AS DOUBLE) AS instant_booking_fraction_of_max_value
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.metric_time__day, subq_10.metric_time__day) AS metric_time__day
+ COALESCE(subq_5.metric_time__day, subq_9.metric_time__day) AS metric_time__day
, MAX(subq_5.average_booking_value) AS average_booking_value
- , MAX(subq_10.max_booking_value) AS max_booking_value
+ , MAX(subq_9.max_booking_value) AS max_booking_value
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -343,119 +343,119 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_9.metric_time__day
- , subq_9.max_booking_value
+ subq_8.metric_time__day
+ , subq_8.max_booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_8.metric_time__day
- , MAX(subq_8.max_booking_value) AS max_booking_value
+ subq_7.metric_time__day
+ , MAX(subq_7.max_booking_value) AS max_booking_value
FROM (
-- Pass Only Elements: ['max_booking_value', 'metric_time__day']
SELECT
- subq_7.metric_time__day
- , subq_7.max_booking_value
+ subq_6.metric_time__day
+ , subq_6.max_booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.ds_partitioned__day
- , subq_6.ds_partitioned__week
- , subq_6.ds_partitioned__month
- , subq_6.ds_partitioned__quarter
- , subq_6.ds_partitioned__year
- , subq_6.ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy
- , subq_6.paid_at__day
- , subq_6.paid_at__week
- , subq_6.paid_at__month
- , subq_6.paid_at__quarter
- , subq_6.paid_at__year
- , subq_6.paid_at__extract_year
- , subq_6.paid_at__extract_quarter
- , subq_6.paid_at__extract_month
- , subq_6.paid_at__extract_day
- , subq_6.paid_at__extract_dow
- , subq_6.paid_at__extract_doy
- , subq_6.booking__ds__day
- , subq_6.booking__ds__week
- , subq_6.booking__ds__month
- , subq_6.booking__ds__quarter
- , subq_6.booking__ds__year
- , subq_6.booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month
- , subq_6.booking__ds__extract_day
- , subq_6.booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day
- , subq_6.booking__paid_at__week
- , subq_6.booking__paid_at__month
- , subq_6.booking__paid_at__quarter
- , subq_6.booking__paid_at__year
- , subq_6.booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.listing
- , subq_6.guest
- , subq_6.host
- , subq_6.booking__listing
- , subq_6.booking__guest
- , subq_6.booking__host
- , subq_6.is_instant
- , subq_6.booking__is_instant
- , subq_6.bookings
- , subq_6.instant_bookings
- , subq_6.booking_value
- , subq_6.max_booking_value
- , subq_6.min_booking_value
- , subq_6.bookers
- , subq_6.average_booking_value
- , subq_6.referred_bookings
- , subq_6.median_booking_value
- , subq_6.booking_value_p99
- , subq_6.discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -548,15 +548,15 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_6
- ) subq_7
- ) subq_8
+ ) subq_0
+ ) subq_6
+ ) subq_7
GROUP BY
- subq_8.metric_time__day
- ) subq_9
- ) subq_10
+ subq_7.metric_time__day
+ ) subq_8
+ ) subq_9
ON
- subq_5.metric_time__day = subq_10.metric_time__day
+ subq_5.metric_time__day = subq_9.metric_time__day
GROUP BY
- COALESCE(subq_5.metric_time__day, subq_10.metric_time__day)
-) subq_11
+ COALESCE(subq_5.metric_time__day, subq_9.metric_time__day)
+) subq_10
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_different_filters_on_same_measure_source_categorical_dimension__plan0_optimized.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_different_filters_on_same_measure_source_categorical_dimension__plan0_optimized.sql
index 3d37d0c84d..fd3a27b8f4 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_different_filters_on_same_measure_source_categorical_dimension__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_different_filters_on_same_measure_source_categorical_dimension__plan0_optimized.sql
@@ -30,9 +30,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_17.metric_time__day, subq_21.metric_time__day) AS metric_time__day
- , MAX(subq_17.average_booking_value) AS average_booking_value
- , MAX(subq_21.max_booking_value) AS max_booking_value
+ COALESCE(subq_16.metric_time__day, subq_20.metric_time__day) AS metric_time__day
+ , MAX(subq_16.average_booking_value) AS average_booking_value
+ , MAX(subq_20.max_booking_value) AS max_booking_value
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['average_booking_value', 'metric_time__day']
@@ -46,13 +46,14 @@ FROM (
SELECT
metric_time__day
, booking__is_instant
+ , max_booking_value
, average_booking_value
FROM sma_28009_cte sma_28009_cte
- ) subq_13
+ ) subq_12
WHERE booking__is_instant
GROUP BY
metric_time__day
- ) subq_17
+ ) subq_16
FULL OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['max_booking_value', 'metric_time__day']
@@ -64,9 +65,9 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__day
- ) subq_21
+ ) subq_20
ON
- subq_17.metric_time__day = subq_21.metric_time__day
+ subq_16.metric_time__day = subq_20.metric_time__day
GROUP BY
- COALESCE(subq_17.metric_time__day, subq_21.metric_time__day)
-) subq_22
+ COALESCE(subq_16.metric_time__day, subq_20.metric_time__day)
+) subq_21
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_fill_nulls_time_spine_metric_predicate_pushdown__plan0.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_fill_nulls_time_spine_metric_predicate_pushdown__plan0.sql
index f78b7f13e1..abb1abcb3d 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_fill_nulls_time_spine_metric_predicate_pushdown__plan0.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_fill_nulls_time_spine_metric_predicate_pushdown__plan0.sql
@@ -8,16 +8,16 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_32.metric_time__day
- , subq_32.listing__country_latest
+ subq_30.metric_time__day
+ , subq_30.listing__country_latest
, bookings_fill_nulls_with_0 - bookings_2_weeks_ago AS bookings_growth_2_weeks_fill_nulls_with_0
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_13.metric_time__day, subq_31.metric_time__day) AS metric_time__day
- , COALESCE(subq_13.listing__country_latest, subq_31.listing__country_latest) AS listing__country_latest
+ COALESCE(subq_13.metric_time__day, subq_29.metric_time__day) AS metric_time__day
+ , COALESCE(subq_13.listing__country_latest, subq_29.listing__country_latest) AS listing__country_latest
, COALESCE(MAX(subq_13.bookings_fill_nulls_with_0), 0) AS bookings_fill_nulls_with_0
- , COALESCE(MAX(subq_31.bookings_2_weeks_ago), 0) AS bookings_2_weeks_ago
+ , COALESCE(MAX(subq_29.bookings_2_weeks_ago), 0) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -634,34 +634,34 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_30.metric_time__day
- , subq_30.listing__country_latest
- , COALESCE(subq_30.bookings, 0) AS bookings_2_weeks_ago
+ subq_28.metric_time__day
+ , subq_28.listing__country_latest
+ , COALESCE(subq_28.bookings, 0) AS bookings_2_weeks_ago
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_29.metric_time__day AS metric_time__day
- , subq_26.listing__country_latest AS listing__country_latest
- , subq_26.bookings AS bookings
+ subq_27.metric_time__day AS metric_time__day
+ , subq_24.listing__country_latest AS listing__country_latest
+ , subq_24.bookings AS bookings
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_28.metric_time__day
+ subq_26.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_27.ds__day AS metric_time__day
- , subq_27.ds__week
- , subq_27.ds__month
- , subq_27.ds__quarter
- , subq_27.ds__year
- , subq_27.ds__extract_year
- , subq_27.ds__extract_quarter
- , subq_27.ds__extract_month
- , subq_27.ds__extract_day
- , subq_27.ds__extract_dow
- , subq_27.ds__extract_doy
- , subq_27.ds__martian_day
+ subq_25.ds__day AS metric_time__day
+ , subq_25.ds__week
+ , subq_25.ds__month
+ , subq_25.ds__quarter
+ , subq_25.ds__year
+ , subq_25.ds__extract_year
+ , subq_25.ds__extract_quarter
+ , subq_25.ds__extract_month
+ , subq_25.ds__extract_day
+ , subq_25.ds__extract_dow
+ , subq_25.ds__extract_doy
+ , subq_25.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -678,345 +678,345 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_27
- ) subq_28
- ) subq_29
+ ) subq_25
+ ) subq_26
+ ) subq_27
LEFT OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_25.metric_time__day
- , subq_25.listing__country_latest
- , SUM(subq_25.bookings) AS bookings
+ subq_23.metric_time__day
+ , subq_23.listing__country_latest
+ , SUM(subq_23.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing__country_latest', 'metric_time__day']
SELECT
- subq_24.metric_time__day
- , subq_24.listing__country_latest
- , subq_24.bookings
+ subq_22.metric_time__day
+ , subq_22.listing__country_latest
+ , subq_22.bookings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_23.ds__day
- , subq_23.ds__week
- , subq_23.ds__month
- , subq_23.ds__quarter
- , subq_23.ds__year
- , subq_23.ds__extract_year
- , subq_23.ds__extract_quarter
- , subq_23.ds__extract_month
- , subq_23.ds__extract_day
- , subq_23.ds__extract_dow
- , subq_23.ds__extract_doy
- , subq_23.ds_partitioned__day
- , subq_23.ds_partitioned__week
- , subq_23.ds_partitioned__month
- , subq_23.ds_partitioned__quarter
- , subq_23.ds_partitioned__year
- , subq_23.ds_partitioned__extract_year
- , subq_23.ds_partitioned__extract_quarter
- , subq_23.ds_partitioned__extract_month
- , subq_23.ds_partitioned__extract_day
- , subq_23.ds_partitioned__extract_dow
- , subq_23.ds_partitioned__extract_doy
- , subq_23.paid_at__day
- , subq_23.paid_at__week
- , subq_23.paid_at__month
- , subq_23.paid_at__quarter
- , subq_23.paid_at__year
- , subq_23.paid_at__extract_year
- , subq_23.paid_at__extract_quarter
- , subq_23.paid_at__extract_month
- , subq_23.paid_at__extract_day
- , subq_23.paid_at__extract_dow
- , subq_23.paid_at__extract_doy
- , subq_23.booking__ds__day
- , subq_23.booking__ds__week
- , subq_23.booking__ds__month
- , subq_23.booking__ds__quarter
- , subq_23.booking__ds__year
- , subq_23.booking__ds__extract_year
- , subq_23.booking__ds__extract_quarter
- , subq_23.booking__ds__extract_month
- , subq_23.booking__ds__extract_day
- , subq_23.booking__ds__extract_dow
- , subq_23.booking__ds__extract_doy
- , subq_23.booking__ds_partitioned__day
- , subq_23.booking__ds_partitioned__week
- , subq_23.booking__ds_partitioned__month
- , subq_23.booking__ds_partitioned__quarter
- , subq_23.booking__ds_partitioned__year
- , subq_23.booking__ds_partitioned__extract_year
- , subq_23.booking__ds_partitioned__extract_quarter
- , subq_23.booking__ds_partitioned__extract_month
- , subq_23.booking__ds_partitioned__extract_day
- , subq_23.booking__ds_partitioned__extract_dow
- , subq_23.booking__ds_partitioned__extract_doy
- , subq_23.booking__paid_at__day
- , subq_23.booking__paid_at__week
- , subq_23.booking__paid_at__month
- , subq_23.booking__paid_at__quarter
- , subq_23.booking__paid_at__year
- , subq_23.booking__paid_at__extract_year
- , subq_23.booking__paid_at__extract_quarter
- , subq_23.booking__paid_at__extract_month
- , subq_23.booking__paid_at__extract_day
- , subq_23.booking__paid_at__extract_dow
- , subq_23.booking__paid_at__extract_doy
- , subq_23.metric_time__week
- , subq_23.metric_time__month
- , subq_23.metric_time__quarter
- , subq_23.metric_time__year
- , subq_23.metric_time__extract_year
- , subq_23.metric_time__extract_quarter
- , subq_23.metric_time__extract_month
- , subq_23.metric_time__extract_day
- , subq_23.metric_time__extract_dow
- , subq_23.metric_time__extract_doy
- , subq_23.metric_time__day
- , subq_23.listing
- , subq_23.guest
- , subq_23.host
- , subq_23.booking__listing
- , subq_23.booking__guest
- , subq_23.booking__host
- , subq_23.is_instant
- , subq_23.booking__is_instant
- , subq_23.listing__country_latest
- , subq_23.bookings
- , subq_23.instant_bookings
- , subq_23.booking_value
- , subq_23.max_booking_value
- , subq_23.min_booking_value
- , subq_23.bookers
- , subq_23.average_booking_value
- , subq_23.referred_bookings
- , subq_23.median_booking_value
- , subq_23.booking_value_p99
- , subq_23.discrete_booking_value_p99
- , subq_23.approximate_continuous_booking_value_p99
- , subq_23.approximate_discrete_booking_value_p99
+ subq_21.ds__day
+ , subq_21.ds__week
+ , subq_21.ds__month
+ , subq_21.ds__quarter
+ , subq_21.ds__year
+ , subq_21.ds__extract_year
+ , subq_21.ds__extract_quarter
+ , subq_21.ds__extract_month
+ , subq_21.ds__extract_day
+ , subq_21.ds__extract_dow
+ , subq_21.ds__extract_doy
+ , subq_21.ds_partitioned__day
+ , subq_21.ds_partitioned__week
+ , subq_21.ds_partitioned__month
+ , subq_21.ds_partitioned__quarter
+ , subq_21.ds_partitioned__year
+ , subq_21.ds_partitioned__extract_year
+ , subq_21.ds_partitioned__extract_quarter
+ , subq_21.ds_partitioned__extract_month
+ , subq_21.ds_partitioned__extract_day
+ , subq_21.ds_partitioned__extract_dow
+ , subq_21.ds_partitioned__extract_doy
+ , subq_21.paid_at__day
+ , subq_21.paid_at__week
+ , subq_21.paid_at__month
+ , subq_21.paid_at__quarter
+ , subq_21.paid_at__year
+ , subq_21.paid_at__extract_year
+ , subq_21.paid_at__extract_quarter
+ , subq_21.paid_at__extract_month
+ , subq_21.paid_at__extract_day
+ , subq_21.paid_at__extract_dow
+ , subq_21.paid_at__extract_doy
+ , subq_21.booking__ds__day
+ , subq_21.booking__ds__week
+ , subq_21.booking__ds__month
+ , subq_21.booking__ds__quarter
+ , subq_21.booking__ds__year
+ , subq_21.booking__ds__extract_year
+ , subq_21.booking__ds__extract_quarter
+ , subq_21.booking__ds__extract_month
+ , subq_21.booking__ds__extract_day
+ , subq_21.booking__ds__extract_dow
+ , subq_21.booking__ds__extract_doy
+ , subq_21.booking__ds_partitioned__day
+ , subq_21.booking__ds_partitioned__week
+ , subq_21.booking__ds_partitioned__month
+ , subq_21.booking__ds_partitioned__quarter
+ , subq_21.booking__ds_partitioned__year
+ , subq_21.booking__ds_partitioned__extract_year
+ , subq_21.booking__ds_partitioned__extract_quarter
+ , subq_21.booking__ds_partitioned__extract_month
+ , subq_21.booking__ds_partitioned__extract_day
+ , subq_21.booking__ds_partitioned__extract_dow
+ , subq_21.booking__ds_partitioned__extract_doy
+ , subq_21.booking__paid_at__day
+ , subq_21.booking__paid_at__week
+ , subq_21.booking__paid_at__month
+ , subq_21.booking__paid_at__quarter
+ , subq_21.booking__paid_at__year
+ , subq_21.booking__paid_at__extract_year
+ , subq_21.booking__paid_at__extract_quarter
+ , subq_21.booking__paid_at__extract_month
+ , subq_21.booking__paid_at__extract_day
+ , subq_21.booking__paid_at__extract_dow
+ , subq_21.booking__paid_at__extract_doy
+ , subq_21.metric_time__week
+ , subq_21.metric_time__month
+ , subq_21.metric_time__quarter
+ , subq_21.metric_time__year
+ , subq_21.metric_time__extract_year
+ , subq_21.metric_time__extract_quarter
+ , subq_21.metric_time__extract_month
+ , subq_21.metric_time__extract_day
+ , subq_21.metric_time__extract_dow
+ , subq_21.metric_time__extract_doy
+ , subq_21.metric_time__day
+ , subq_21.listing
+ , subq_21.guest
+ , subq_21.host
+ , subq_21.booking__listing
+ , subq_21.booking__guest
+ , subq_21.booking__host
+ , subq_21.is_instant
+ , subq_21.booking__is_instant
+ , subq_21.listing__country_latest
+ , subq_21.bookings
+ , subq_21.instant_bookings
+ , subq_21.booking_value
+ , subq_21.max_booking_value
+ , subq_21.min_booking_value
+ , subq_21.bookers
+ , subq_21.average_booking_value
+ , subq_21.referred_bookings
+ , subq_21.median_booking_value
+ , subq_21.booking_value_p99
+ , subq_21.discrete_booking_value_p99
+ , subq_21.approximate_continuous_booking_value_p99
+ , subq_21.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_22.country_latest AS listing__country_latest
- , subq_19.ds__day AS ds__day
- , subq_19.ds__week AS ds__week
- , subq_19.ds__month AS ds__month
- , subq_19.ds__quarter AS ds__quarter
- , subq_19.ds__year AS ds__year
- , subq_19.ds__extract_year AS ds__extract_year
- , subq_19.ds__extract_quarter AS ds__extract_quarter
- , subq_19.ds__extract_month AS ds__extract_month
- , subq_19.ds__extract_day AS ds__extract_day
- , subq_19.ds__extract_dow AS ds__extract_dow
- , subq_19.ds__extract_doy AS ds__extract_doy
- , subq_19.ds_partitioned__day AS ds_partitioned__day
- , subq_19.ds_partitioned__week AS ds_partitioned__week
- , subq_19.ds_partitioned__month AS ds_partitioned__month
- , subq_19.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_19.ds_partitioned__year AS ds_partitioned__year
- , subq_19.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_19.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_19.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_19.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_19.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_19.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_19.paid_at__day AS paid_at__day
- , subq_19.paid_at__week AS paid_at__week
- , subq_19.paid_at__month AS paid_at__month
- , subq_19.paid_at__quarter AS paid_at__quarter
- , subq_19.paid_at__year AS paid_at__year
- , subq_19.paid_at__extract_year AS paid_at__extract_year
- , subq_19.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_19.paid_at__extract_month AS paid_at__extract_month
- , subq_19.paid_at__extract_day AS paid_at__extract_day
- , subq_19.paid_at__extract_dow AS paid_at__extract_dow
- , subq_19.paid_at__extract_doy AS paid_at__extract_doy
- , subq_19.booking__ds__day AS booking__ds__day
- , subq_19.booking__ds__week AS booking__ds__week
- , subq_19.booking__ds__month AS booking__ds__month
- , subq_19.booking__ds__quarter AS booking__ds__quarter
- , subq_19.booking__ds__year AS booking__ds__year
- , subq_19.booking__ds__extract_year AS booking__ds__extract_year
- , subq_19.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_19.booking__ds__extract_month AS booking__ds__extract_month
- , subq_19.booking__ds__extract_day AS booking__ds__extract_day
- , subq_19.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_19.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_19.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_19.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_19.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_19.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_19.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_19.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_19.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_19.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_19.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_19.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_19.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_19.booking__paid_at__day AS booking__paid_at__day
- , subq_19.booking__paid_at__week AS booking__paid_at__week
- , subq_19.booking__paid_at__month AS booking__paid_at__month
- , subq_19.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_19.booking__paid_at__year AS booking__paid_at__year
- , subq_19.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_19.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_19.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_19.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_19.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_19.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_19.metric_time__week AS metric_time__week
- , subq_19.metric_time__month AS metric_time__month
- , subq_19.metric_time__quarter AS metric_time__quarter
- , subq_19.metric_time__year AS metric_time__year
- , subq_19.metric_time__extract_year AS metric_time__extract_year
- , subq_19.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_19.metric_time__extract_month AS metric_time__extract_month
- , subq_19.metric_time__extract_day AS metric_time__extract_day
- , subq_19.metric_time__extract_dow AS metric_time__extract_dow
- , subq_19.metric_time__extract_doy AS metric_time__extract_doy
- , subq_19.metric_time__day AS metric_time__day
- , subq_19.listing AS listing
- , subq_19.guest AS guest
- , subq_19.host AS host
- , subq_19.booking__listing AS booking__listing
- , subq_19.booking__guest AS booking__guest
- , subq_19.booking__host AS booking__host
- , subq_19.is_instant AS is_instant
- , subq_19.booking__is_instant AS booking__is_instant
- , subq_19.bookings AS bookings
- , subq_19.instant_bookings AS instant_bookings
- , subq_19.booking_value AS booking_value
- , subq_19.max_booking_value AS max_booking_value
- , subq_19.min_booking_value AS min_booking_value
- , subq_19.bookers AS bookers
- , subq_19.average_booking_value AS average_booking_value
- , subq_19.referred_bookings AS referred_bookings
- , subq_19.median_booking_value AS median_booking_value
- , subq_19.booking_value_p99 AS booking_value_p99
- , subq_19.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_19.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_19.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_20.country_latest AS listing__country_latest
+ , subq_18.ds__day AS ds__day
+ , subq_18.ds__week AS ds__week
+ , subq_18.ds__month AS ds__month
+ , subq_18.ds__quarter AS ds__quarter
+ , subq_18.ds__year AS ds__year
+ , subq_18.ds__extract_year AS ds__extract_year
+ , subq_18.ds__extract_quarter AS ds__extract_quarter
+ , subq_18.ds__extract_month AS ds__extract_month
+ , subq_18.ds__extract_day AS ds__extract_day
+ , subq_18.ds__extract_dow AS ds__extract_dow
+ , subq_18.ds__extract_doy AS ds__extract_doy
+ , subq_18.ds_partitioned__day AS ds_partitioned__day
+ , subq_18.ds_partitioned__week AS ds_partitioned__week
+ , subq_18.ds_partitioned__month AS ds_partitioned__month
+ , subq_18.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_18.ds_partitioned__year AS ds_partitioned__year
+ , subq_18.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_18.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_18.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_18.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_18.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_18.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_18.paid_at__day AS paid_at__day
+ , subq_18.paid_at__week AS paid_at__week
+ , subq_18.paid_at__month AS paid_at__month
+ , subq_18.paid_at__quarter AS paid_at__quarter
+ , subq_18.paid_at__year AS paid_at__year
+ , subq_18.paid_at__extract_year AS paid_at__extract_year
+ , subq_18.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_18.paid_at__extract_month AS paid_at__extract_month
+ , subq_18.paid_at__extract_day AS paid_at__extract_day
+ , subq_18.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_18.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_18.booking__ds__day AS booking__ds__day
+ , subq_18.booking__ds__week AS booking__ds__week
+ , subq_18.booking__ds__month AS booking__ds__month
+ , subq_18.booking__ds__quarter AS booking__ds__quarter
+ , subq_18.booking__ds__year AS booking__ds__year
+ , subq_18.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_18.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_18.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_18.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_18.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_18.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_18.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_18.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_18.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_18.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_18.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_18.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_18.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_18.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_18.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_18.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_18.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_18.booking__paid_at__day AS booking__paid_at__day
+ , subq_18.booking__paid_at__week AS booking__paid_at__week
+ , subq_18.booking__paid_at__month AS booking__paid_at__month
+ , subq_18.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_18.booking__paid_at__year AS booking__paid_at__year
+ , subq_18.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_18.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_18.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_18.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_18.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_18.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_18.metric_time__week AS metric_time__week
+ , subq_18.metric_time__month AS metric_time__month
+ , subq_18.metric_time__quarter AS metric_time__quarter
+ , subq_18.metric_time__year AS metric_time__year
+ , subq_18.metric_time__extract_year AS metric_time__extract_year
+ , subq_18.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_18.metric_time__extract_month AS metric_time__extract_month
+ , subq_18.metric_time__extract_day AS metric_time__extract_day
+ , subq_18.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_18.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_18.metric_time__day AS metric_time__day
+ , subq_18.listing AS listing
+ , subq_18.guest AS guest
+ , subq_18.host AS host
+ , subq_18.booking__listing AS booking__listing
+ , subq_18.booking__guest AS booking__guest
+ , subq_18.booking__host AS booking__host
+ , subq_18.is_instant AS is_instant
+ , subq_18.booking__is_instant AS booking__is_instant
+ , subq_18.bookings AS bookings
+ , subq_18.instant_bookings AS instant_bookings
+ , subq_18.booking_value AS booking_value
+ , subq_18.max_booking_value AS max_booking_value
+ , subq_18.min_booking_value AS min_booking_value
+ , subq_18.bookers AS bookers
+ , subq_18.average_booking_value AS average_booking_value
+ , subq_18.referred_bookings AS referred_bookings
+ , subq_18.median_booking_value AS median_booking_value
+ , subq_18.booking_value_p99 AS booking_value_p99
+ , subq_18.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_18.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_18.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_18.metric_time__day AS metric_time__day
- , subq_15.ds__day AS ds__day
- , subq_15.ds__week AS ds__week
- , subq_15.ds__month AS ds__month
- , subq_15.ds__quarter AS ds__quarter
- , subq_15.ds__year AS ds__year
- , subq_15.ds__extract_year AS ds__extract_year
- , subq_15.ds__extract_quarter AS ds__extract_quarter
- , subq_15.ds__extract_month AS ds__extract_month
- , subq_15.ds__extract_day AS ds__extract_day
- , subq_15.ds__extract_dow AS ds__extract_dow
- , subq_15.ds__extract_doy AS ds__extract_doy
- , subq_15.ds_partitioned__day AS ds_partitioned__day
- , subq_15.ds_partitioned__week AS ds_partitioned__week
- , subq_15.ds_partitioned__month AS ds_partitioned__month
- , subq_15.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_15.ds_partitioned__year AS ds_partitioned__year
- , subq_15.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_15.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_15.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_15.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_15.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_15.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_15.paid_at__day AS paid_at__day
- , subq_15.paid_at__week AS paid_at__week
- , subq_15.paid_at__month AS paid_at__month
- , subq_15.paid_at__quarter AS paid_at__quarter
- , subq_15.paid_at__year AS paid_at__year
- , subq_15.paid_at__extract_year AS paid_at__extract_year
- , subq_15.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_15.paid_at__extract_month AS paid_at__extract_month
- , subq_15.paid_at__extract_day AS paid_at__extract_day
- , subq_15.paid_at__extract_dow AS paid_at__extract_dow
- , subq_15.paid_at__extract_doy AS paid_at__extract_doy
- , subq_15.booking__ds__day AS booking__ds__day
- , subq_15.booking__ds__week AS booking__ds__week
- , subq_15.booking__ds__month AS booking__ds__month
- , subq_15.booking__ds__quarter AS booking__ds__quarter
- , subq_15.booking__ds__year AS booking__ds__year
- , subq_15.booking__ds__extract_year AS booking__ds__extract_year
- , subq_15.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_15.booking__ds__extract_month AS booking__ds__extract_month
- , subq_15.booking__ds__extract_day AS booking__ds__extract_day
- , subq_15.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_15.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_15.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_15.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_15.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_15.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_15.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_15.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_15.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_15.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_15.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_15.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_15.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_15.booking__paid_at__day AS booking__paid_at__day
- , subq_15.booking__paid_at__week AS booking__paid_at__week
- , subq_15.booking__paid_at__month AS booking__paid_at__month
- , subq_15.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_15.booking__paid_at__year AS booking__paid_at__year
- , subq_15.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_15.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_15.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_15.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_15.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_15.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_15.metric_time__week AS metric_time__week
- , subq_15.metric_time__month AS metric_time__month
- , subq_15.metric_time__quarter AS metric_time__quarter
- , subq_15.metric_time__year AS metric_time__year
- , subq_15.metric_time__extract_year AS metric_time__extract_year
- , subq_15.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_15.metric_time__extract_month AS metric_time__extract_month
- , subq_15.metric_time__extract_day AS metric_time__extract_day
- , subq_15.metric_time__extract_dow AS metric_time__extract_dow
- , subq_15.metric_time__extract_doy AS metric_time__extract_doy
- , subq_15.listing AS listing
- , subq_15.guest AS guest
- , subq_15.host AS host
- , subq_15.booking__listing AS booking__listing
- , subq_15.booking__guest AS booking__guest
- , subq_15.booking__host AS booking__host
- , subq_15.is_instant AS is_instant
- , subq_15.booking__is_instant AS booking__is_instant
- , subq_15.bookings AS bookings
- , subq_15.instant_bookings AS instant_bookings
- , subq_15.booking_value AS booking_value
- , subq_15.max_booking_value AS max_booking_value
- , subq_15.min_booking_value AS min_booking_value
- , subq_15.bookers AS bookers
- , subq_15.average_booking_value AS average_booking_value
- , subq_15.referred_bookings AS referred_bookings
- , subq_15.median_booking_value AS median_booking_value
- , subq_15.booking_value_p99 AS booking_value_p99
- , subq_15.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_15.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_15.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_17.metric_time__day AS metric_time__day
+ , subq_14.ds__day AS ds__day
+ , subq_14.ds__week AS ds__week
+ , subq_14.ds__month AS ds__month
+ , subq_14.ds__quarter AS ds__quarter
+ , subq_14.ds__year AS ds__year
+ , subq_14.ds__extract_year AS ds__extract_year
+ , subq_14.ds__extract_quarter AS ds__extract_quarter
+ , subq_14.ds__extract_month AS ds__extract_month
+ , subq_14.ds__extract_day AS ds__extract_day
+ , subq_14.ds__extract_dow AS ds__extract_dow
+ , subq_14.ds__extract_doy AS ds__extract_doy
+ , subq_14.ds_partitioned__day AS ds_partitioned__day
+ , subq_14.ds_partitioned__week AS ds_partitioned__week
+ , subq_14.ds_partitioned__month AS ds_partitioned__month
+ , subq_14.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_14.ds_partitioned__year AS ds_partitioned__year
+ , subq_14.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_14.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_14.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_14.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_14.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_14.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_14.paid_at__day AS paid_at__day
+ , subq_14.paid_at__week AS paid_at__week
+ , subq_14.paid_at__month AS paid_at__month
+ , subq_14.paid_at__quarter AS paid_at__quarter
+ , subq_14.paid_at__year AS paid_at__year
+ , subq_14.paid_at__extract_year AS paid_at__extract_year
+ , subq_14.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_14.paid_at__extract_month AS paid_at__extract_month
+ , subq_14.paid_at__extract_day AS paid_at__extract_day
+ , subq_14.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_14.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_14.booking__ds__day AS booking__ds__day
+ , subq_14.booking__ds__week AS booking__ds__week
+ , subq_14.booking__ds__month AS booking__ds__month
+ , subq_14.booking__ds__quarter AS booking__ds__quarter
+ , subq_14.booking__ds__year AS booking__ds__year
+ , subq_14.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_14.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_14.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_14.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_14.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_14.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_14.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_14.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_14.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_14.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_14.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_14.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_14.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_14.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_14.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_14.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_14.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_14.booking__paid_at__day AS booking__paid_at__day
+ , subq_14.booking__paid_at__week AS booking__paid_at__week
+ , subq_14.booking__paid_at__month AS booking__paid_at__month
+ , subq_14.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_14.booking__paid_at__year AS booking__paid_at__year
+ , subq_14.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_14.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_14.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_14.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_14.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_14.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_14.metric_time__week AS metric_time__week
+ , subq_14.metric_time__month AS metric_time__month
+ , subq_14.metric_time__quarter AS metric_time__quarter
+ , subq_14.metric_time__year AS metric_time__year
+ , subq_14.metric_time__extract_year AS metric_time__extract_year
+ , subq_14.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_14.metric_time__extract_month AS metric_time__extract_month
+ , subq_14.metric_time__extract_day AS metric_time__extract_day
+ , subq_14.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_14.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_14.listing AS listing
+ , subq_14.guest AS guest
+ , subq_14.host AS host
+ , subq_14.booking__listing AS booking__listing
+ , subq_14.booking__guest AS booking__guest
+ , subq_14.booking__host AS booking__host
+ , subq_14.is_instant AS is_instant
+ , subq_14.booking__is_instant AS booking__is_instant
+ , subq_14.bookings AS bookings
+ , subq_14.instant_bookings AS instant_bookings
+ , subq_14.booking_value AS booking_value
+ , subq_14.max_booking_value AS max_booking_value
+ , subq_14.min_booking_value AS min_booking_value
+ , subq_14.bookers AS bookers
+ , subq_14.average_booking_value AS average_booking_value
+ , subq_14.referred_bookings AS referred_bookings
+ , subq_14.median_booking_value AS median_booking_value
+ , subq_14.booking_value_p99 AS booking_value_p99
+ , subq_14.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_14.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_14.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_17.metric_time__day
+ subq_16.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_16.ds__day AS metric_time__day
- , subq_16.ds__week
- , subq_16.ds__month
- , subq_16.ds__quarter
- , subq_16.ds__year
- , subq_16.ds__extract_year
- , subq_16.ds__extract_quarter
- , subq_16.ds__extract_month
- , subq_16.ds__extract_day
- , subq_16.ds__extract_dow
- , subq_16.ds__extract_doy
- , subq_16.ds__martian_day
+ subq_15.ds__day AS metric_time__day
+ , subq_15.ds__week
+ , subq_15.ds__month
+ , subq_15.ds__quarter
+ , subq_15.ds__year
+ , subq_15.ds__extract_year
+ , subq_15.ds__extract_quarter
+ , subq_15.ds__extract_month
+ , subq_15.ds__extract_day
+ , subq_15.ds__extract_dow
+ , subq_15.ds__extract_doy
+ , subq_15.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -1033,110 +1033,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_16
- ) subq_17
- ) subq_18
+ ) subq_15
+ ) subq_16
+ ) subq_17
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_14.ds__day
- , subq_14.ds__week
- , subq_14.ds__month
- , subq_14.ds__quarter
- , subq_14.ds__year
- , subq_14.ds__extract_year
- , subq_14.ds__extract_quarter
- , subq_14.ds__extract_month
- , subq_14.ds__extract_day
- , subq_14.ds__extract_dow
- , subq_14.ds__extract_doy
- , subq_14.ds_partitioned__day
- , subq_14.ds_partitioned__week
- , subq_14.ds_partitioned__month
- , subq_14.ds_partitioned__quarter
- , subq_14.ds_partitioned__year
- , subq_14.ds_partitioned__extract_year
- , subq_14.ds_partitioned__extract_quarter
- , subq_14.ds_partitioned__extract_month
- , subq_14.ds_partitioned__extract_day
- , subq_14.ds_partitioned__extract_dow
- , subq_14.ds_partitioned__extract_doy
- , subq_14.paid_at__day
- , subq_14.paid_at__week
- , subq_14.paid_at__month
- , subq_14.paid_at__quarter
- , subq_14.paid_at__year
- , subq_14.paid_at__extract_year
- , subq_14.paid_at__extract_quarter
- , subq_14.paid_at__extract_month
- , subq_14.paid_at__extract_day
- , subq_14.paid_at__extract_dow
- , subq_14.paid_at__extract_doy
- , subq_14.booking__ds__day
- , subq_14.booking__ds__week
- , subq_14.booking__ds__month
- , subq_14.booking__ds__quarter
- , subq_14.booking__ds__year
- , subq_14.booking__ds__extract_year
- , subq_14.booking__ds__extract_quarter
- , subq_14.booking__ds__extract_month
- , subq_14.booking__ds__extract_day
- , subq_14.booking__ds__extract_dow
- , subq_14.booking__ds__extract_doy
- , subq_14.booking__ds_partitioned__day
- , subq_14.booking__ds_partitioned__week
- , subq_14.booking__ds_partitioned__month
- , subq_14.booking__ds_partitioned__quarter
- , subq_14.booking__ds_partitioned__year
- , subq_14.booking__ds_partitioned__extract_year
- , subq_14.booking__ds_partitioned__extract_quarter
- , subq_14.booking__ds_partitioned__extract_month
- , subq_14.booking__ds_partitioned__extract_day
- , subq_14.booking__ds_partitioned__extract_dow
- , subq_14.booking__ds_partitioned__extract_doy
- , subq_14.booking__paid_at__day
- , subq_14.booking__paid_at__week
- , subq_14.booking__paid_at__month
- , subq_14.booking__paid_at__quarter
- , subq_14.booking__paid_at__year
- , subq_14.booking__paid_at__extract_year
- , subq_14.booking__paid_at__extract_quarter
- , subq_14.booking__paid_at__extract_month
- , subq_14.booking__paid_at__extract_day
- , subq_14.booking__paid_at__extract_dow
- , subq_14.booking__paid_at__extract_doy
- , subq_14.ds__day AS metric_time__day
- , subq_14.ds__week AS metric_time__week
- , subq_14.ds__month AS metric_time__month
- , subq_14.ds__quarter AS metric_time__quarter
- , subq_14.ds__year AS metric_time__year
- , subq_14.ds__extract_year AS metric_time__extract_year
- , subq_14.ds__extract_quarter AS metric_time__extract_quarter
- , subq_14.ds__extract_month AS metric_time__extract_month
- , subq_14.ds__extract_day AS metric_time__extract_day
- , subq_14.ds__extract_dow AS metric_time__extract_dow
- , subq_14.ds__extract_doy AS metric_time__extract_doy
- , subq_14.listing
- , subq_14.guest
- , subq_14.host
- , subq_14.booking__listing
- , subq_14.booking__guest
- , subq_14.booking__host
- , subq_14.is_instant
- , subq_14.booking__is_instant
- , subq_14.bookings
- , subq_14.instant_bookings
- , subq_14.booking_value
- , subq_14.max_booking_value
- , subq_14.min_booking_value
- , subq_14.bookers
- , subq_14.average_booking_value
- , subq_14.referred_bookings
- , subq_14.median_booking_value
- , subq_14.booking_value_p99
- , subq_14.discrete_booking_value_p99
- , subq_14.approximate_continuous_booking_value_p99
- , subq_14.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -1229,86 +1229,86 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_14
- ) subq_15
+ ) subq_0
+ ) subq_14
ON
- subq_18.metric_time__day - INTERVAL 14 day = subq_15.metric_time__day
- ) subq_19
+ subq_17.metric_time__day - INTERVAL 14 day = subq_14.metric_time__day
+ ) subq_18
LEFT OUTER JOIN (
-- Pass Only Elements: ['country_latest', 'listing']
SELECT
- subq_21.listing
- , subq_21.country_latest
+ subq_19.listing
+ , subq_19.country_latest
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_20.ds__day
- , subq_20.ds__week
- , subq_20.ds__month
- , subq_20.ds__quarter
- , subq_20.ds__year
- , subq_20.ds__extract_year
- , subq_20.ds__extract_quarter
- , subq_20.ds__extract_month
- , subq_20.ds__extract_day
- , subq_20.ds__extract_dow
- , subq_20.ds__extract_doy
- , subq_20.created_at__day
- , subq_20.created_at__week
- , subq_20.created_at__month
- , subq_20.created_at__quarter
- , subq_20.created_at__year
- , subq_20.created_at__extract_year
- , subq_20.created_at__extract_quarter
- , subq_20.created_at__extract_month
- , subq_20.created_at__extract_day
- , subq_20.created_at__extract_dow
- , subq_20.created_at__extract_doy
- , subq_20.listing__ds__day
- , subq_20.listing__ds__week
- , subq_20.listing__ds__month
- , subq_20.listing__ds__quarter
- , subq_20.listing__ds__year
- , subq_20.listing__ds__extract_year
- , subq_20.listing__ds__extract_quarter
- , subq_20.listing__ds__extract_month
- , subq_20.listing__ds__extract_day
- , subq_20.listing__ds__extract_dow
- , subq_20.listing__ds__extract_doy
- , subq_20.listing__created_at__day
- , subq_20.listing__created_at__week
- , subq_20.listing__created_at__month
- , subq_20.listing__created_at__quarter
- , subq_20.listing__created_at__year
- , subq_20.listing__created_at__extract_year
- , subq_20.listing__created_at__extract_quarter
- , subq_20.listing__created_at__extract_month
- , subq_20.listing__created_at__extract_day
- , subq_20.listing__created_at__extract_dow
- , subq_20.listing__created_at__extract_doy
- , subq_20.ds__day AS metric_time__day
- , subq_20.ds__week AS metric_time__week
- , subq_20.ds__month AS metric_time__month
- , subq_20.ds__quarter AS metric_time__quarter
- , subq_20.ds__year AS metric_time__year
- , subq_20.ds__extract_year AS metric_time__extract_year
- , subq_20.ds__extract_quarter AS metric_time__extract_quarter
- , subq_20.ds__extract_month AS metric_time__extract_month
- , subq_20.ds__extract_day AS metric_time__extract_day
- , subq_20.ds__extract_dow AS metric_time__extract_dow
- , subq_20.ds__extract_doy AS metric_time__extract_doy
- , subq_20.listing
- , subq_20.user
- , subq_20.listing__user
- , subq_20.country_latest
- , subq_20.is_lux_latest
- , subq_20.capacity_latest
- , subq_20.listing__country_latest
- , subq_20.listing__is_lux_latest
- , subq_20.listing__capacity_latest
- , subq_20.listings
- , subq_20.largest_listing
- , subq_20.smallest_listing
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.listing__ds__day
+ , subq_2.listing__ds__week
+ , subq_2.listing__ds__month
+ , subq_2.listing__ds__quarter
+ , subq_2.listing__ds__year
+ , subq_2.listing__ds__extract_year
+ , subq_2.listing__ds__extract_quarter
+ , subq_2.listing__ds__extract_month
+ , subq_2.listing__ds__extract_day
+ , subq_2.listing__ds__extract_dow
+ , subq_2.listing__ds__extract_doy
+ , subq_2.listing__created_at__day
+ , subq_2.listing__created_at__week
+ , subq_2.listing__created_at__month
+ , subq_2.listing__created_at__quarter
+ , subq_2.listing__created_at__year
+ , subq_2.listing__created_at__extract_year
+ , subq_2.listing__created_at__extract_quarter
+ , subq_2.listing__created_at__extract_month
+ , subq_2.listing__created_at__extract_day
+ , subq_2.listing__created_at__extract_dow
+ , subq_2.listing__created_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.user
+ , subq_2.listing__user
+ , subq_2.country_latest
+ , subq_2.is_lux_latest
+ , subq_2.capacity_latest
+ , subq_2.listing__country_latest
+ , subq_2.listing__is_lux_latest
+ , subq_2.listing__capacity_latest
+ , subq_2.listings
+ , subq_2.largest_listing
+ , subq_2.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -1369,30 +1369,30 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_20
- ) subq_21
- ) subq_22
+ ) subq_2
+ ) subq_19
+ ) subq_20
ON
- subq_19.listing = subq_22.listing
- ) subq_23
+ subq_18.listing = subq_20.listing
+ ) subq_21
WHERE booking__is_instant
- ) subq_24
- ) subq_25
+ ) subq_22
+ ) subq_23
GROUP BY
- subq_25.metric_time__day
- , subq_25.listing__country_latest
- ) subq_26
+ subq_23.metric_time__day
+ , subq_23.listing__country_latest
+ ) subq_24
ON
- subq_29.metric_time__day = subq_26.metric_time__day
- ) subq_30
- ) subq_31
+ subq_27.metric_time__day = subq_24.metric_time__day
+ ) subq_28
+ ) subq_29
ON
(
- subq_13.listing__country_latest = subq_31.listing__country_latest
+ subq_13.listing__country_latest = subq_29.listing__country_latest
) AND (
- subq_13.metric_time__day = subq_31.metric_time__day
+ subq_13.metric_time__day = subq_29.metric_time__day
)
GROUP BY
- COALESCE(subq_13.metric_time__day, subq_31.metric_time__day)
- , COALESCE(subq_13.listing__country_latest, subq_31.listing__country_latest)
-) subq_32
+ COALESCE(subq_13.metric_time__day, subq_29.metric_time__day)
+ , COALESCE(subq_13.listing__country_latest, subq_29.listing__country_latest)
+) subq_30
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_fill_nulls_time_spine_metric_predicate_pushdown__plan0_optimized.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_fill_nulls_time_spine_metric_predicate_pushdown__plan0_optimized.sql
index 4c3453d4bd..f9fd274f8c 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_fill_nulls_time_spine_metric_predicate_pushdown__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_fill_nulls_time_spine_metric_predicate_pushdown__plan0_optimized.sql
@@ -41,10 +41,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_46.metric_time__day, subq_62.metric_time__day) AS metric_time__day
- , COALESCE(subq_46.listing__country_latest, subq_62.listing__country_latest) AS listing__country_latest
- , COALESCE(MAX(subq_46.bookings_fill_nulls_with_0), 0) AS bookings_fill_nulls_with_0
- , COALESCE(MAX(subq_62.bookings_2_weeks_ago), 0) AS bookings_2_weeks_ago
+ COALESCE(subq_44.metric_time__day, subq_60.metric_time__day) AS metric_time__day
+ , COALESCE(subq_44.listing__country_latest, subq_60.listing__country_latest) AS listing__country_latest
+ , COALESCE(MAX(subq_44.bookings_fill_nulls_with_0), 0) AS bookings_fill_nulls_with_0
+ , COALESCE(MAX(subq_60.bookings_2_weeks_ago), 0) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -55,8 +55,8 @@ FROM (
-- Join to Time Spine Dataset
SELECT
rss_28018_cte.ds__day AS metric_time__day
- , subq_41.listing__country_latest AS listing__country_latest
- , subq_41.bookings AS bookings
+ , subq_39.listing__country_latest AS listing__country_latest
+ , subq_39.bookings AS bookings
FROM rss_28018_cte rss_28018_cte
LEFT OUTER JOIN (
-- Constrain Output with WHERE
@@ -78,16 +78,16 @@ FROM (
sma_28014_cte sma_28014_cte
ON
sma_28009_cte.listing = sma_28014_cte.listing
- ) subq_38
+ ) subq_36
WHERE booking__is_instant
GROUP BY
metric_time__day
, listing__country_latest
- ) subq_41
+ ) subq_39
ON
- rss_28018_cte.ds__day = subq_41.metric_time__day
- ) subq_45
- ) subq_46
+ rss_28018_cte.ds__day = subq_39.metric_time__day
+ ) subq_43
+ ) subq_44
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
@@ -98,8 +98,8 @@ FROM (
-- Join to Time Spine Dataset
SELECT
rss_28018_cte.ds__day AS metric_time__day
- , subq_57.listing__country_latest AS listing__country_latest
- , subq_57.bookings AS bookings
+ , subq_55.listing__country_latest AS listing__country_latest
+ , subq_55.bookings AS bookings
FROM rss_28018_cte rss_28018_cte
LEFT OUTER JOIN (
-- Constrain Output with WHERE
@@ -113,9 +113,9 @@ FROM (
-- Join Standard Outputs
SELECT
sma_28014_cte.country_latest AS listing__country_latest
- , subq_51.metric_time__day AS metric_time__day
- , subq_51.booking__is_instant AS booking__is_instant
- , subq_51.bookings AS bookings
+ , subq_49.metric_time__day AS metric_time__day
+ , subq_49.booking__is_instant AS booking__is_instant
+ , subq_49.bookings AS bookings
FROM (
-- Join to Time Spine Dataset
SELECT
@@ -128,28 +128,28 @@ FROM (
sma_28009_cte sma_28009_cte
ON
rss_28018_cte.ds__day - INTERVAL 14 day = sma_28009_cte.metric_time__day
- ) subq_51
+ ) subq_49
LEFT OUTER JOIN
sma_28014_cte sma_28014_cte
ON
- subq_51.listing = sma_28014_cte.listing
- ) subq_54
+ subq_49.listing = sma_28014_cte.listing
+ ) subq_52
WHERE booking__is_instant
GROUP BY
metric_time__day
, listing__country_latest
- ) subq_57
+ ) subq_55
ON
- rss_28018_cte.ds__day = subq_57.metric_time__day
- ) subq_61
- ) subq_62
+ rss_28018_cte.ds__day = subq_55.metric_time__day
+ ) subq_59
+ ) subq_60
ON
(
- subq_46.listing__country_latest = subq_62.listing__country_latest
+ subq_44.listing__country_latest = subq_60.listing__country_latest
) AND (
- subq_46.metric_time__day = subq_62.metric_time__day
+ subq_44.metric_time__day = subq_60.metric_time__day
)
GROUP BY
- COALESCE(subq_46.metric_time__day, subq_62.metric_time__day)
- , COALESCE(subq_46.listing__country_latest, subq_62.listing__country_latest)
-) subq_63
+ COALESCE(subq_44.metric_time__day, subq_60.metric_time__day)
+ , COALESCE(subq_44.listing__country_latest, subq_60.listing__country_latest)
+) subq_61
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_offset_metric_with_query_time_filters__plan0.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_offset_metric_with_query_time_filters__plan0.sql
index 09e256fe5c..bdfb5c8f39 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_offset_metric_with_query_time_filters__plan0.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_offset_metric_with_query_time_filters__plan0.sql
@@ -8,16 +8,16 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_24.metric_time__day
- , subq_24.listing__country_latest
+ subq_22.metric_time__day
+ , subq_22.listing__country_latest
, bookings - bookings_2_weeks_ago AS bookings_growth_2_weeks
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_9.metric_time__day, subq_23.metric_time__day) AS metric_time__day
- , COALESCE(subq_9.listing__country_latest, subq_23.listing__country_latest) AS listing__country_latest
+ COALESCE(subq_9.metric_time__day, subq_21.metric_time__day) AS metric_time__day
+ , COALESCE(subq_9.listing__country_latest, subq_21.listing__country_latest) AS listing__country_latest
, MAX(subq_9.bookings) AS bookings
- , MAX(subq_23.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ , MAX(subq_21.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -587,345 +587,345 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_22.metric_time__day
- , subq_22.listing__country_latest
- , subq_22.bookings AS bookings_2_weeks_ago
+ subq_20.metric_time__day
+ , subq_20.listing__country_latest
+ , subq_20.bookings AS bookings_2_weeks_ago
FROM (
-- Aggregate Measures
SELECT
- subq_21.metric_time__day
- , subq_21.listing__country_latest
- , SUM(subq_21.bookings) AS bookings
+ subq_19.metric_time__day
+ , subq_19.listing__country_latest
+ , SUM(subq_19.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing__country_latest', 'metric_time__day']
SELECT
- subq_20.metric_time__day
- , subq_20.listing__country_latest
- , subq_20.bookings
+ subq_18.metric_time__day
+ , subq_18.listing__country_latest
+ , subq_18.bookings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_19.ds__day
- , subq_19.ds__week
- , subq_19.ds__month
- , subq_19.ds__quarter
- , subq_19.ds__year
- , subq_19.ds__extract_year
- , subq_19.ds__extract_quarter
- , subq_19.ds__extract_month
- , subq_19.ds__extract_day
- , subq_19.ds__extract_dow
- , subq_19.ds__extract_doy
- , subq_19.ds_partitioned__day
- , subq_19.ds_partitioned__week
- , subq_19.ds_partitioned__month
- , subq_19.ds_partitioned__quarter
- , subq_19.ds_partitioned__year
- , subq_19.ds_partitioned__extract_year
- , subq_19.ds_partitioned__extract_quarter
- , subq_19.ds_partitioned__extract_month
- , subq_19.ds_partitioned__extract_day
- , subq_19.ds_partitioned__extract_dow
- , subq_19.ds_partitioned__extract_doy
- , subq_19.paid_at__day
- , subq_19.paid_at__week
- , subq_19.paid_at__month
- , subq_19.paid_at__quarter
- , subq_19.paid_at__year
- , subq_19.paid_at__extract_year
- , subq_19.paid_at__extract_quarter
- , subq_19.paid_at__extract_month
- , subq_19.paid_at__extract_day
- , subq_19.paid_at__extract_dow
- , subq_19.paid_at__extract_doy
- , subq_19.booking__ds__day
- , subq_19.booking__ds__week
- , subq_19.booking__ds__month
- , subq_19.booking__ds__quarter
- , subq_19.booking__ds__year
- , subq_19.booking__ds__extract_year
- , subq_19.booking__ds__extract_quarter
- , subq_19.booking__ds__extract_month
- , subq_19.booking__ds__extract_day
- , subq_19.booking__ds__extract_dow
- , subq_19.booking__ds__extract_doy
- , subq_19.booking__ds_partitioned__day
- , subq_19.booking__ds_partitioned__week
- , subq_19.booking__ds_partitioned__month
- , subq_19.booking__ds_partitioned__quarter
- , subq_19.booking__ds_partitioned__year
- , subq_19.booking__ds_partitioned__extract_year
- , subq_19.booking__ds_partitioned__extract_quarter
- , subq_19.booking__ds_partitioned__extract_month
- , subq_19.booking__ds_partitioned__extract_day
- , subq_19.booking__ds_partitioned__extract_dow
- , subq_19.booking__ds_partitioned__extract_doy
- , subq_19.booking__paid_at__day
- , subq_19.booking__paid_at__week
- , subq_19.booking__paid_at__month
- , subq_19.booking__paid_at__quarter
- , subq_19.booking__paid_at__year
- , subq_19.booking__paid_at__extract_year
- , subq_19.booking__paid_at__extract_quarter
- , subq_19.booking__paid_at__extract_month
- , subq_19.booking__paid_at__extract_day
- , subq_19.booking__paid_at__extract_dow
- , subq_19.booking__paid_at__extract_doy
- , subq_19.metric_time__week
- , subq_19.metric_time__month
- , subq_19.metric_time__quarter
- , subq_19.metric_time__year
- , subq_19.metric_time__extract_year
- , subq_19.metric_time__extract_quarter
- , subq_19.metric_time__extract_month
- , subq_19.metric_time__extract_day
- , subq_19.metric_time__extract_dow
- , subq_19.metric_time__extract_doy
- , subq_19.metric_time__day
- , subq_19.listing
- , subq_19.guest
- , subq_19.host
- , subq_19.booking__listing
- , subq_19.booking__guest
- , subq_19.booking__host
- , subq_19.is_instant
- , subq_19.booking__is_instant
- , subq_19.listing__country_latest
- , subq_19.bookings
- , subq_19.instant_bookings
- , subq_19.booking_value
- , subq_19.max_booking_value
- , subq_19.min_booking_value
- , subq_19.bookers
- , subq_19.average_booking_value
- , subq_19.referred_bookings
- , subq_19.median_booking_value
- , subq_19.booking_value_p99
- , subq_19.discrete_booking_value_p99
- , subq_19.approximate_continuous_booking_value_p99
- , subq_19.approximate_discrete_booking_value_p99
+ subq_17.ds__day
+ , subq_17.ds__week
+ , subq_17.ds__month
+ , subq_17.ds__quarter
+ , subq_17.ds__year
+ , subq_17.ds__extract_year
+ , subq_17.ds__extract_quarter
+ , subq_17.ds__extract_month
+ , subq_17.ds__extract_day
+ , subq_17.ds__extract_dow
+ , subq_17.ds__extract_doy
+ , subq_17.ds_partitioned__day
+ , subq_17.ds_partitioned__week
+ , subq_17.ds_partitioned__month
+ , subq_17.ds_partitioned__quarter
+ , subq_17.ds_partitioned__year
+ , subq_17.ds_partitioned__extract_year
+ , subq_17.ds_partitioned__extract_quarter
+ , subq_17.ds_partitioned__extract_month
+ , subq_17.ds_partitioned__extract_day
+ , subq_17.ds_partitioned__extract_dow
+ , subq_17.ds_partitioned__extract_doy
+ , subq_17.paid_at__day
+ , subq_17.paid_at__week
+ , subq_17.paid_at__month
+ , subq_17.paid_at__quarter
+ , subq_17.paid_at__year
+ , subq_17.paid_at__extract_year
+ , subq_17.paid_at__extract_quarter
+ , subq_17.paid_at__extract_month
+ , subq_17.paid_at__extract_day
+ , subq_17.paid_at__extract_dow
+ , subq_17.paid_at__extract_doy
+ , subq_17.booking__ds__day
+ , subq_17.booking__ds__week
+ , subq_17.booking__ds__month
+ , subq_17.booking__ds__quarter
+ , subq_17.booking__ds__year
+ , subq_17.booking__ds__extract_year
+ , subq_17.booking__ds__extract_quarter
+ , subq_17.booking__ds__extract_month
+ , subq_17.booking__ds__extract_day
+ , subq_17.booking__ds__extract_dow
+ , subq_17.booking__ds__extract_doy
+ , subq_17.booking__ds_partitioned__day
+ , subq_17.booking__ds_partitioned__week
+ , subq_17.booking__ds_partitioned__month
+ , subq_17.booking__ds_partitioned__quarter
+ , subq_17.booking__ds_partitioned__year
+ , subq_17.booking__ds_partitioned__extract_year
+ , subq_17.booking__ds_partitioned__extract_quarter
+ , subq_17.booking__ds_partitioned__extract_month
+ , subq_17.booking__ds_partitioned__extract_day
+ , subq_17.booking__ds_partitioned__extract_dow
+ , subq_17.booking__ds_partitioned__extract_doy
+ , subq_17.booking__paid_at__day
+ , subq_17.booking__paid_at__week
+ , subq_17.booking__paid_at__month
+ , subq_17.booking__paid_at__quarter
+ , subq_17.booking__paid_at__year
+ , subq_17.booking__paid_at__extract_year
+ , subq_17.booking__paid_at__extract_quarter
+ , subq_17.booking__paid_at__extract_month
+ , subq_17.booking__paid_at__extract_day
+ , subq_17.booking__paid_at__extract_dow
+ , subq_17.booking__paid_at__extract_doy
+ , subq_17.metric_time__week
+ , subq_17.metric_time__month
+ , subq_17.metric_time__quarter
+ , subq_17.metric_time__year
+ , subq_17.metric_time__extract_year
+ , subq_17.metric_time__extract_quarter
+ , subq_17.metric_time__extract_month
+ , subq_17.metric_time__extract_day
+ , subq_17.metric_time__extract_dow
+ , subq_17.metric_time__extract_doy
+ , subq_17.metric_time__day
+ , subq_17.listing
+ , subq_17.guest
+ , subq_17.host
+ , subq_17.booking__listing
+ , subq_17.booking__guest
+ , subq_17.booking__host
+ , subq_17.is_instant
+ , subq_17.booking__is_instant
+ , subq_17.listing__country_latest
+ , subq_17.bookings
+ , subq_17.instant_bookings
+ , subq_17.booking_value
+ , subq_17.max_booking_value
+ , subq_17.min_booking_value
+ , subq_17.bookers
+ , subq_17.average_booking_value
+ , subq_17.referred_bookings
+ , subq_17.median_booking_value
+ , subq_17.booking_value_p99
+ , subq_17.discrete_booking_value_p99
+ , subq_17.approximate_continuous_booking_value_p99
+ , subq_17.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_18.country_latest AS listing__country_latest
- , subq_15.ds__day AS ds__day
- , subq_15.ds__week AS ds__week
- , subq_15.ds__month AS ds__month
- , subq_15.ds__quarter AS ds__quarter
- , subq_15.ds__year AS ds__year
- , subq_15.ds__extract_year AS ds__extract_year
- , subq_15.ds__extract_quarter AS ds__extract_quarter
- , subq_15.ds__extract_month AS ds__extract_month
- , subq_15.ds__extract_day AS ds__extract_day
- , subq_15.ds__extract_dow AS ds__extract_dow
- , subq_15.ds__extract_doy AS ds__extract_doy
- , subq_15.ds_partitioned__day AS ds_partitioned__day
- , subq_15.ds_partitioned__week AS ds_partitioned__week
- , subq_15.ds_partitioned__month AS ds_partitioned__month
- , subq_15.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_15.ds_partitioned__year AS ds_partitioned__year
- , subq_15.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_15.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_15.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_15.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_15.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_15.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_15.paid_at__day AS paid_at__day
- , subq_15.paid_at__week AS paid_at__week
- , subq_15.paid_at__month AS paid_at__month
- , subq_15.paid_at__quarter AS paid_at__quarter
- , subq_15.paid_at__year AS paid_at__year
- , subq_15.paid_at__extract_year AS paid_at__extract_year
- , subq_15.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_15.paid_at__extract_month AS paid_at__extract_month
- , subq_15.paid_at__extract_day AS paid_at__extract_day
- , subq_15.paid_at__extract_dow AS paid_at__extract_dow
- , subq_15.paid_at__extract_doy AS paid_at__extract_doy
- , subq_15.booking__ds__day AS booking__ds__day
- , subq_15.booking__ds__week AS booking__ds__week
- , subq_15.booking__ds__month AS booking__ds__month
- , subq_15.booking__ds__quarter AS booking__ds__quarter
- , subq_15.booking__ds__year AS booking__ds__year
- , subq_15.booking__ds__extract_year AS booking__ds__extract_year
- , subq_15.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_15.booking__ds__extract_month AS booking__ds__extract_month
- , subq_15.booking__ds__extract_day AS booking__ds__extract_day
- , subq_15.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_15.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_15.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_15.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_15.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_15.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_15.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_15.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_15.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_15.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_15.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_15.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_15.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_15.booking__paid_at__day AS booking__paid_at__day
- , subq_15.booking__paid_at__week AS booking__paid_at__week
- , subq_15.booking__paid_at__month AS booking__paid_at__month
- , subq_15.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_15.booking__paid_at__year AS booking__paid_at__year
- , subq_15.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_15.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_15.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_15.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_15.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_15.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_15.metric_time__week AS metric_time__week
- , subq_15.metric_time__month AS metric_time__month
- , subq_15.metric_time__quarter AS metric_time__quarter
- , subq_15.metric_time__year AS metric_time__year
- , subq_15.metric_time__extract_year AS metric_time__extract_year
- , subq_15.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_15.metric_time__extract_month AS metric_time__extract_month
- , subq_15.metric_time__extract_day AS metric_time__extract_day
- , subq_15.metric_time__extract_dow AS metric_time__extract_dow
- , subq_15.metric_time__extract_doy AS metric_time__extract_doy
- , subq_15.metric_time__day AS metric_time__day
- , subq_15.listing AS listing
- , subq_15.guest AS guest
- , subq_15.host AS host
- , subq_15.booking__listing AS booking__listing
- , subq_15.booking__guest AS booking__guest
- , subq_15.booking__host AS booking__host
- , subq_15.is_instant AS is_instant
- , subq_15.booking__is_instant AS booking__is_instant
- , subq_15.bookings AS bookings
- , subq_15.instant_bookings AS instant_bookings
- , subq_15.booking_value AS booking_value
- , subq_15.max_booking_value AS max_booking_value
- , subq_15.min_booking_value AS min_booking_value
- , subq_15.bookers AS bookers
- , subq_15.average_booking_value AS average_booking_value
- , subq_15.referred_bookings AS referred_bookings
- , subq_15.median_booking_value AS median_booking_value
- , subq_15.booking_value_p99 AS booking_value_p99
- , subq_15.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_15.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_15.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_16.country_latest AS listing__country_latest
+ , subq_14.ds__day AS ds__day
+ , subq_14.ds__week AS ds__week
+ , subq_14.ds__month AS ds__month
+ , subq_14.ds__quarter AS ds__quarter
+ , subq_14.ds__year AS ds__year
+ , subq_14.ds__extract_year AS ds__extract_year
+ , subq_14.ds__extract_quarter AS ds__extract_quarter
+ , subq_14.ds__extract_month AS ds__extract_month
+ , subq_14.ds__extract_day AS ds__extract_day
+ , subq_14.ds__extract_dow AS ds__extract_dow
+ , subq_14.ds__extract_doy AS ds__extract_doy
+ , subq_14.ds_partitioned__day AS ds_partitioned__day
+ , subq_14.ds_partitioned__week AS ds_partitioned__week
+ , subq_14.ds_partitioned__month AS ds_partitioned__month
+ , subq_14.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_14.ds_partitioned__year AS ds_partitioned__year
+ , subq_14.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_14.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_14.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_14.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_14.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_14.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_14.paid_at__day AS paid_at__day
+ , subq_14.paid_at__week AS paid_at__week
+ , subq_14.paid_at__month AS paid_at__month
+ , subq_14.paid_at__quarter AS paid_at__quarter
+ , subq_14.paid_at__year AS paid_at__year
+ , subq_14.paid_at__extract_year AS paid_at__extract_year
+ , subq_14.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_14.paid_at__extract_month AS paid_at__extract_month
+ , subq_14.paid_at__extract_day AS paid_at__extract_day
+ , subq_14.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_14.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_14.booking__ds__day AS booking__ds__day
+ , subq_14.booking__ds__week AS booking__ds__week
+ , subq_14.booking__ds__month AS booking__ds__month
+ , subq_14.booking__ds__quarter AS booking__ds__quarter
+ , subq_14.booking__ds__year AS booking__ds__year
+ , subq_14.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_14.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_14.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_14.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_14.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_14.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_14.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_14.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_14.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_14.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_14.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_14.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_14.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_14.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_14.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_14.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_14.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_14.booking__paid_at__day AS booking__paid_at__day
+ , subq_14.booking__paid_at__week AS booking__paid_at__week
+ , subq_14.booking__paid_at__month AS booking__paid_at__month
+ , subq_14.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_14.booking__paid_at__year AS booking__paid_at__year
+ , subq_14.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_14.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_14.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_14.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_14.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_14.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_14.metric_time__week AS metric_time__week
+ , subq_14.metric_time__month AS metric_time__month
+ , subq_14.metric_time__quarter AS metric_time__quarter
+ , subq_14.metric_time__year AS metric_time__year
+ , subq_14.metric_time__extract_year AS metric_time__extract_year
+ , subq_14.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_14.metric_time__extract_month AS metric_time__extract_month
+ , subq_14.metric_time__extract_day AS metric_time__extract_day
+ , subq_14.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_14.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_14.metric_time__day AS metric_time__day
+ , subq_14.listing AS listing
+ , subq_14.guest AS guest
+ , subq_14.host AS host
+ , subq_14.booking__listing AS booking__listing
+ , subq_14.booking__guest AS booking__guest
+ , subq_14.booking__host AS booking__host
+ , subq_14.is_instant AS is_instant
+ , subq_14.booking__is_instant AS booking__is_instant
+ , subq_14.bookings AS bookings
+ , subq_14.instant_bookings AS instant_bookings
+ , subq_14.booking_value AS booking_value
+ , subq_14.max_booking_value AS max_booking_value
+ , subq_14.min_booking_value AS min_booking_value
+ , subq_14.bookers AS bookers
+ , subq_14.average_booking_value AS average_booking_value
+ , subq_14.referred_bookings AS referred_bookings
+ , subq_14.median_booking_value AS median_booking_value
+ , subq_14.booking_value_p99 AS booking_value_p99
+ , subq_14.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_14.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_14.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_14.metric_time__day AS metric_time__day
- , subq_11.ds__day AS ds__day
- , subq_11.ds__week AS ds__week
- , subq_11.ds__month AS ds__month
- , subq_11.ds__quarter AS ds__quarter
- , subq_11.ds__year AS ds__year
- , subq_11.ds__extract_year AS ds__extract_year
- , subq_11.ds__extract_quarter AS ds__extract_quarter
- , subq_11.ds__extract_month AS ds__extract_month
- , subq_11.ds__extract_day AS ds__extract_day
- , subq_11.ds__extract_dow AS ds__extract_dow
- , subq_11.ds__extract_doy AS ds__extract_doy
- , subq_11.ds_partitioned__day AS ds_partitioned__day
- , subq_11.ds_partitioned__week AS ds_partitioned__week
- , subq_11.ds_partitioned__month AS ds_partitioned__month
- , subq_11.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_11.ds_partitioned__year AS ds_partitioned__year
- , subq_11.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_11.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_11.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_11.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_11.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_11.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_11.paid_at__day AS paid_at__day
- , subq_11.paid_at__week AS paid_at__week
- , subq_11.paid_at__month AS paid_at__month
- , subq_11.paid_at__quarter AS paid_at__quarter
- , subq_11.paid_at__year AS paid_at__year
- , subq_11.paid_at__extract_year AS paid_at__extract_year
- , subq_11.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_11.paid_at__extract_month AS paid_at__extract_month
- , subq_11.paid_at__extract_day AS paid_at__extract_day
- , subq_11.paid_at__extract_dow AS paid_at__extract_dow
- , subq_11.paid_at__extract_doy AS paid_at__extract_doy
- , subq_11.booking__ds__day AS booking__ds__day
- , subq_11.booking__ds__week AS booking__ds__week
- , subq_11.booking__ds__month AS booking__ds__month
- , subq_11.booking__ds__quarter AS booking__ds__quarter
- , subq_11.booking__ds__year AS booking__ds__year
- , subq_11.booking__ds__extract_year AS booking__ds__extract_year
- , subq_11.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_11.booking__ds__extract_month AS booking__ds__extract_month
- , subq_11.booking__ds__extract_day AS booking__ds__extract_day
- , subq_11.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_11.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_11.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_11.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_11.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_11.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_11.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_11.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_11.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_11.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_11.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_11.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_11.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_11.booking__paid_at__day AS booking__paid_at__day
- , subq_11.booking__paid_at__week AS booking__paid_at__week
- , subq_11.booking__paid_at__month AS booking__paid_at__month
- , subq_11.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_11.booking__paid_at__year AS booking__paid_at__year
- , subq_11.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_11.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_11.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_11.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_11.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_11.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_11.metric_time__week AS metric_time__week
- , subq_11.metric_time__month AS metric_time__month
- , subq_11.metric_time__quarter AS metric_time__quarter
- , subq_11.metric_time__year AS metric_time__year
- , subq_11.metric_time__extract_year AS metric_time__extract_year
- , subq_11.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_11.metric_time__extract_month AS metric_time__extract_month
- , subq_11.metric_time__extract_day AS metric_time__extract_day
- , subq_11.metric_time__extract_dow AS metric_time__extract_dow
- , subq_11.metric_time__extract_doy AS metric_time__extract_doy
- , subq_11.listing AS listing
- , subq_11.guest AS guest
- , subq_11.host AS host
- , subq_11.booking__listing AS booking__listing
- , subq_11.booking__guest AS booking__guest
- , subq_11.booking__host AS booking__host
- , subq_11.is_instant AS is_instant
- , subq_11.booking__is_instant AS booking__is_instant
- , subq_11.bookings AS bookings
- , subq_11.instant_bookings AS instant_bookings
- , subq_11.booking_value AS booking_value
- , subq_11.max_booking_value AS max_booking_value
- , subq_11.min_booking_value AS min_booking_value
- , subq_11.bookers AS bookers
- , subq_11.average_booking_value AS average_booking_value
- , subq_11.referred_bookings AS referred_bookings
- , subq_11.median_booking_value AS median_booking_value
- , subq_11.booking_value_p99 AS booking_value_p99
- , subq_11.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_11.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_11.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_13.metric_time__day AS metric_time__day
+ , subq_10.ds__day AS ds__day
+ , subq_10.ds__week AS ds__week
+ , subq_10.ds__month AS ds__month
+ , subq_10.ds__quarter AS ds__quarter
+ , subq_10.ds__year AS ds__year
+ , subq_10.ds__extract_year AS ds__extract_year
+ , subq_10.ds__extract_quarter AS ds__extract_quarter
+ , subq_10.ds__extract_month AS ds__extract_month
+ , subq_10.ds__extract_day AS ds__extract_day
+ , subq_10.ds__extract_dow AS ds__extract_dow
+ , subq_10.ds__extract_doy AS ds__extract_doy
+ , subq_10.ds_partitioned__day AS ds_partitioned__day
+ , subq_10.ds_partitioned__week AS ds_partitioned__week
+ , subq_10.ds_partitioned__month AS ds_partitioned__month
+ , subq_10.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_10.ds_partitioned__year AS ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_10.paid_at__day AS paid_at__day
+ , subq_10.paid_at__week AS paid_at__week
+ , subq_10.paid_at__month AS paid_at__month
+ , subq_10.paid_at__quarter AS paid_at__quarter
+ , subq_10.paid_at__year AS paid_at__year
+ , subq_10.paid_at__extract_year AS paid_at__extract_year
+ , subq_10.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_10.paid_at__extract_month AS paid_at__extract_month
+ , subq_10.paid_at__extract_day AS paid_at__extract_day
+ , subq_10.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_10.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_10.booking__ds__day AS booking__ds__day
+ , subq_10.booking__ds__week AS booking__ds__week
+ , subq_10.booking__ds__month AS booking__ds__month
+ , subq_10.booking__ds__quarter AS booking__ds__quarter
+ , subq_10.booking__ds__year AS booking__ds__year
+ , subq_10.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_10.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day AS booking__paid_at__day
+ , subq_10.booking__paid_at__week AS booking__paid_at__week
+ , subq_10.booking__paid_at__month AS booking__paid_at__month
+ , subq_10.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_10.booking__paid_at__year AS booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_10.metric_time__week AS metric_time__week
+ , subq_10.metric_time__month AS metric_time__month
+ , subq_10.metric_time__quarter AS metric_time__quarter
+ , subq_10.metric_time__year AS metric_time__year
+ , subq_10.metric_time__extract_year AS metric_time__extract_year
+ , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_10.metric_time__extract_month AS metric_time__extract_month
+ , subq_10.metric_time__extract_day AS metric_time__extract_day
+ , subq_10.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_10.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_10.listing AS listing
+ , subq_10.guest AS guest
+ , subq_10.host AS host
+ , subq_10.booking__listing AS booking__listing
+ , subq_10.booking__guest AS booking__guest
+ , subq_10.booking__host AS booking__host
+ , subq_10.is_instant AS is_instant
+ , subq_10.booking__is_instant AS booking__is_instant
+ , subq_10.bookings AS bookings
+ , subq_10.instant_bookings AS instant_bookings
+ , subq_10.booking_value AS booking_value
+ , subq_10.max_booking_value AS max_booking_value
+ , subq_10.min_booking_value AS min_booking_value
+ , subq_10.bookers AS bookers
+ , subq_10.average_booking_value AS average_booking_value
+ , subq_10.referred_bookings AS referred_bookings
+ , subq_10.median_booking_value AS median_booking_value
+ , subq_10.booking_value_p99 AS booking_value_p99
+ , subq_10.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_10.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_10.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_13.metric_time__day
+ subq_12.metric_time__day
FROM (
-- Change Column Aliases
SELECT
- subq_12.ds__day AS metric_time__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.ds__martian_day
+ subq_11.ds__day AS metric_time__day
+ , subq_11.ds__week
+ , subq_11.ds__month
+ , subq_11.ds__quarter
+ , subq_11.ds__year
+ , subq_11.ds__extract_year
+ , subq_11.ds__extract_quarter
+ , subq_11.ds__extract_month
+ , subq_11.ds__extract_day
+ , subq_11.ds__extract_dow
+ , subq_11.ds__extract_doy
+ , subq_11.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -942,110 +942,110 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_11
+ ) subq_12
+ ) subq_13
INNER JOIN (
-- Metric Time Dimension 'ds'
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_partitioned__day
- , subq_10.ds_partitioned__week
- , subq_10.ds_partitioned__month
- , subq_10.ds_partitioned__quarter
- , subq_10.ds_partitioned__year
- , subq_10.ds_partitioned__extract_year
- , subq_10.ds_partitioned__extract_quarter
- , subq_10.ds_partitioned__extract_month
- , subq_10.ds_partitioned__extract_day
- , subq_10.ds_partitioned__extract_dow
- , subq_10.ds_partitioned__extract_doy
- , subq_10.paid_at__day
- , subq_10.paid_at__week
- , subq_10.paid_at__month
- , subq_10.paid_at__quarter
- , subq_10.paid_at__year
- , subq_10.paid_at__extract_year
- , subq_10.paid_at__extract_quarter
- , subq_10.paid_at__extract_month
- , subq_10.paid_at__extract_day
- , subq_10.paid_at__extract_dow
- , subq_10.paid_at__extract_doy
- , subq_10.booking__ds__day
- , subq_10.booking__ds__week
- , subq_10.booking__ds__month
- , subq_10.booking__ds__quarter
- , subq_10.booking__ds__year
- , subq_10.booking__ds__extract_year
- , subq_10.booking__ds__extract_quarter
- , subq_10.booking__ds__extract_month
- , subq_10.booking__ds__extract_day
- , subq_10.booking__ds__extract_dow
- , subq_10.booking__ds__extract_doy
- , subq_10.booking__ds_partitioned__day
- , subq_10.booking__ds_partitioned__week
- , subq_10.booking__ds_partitioned__month
- , subq_10.booking__ds_partitioned__quarter
- , subq_10.booking__ds_partitioned__year
- , subq_10.booking__ds_partitioned__extract_year
- , subq_10.booking__ds_partitioned__extract_quarter
- , subq_10.booking__ds_partitioned__extract_month
- , subq_10.booking__ds_partitioned__extract_day
- , subq_10.booking__ds_partitioned__extract_dow
- , subq_10.booking__ds_partitioned__extract_doy
- , subq_10.booking__paid_at__day
- , subq_10.booking__paid_at__week
- , subq_10.booking__paid_at__month
- , subq_10.booking__paid_at__quarter
- , subq_10.booking__paid_at__year
- , subq_10.booking__paid_at__extract_year
- , subq_10.booking__paid_at__extract_quarter
- , subq_10.booking__paid_at__extract_month
- , subq_10.booking__paid_at__extract_day
- , subq_10.booking__paid_at__extract_dow
- , subq_10.booking__paid_at__extract_doy
- , subq_10.ds__day AS metric_time__day
- , subq_10.ds__week AS metric_time__week
- , subq_10.ds__month AS metric_time__month
- , subq_10.ds__quarter AS metric_time__quarter
- , subq_10.ds__year AS metric_time__year
- , subq_10.ds__extract_year AS metric_time__extract_year
- , subq_10.ds__extract_quarter AS metric_time__extract_quarter
- , subq_10.ds__extract_month AS metric_time__extract_month
- , subq_10.ds__extract_day AS metric_time__extract_day
- , subq_10.ds__extract_dow AS metric_time__extract_dow
- , subq_10.ds__extract_doy AS metric_time__extract_doy
- , subq_10.listing
- , subq_10.guest
- , subq_10.host
- , subq_10.booking__listing
- , subq_10.booking__guest
- , subq_10.booking__host
- , subq_10.is_instant
- , subq_10.booking__is_instant
- , subq_10.bookings
- , subq_10.instant_bookings
- , subq_10.booking_value
- , subq_10.max_booking_value
- , subq_10.min_booking_value
- , subq_10.bookers
- , subq_10.average_booking_value
- , subq_10.referred_bookings
- , subq_10.median_booking_value
- , subq_10.booking_value_p99
- , subq_10.discrete_booking_value_p99
- , subq_10.approximate_continuous_booking_value_p99
- , subq_10.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -1138,86 +1138,86 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_10
- ) subq_11
+ ) subq_0
+ ) subq_10
ON
- subq_14.metric_time__day - INTERVAL 14 day = subq_11.metric_time__day
- ) subq_15
+ subq_13.metric_time__day - INTERVAL 14 day = subq_10.metric_time__day
+ ) subq_14
LEFT OUTER JOIN (
-- Pass Only Elements: ['country_latest', 'listing']
SELECT
- subq_17.listing
- , subq_17.country_latest
+ subq_15.listing
+ , subq_15.country_latest
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_16.ds__day
- , subq_16.ds__week
- , subq_16.ds__month
- , subq_16.ds__quarter
- , subq_16.ds__year
- , subq_16.ds__extract_year
- , subq_16.ds__extract_quarter
- , subq_16.ds__extract_month
- , subq_16.ds__extract_day
- , subq_16.ds__extract_dow
- , subq_16.ds__extract_doy
- , subq_16.created_at__day
- , subq_16.created_at__week
- , subq_16.created_at__month
- , subq_16.created_at__quarter
- , subq_16.created_at__year
- , subq_16.created_at__extract_year
- , subq_16.created_at__extract_quarter
- , subq_16.created_at__extract_month
- , subq_16.created_at__extract_day
- , subq_16.created_at__extract_dow
- , subq_16.created_at__extract_doy
- , subq_16.listing__ds__day
- , subq_16.listing__ds__week
- , subq_16.listing__ds__month
- , subq_16.listing__ds__quarter
- , subq_16.listing__ds__year
- , subq_16.listing__ds__extract_year
- , subq_16.listing__ds__extract_quarter
- , subq_16.listing__ds__extract_month
- , subq_16.listing__ds__extract_day
- , subq_16.listing__ds__extract_dow
- , subq_16.listing__ds__extract_doy
- , subq_16.listing__created_at__day
- , subq_16.listing__created_at__week
- , subq_16.listing__created_at__month
- , subq_16.listing__created_at__quarter
- , subq_16.listing__created_at__year
- , subq_16.listing__created_at__extract_year
- , subq_16.listing__created_at__extract_quarter
- , subq_16.listing__created_at__extract_month
- , subq_16.listing__created_at__extract_day
- , subq_16.listing__created_at__extract_dow
- , subq_16.listing__created_at__extract_doy
- , subq_16.ds__day AS metric_time__day
- , subq_16.ds__week AS metric_time__week
- , subq_16.ds__month AS metric_time__month
- , subq_16.ds__quarter AS metric_time__quarter
- , subq_16.ds__year AS metric_time__year
- , subq_16.ds__extract_year AS metric_time__extract_year
- , subq_16.ds__extract_quarter AS metric_time__extract_quarter
- , subq_16.ds__extract_month AS metric_time__extract_month
- , subq_16.ds__extract_day AS metric_time__extract_day
- , subq_16.ds__extract_dow AS metric_time__extract_dow
- , subq_16.ds__extract_doy AS metric_time__extract_doy
- , subq_16.listing
- , subq_16.user
- , subq_16.listing__user
- , subq_16.country_latest
- , subq_16.is_lux_latest
- , subq_16.capacity_latest
- , subq_16.listing__country_latest
- , subq_16.listing__is_lux_latest
- , subq_16.listing__capacity_latest
- , subq_16.listings
- , subq_16.largest_listing
- , subq_16.smallest_listing
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.listing__ds__day
+ , subq_2.listing__ds__week
+ , subq_2.listing__ds__month
+ , subq_2.listing__ds__quarter
+ , subq_2.listing__ds__year
+ , subq_2.listing__ds__extract_year
+ , subq_2.listing__ds__extract_quarter
+ , subq_2.listing__ds__extract_month
+ , subq_2.listing__ds__extract_day
+ , subq_2.listing__ds__extract_dow
+ , subq_2.listing__ds__extract_doy
+ , subq_2.listing__created_at__day
+ , subq_2.listing__created_at__week
+ , subq_2.listing__created_at__month
+ , subq_2.listing__created_at__quarter
+ , subq_2.listing__created_at__year
+ , subq_2.listing__created_at__extract_year
+ , subq_2.listing__created_at__extract_quarter
+ , subq_2.listing__created_at__extract_month
+ , subq_2.listing__created_at__extract_day
+ , subq_2.listing__created_at__extract_dow
+ , subq_2.listing__created_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.user
+ , subq_2.listing__user
+ , subq_2.country_latest
+ , subq_2.is_lux_latest
+ , subq_2.capacity_latest
+ , subq_2.listing__country_latest
+ , subq_2.listing__is_lux_latest
+ , subq_2.listing__capacity_latest
+ , subq_2.listings
+ , subq_2.largest_listing
+ , subq_2.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -1278,27 +1278,27 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_16
- ) subq_17
- ) subq_18
+ ) subq_2
+ ) subq_15
+ ) subq_16
ON
- subq_15.listing = subq_18.listing
- ) subq_19
+ subq_14.listing = subq_16.listing
+ ) subq_17
WHERE booking__is_instant
- ) subq_20
- ) subq_21
+ ) subq_18
+ ) subq_19
GROUP BY
- subq_21.metric_time__day
- , subq_21.listing__country_latest
- ) subq_22
- ) subq_23
+ subq_19.metric_time__day
+ , subq_19.listing__country_latest
+ ) subq_20
+ ) subq_21
ON
(
- subq_9.listing__country_latest = subq_23.listing__country_latest
+ subq_9.listing__country_latest = subq_21.listing__country_latest
) AND (
- subq_9.metric_time__day = subq_23.metric_time__day
+ subq_9.metric_time__day = subq_21.metric_time__day
)
GROUP BY
- COALESCE(subq_9.metric_time__day, subq_23.metric_time__day)
- , COALESCE(subq_9.listing__country_latest, subq_23.listing__country_latest)
-) subq_24
+ COALESCE(subq_9.metric_time__day, subq_21.metric_time__day)
+ , COALESCE(subq_9.listing__country_latest, subq_21.listing__country_latest)
+) subq_22
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_offset_metric_with_query_time_filters__plan0_optimized.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_offset_metric_with_query_time_filters__plan0_optimized.sql
index 8d0b761341..bc57b6fcd2 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_offset_metric_with_query_time_filters__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_offset_metric_with_query_time_filters__plan0_optimized.sql
@@ -34,10 +34,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_34.metric_time__day, subq_46.metric_time__day) AS metric_time__day
- , COALESCE(subq_34.listing__country_latest, subq_46.listing__country_latest) AS listing__country_latest
- , MAX(subq_34.bookings) AS bookings
- , MAX(subq_46.bookings_2_weeks_ago) AS bookings_2_weeks_ago
+ COALESCE(subq_32.metric_time__day, subq_44.metric_time__day) AS metric_time__day
+ , COALESCE(subq_32.listing__country_latest, subq_44.listing__country_latest) AS listing__country_latest
+ , MAX(subq_32.bookings) AS bookings
+ , MAX(subq_44.bookings_2_weeks_ago) AS bookings_2_weeks_ago
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['bookings', 'listing__country_latest', 'metric_time__day']
@@ -59,12 +59,12 @@ FROM (
sma_28014_cte sma_28014_cte
ON
sma_28009_cte.listing = sma_28014_cte.listing
- ) subq_30
+ ) subq_28
WHERE booking__is_instant
GROUP BY
metric_time__day
, listing__country_latest
- ) subq_34
+ ) subq_32
FULL OUTER JOIN (
-- Constrain Output with WHERE
-- Pass Only Elements: ['bookings', 'listing__country_latest', 'metric_time__day']
@@ -78,9 +78,9 @@ FROM (
-- Join Standard Outputs
SELECT
sma_28014_cte.country_latest AS listing__country_latest
- , subq_39.metric_time__day AS metric_time__day
- , subq_39.booking__is_instant AS booking__is_instant
- , subq_39.bookings AS bookings
+ , subq_37.metric_time__day AS metric_time__day
+ , subq_37.booking__is_instant AS booking__is_instant
+ , subq_37.bookings AS bookings
FROM (
-- Join to Time Spine Dataset
SELECT
@@ -93,24 +93,24 @@ FROM (
sma_28009_cte sma_28009_cte
ON
time_spine_src_28006.ds - INTERVAL 14 day = sma_28009_cte.metric_time__day
- ) subq_39
+ ) subq_37
LEFT OUTER JOIN
sma_28014_cte sma_28014_cte
ON
- subq_39.listing = sma_28014_cte.listing
- ) subq_42
+ subq_37.listing = sma_28014_cte.listing
+ ) subq_40
WHERE booking__is_instant
GROUP BY
metric_time__day
, listing__country_latest
- ) subq_46
+ ) subq_44
ON
(
- subq_34.listing__country_latest = subq_46.listing__country_latest
+ subq_32.listing__country_latest = subq_44.listing__country_latest
) AND (
- subq_34.metric_time__day = subq_46.metric_time__day
+ subq_32.metric_time__day = subq_44.metric_time__day
)
GROUP BY
- COALESCE(subq_34.metric_time__day, subq_46.metric_time__day)
- , COALESCE(subq_34.listing__country_latest, subq_46.listing__country_latest)
-) subq_47
+ COALESCE(subq_32.metric_time__day, subq_44.metric_time__day)
+ , COALESCE(subq_32.listing__country_latest, subq_44.listing__country_latest)
+) subq_45
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_saved_query_with_metric_joins_and_filter__plan0.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_saved_query_with_metric_joins_and_filter__plan0.sql
index 10b057d2c1..c96892bd99 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_saved_query_with_metric_joins_and_filter__plan0.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_saved_query_with_metric_joins_and_filter__plan0.sql
@@ -8,10 +8,10 @@ sql_engine: DuckDB
---
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_9.listing__capacity_latest, subq_19.listing__capacity_latest, subq_41.listing__capacity_latest) AS listing__capacity_latest
+ COALESCE(subq_9.listing__capacity_latest, subq_18.listing__capacity_latest, subq_22.listing__capacity_latest) AS listing__capacity_latest
, MAX(subq_9.bookings) AS bookings
- , MAX(subq_19.views) AS views
- , MAX(subq_41.bookings_per_view) AS bookings_per_view
+ , MAX(subq_18.views) AS views
+ , MAX(subq_22.bookings_per_view) AS bookings_per_view
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -580,88 +580,88 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_18.listing__capacity_latest
- , subq_18.views
+ subq_17.listing__capacity_latest
+ , subq_17.views
FROM (
-- Aggregate Measures
SELECT
- subq_17.listing__capacity_latest
- , SUM(subq_17.views) AS views
+ subq_16.listing__capacity_latest
+ , SUM(subq_16.views) AS views
FROM (
-- Pass Only Elements: ['views', 'listing__capacity_latest']
SELECT
- subq_16.listing__capacity_latest
- , subq_16.views
+ subq_15.listing__capacity_latest
+ , subq_15.views
FROM (
-- Constrain Output with WHERE
SELECT
- subq_15.ds__day
- , subq_15.ds__week
- , subq_15.ds__month
- , subq_15.ds__quarter
- , subq_15.ds__year
- , subq_15.ds__extract_year
- , subq_15.ds__extract_quarter
- , subq_15.ds__extract_month
- , subq_15.ds__extract_day
- , subq_15.ds__extract_dow
- , subq_15.ds__extract_doy
- , subq_15.ds_partitioned__day
- , subq_15.ds_partitioned__week
- , subq_15.ds_partitioned__month
- , subq_15.ds_partitioned__quarter
- , subq_15.ds_partitioned__year
- , subq_15.ds_partitioned__extract_year
- , subq_15.ds_partitioned__extract_quarter
- , subq_15.ds_partitioned__extract_month
- , subq_15.ds_partitioned__extract_day
- , subq_15.ds_partitioned__extract_dow
- , subq_15.ds_partitioned__extract_doy
- , subq_15.view__ds__day
- , subq_15.view__ds__week
- , subq_15.view__ds__month
- , subq_15.view__ds__quarter
- , subq_15.view__ds__year
- , subq_15.view__ds__extract_year
- , subq_15.view__ds__extract_quarter
- , subq_15.view__ds__extract_month
- , subq_15.view__ds__extract_day
- , subq_15.view__ds__extract_dow
- , subq_15.view__ds__extract_doy
- , subq_15.view__ds_partitioned__day
- , subq_15.view__ds_partitioned__week
- , subq_15.view__ds_partitioned__month
- , subq_15.view__ds_partitioned__quarter
- , subq_15.view__ds_partitioned__year
- , subq_15.view__ds_partitioned__extract_year
- , subq_15.view__ds_partitioned__extract_quarter
- , subq_15.view__ds_partitioned__extract_month
- , subq_15.view__ds_partitioned__extract_day
- , subq_15.view__ds_partitioned__extract_dow
- , subq_15.view__ds_partitioned__extract_doy
- , subq_15.metric_time__day
- , subq_15.metric_time__week
- , subq_15.metric_time__month
- , subq_15.metric_time__quarter
- , subq_15.metric_time__year
- , subq_15.metric_time__extract_year
- , subq_15.metric_time__extract_quarter
- , subq_15.metric_time__extract_month
- , subq_15.metric_time__extract_day
- , subq_15.metric_time__extract_dow
- , subq_15.metric_time__extract_doy
- , subq_15.listing
- , subq_15.user
- , subq_15.view__listing
- , subq_15.view__user
- , subq_15.listing__is_lux_latest
- , subq_15.listing__capacity_latest
- , subq_15.views
+ subq_14.ds__day
+ , subq_14.ds__week
+ , subq_14.ds__month
+ , subq_14.ds__quarter
+ , subq_14.ds__year
+ , subq_14.ds__extract_year
+ , subq_14.ds__extract_quarter
+ , subq_14.ds__extract_month
+ , subq_14.ds__extract_day
+ , subq_14.ds__extract_dow
+ , subq_14.ds__extract_doy
+ , subq_14.ds_partitioned__day
+ , subq_14.ds_partitioned__week
+ , subq_14.ds_partitioned__month
+ , subq_14.ds_partitioned__quarter
+ , subq_14.ds_partitioned__year
+ , subq_14.ds_partitioned__extract_year
+ , subq_14.ds_partitioned__extract_quarter
+ , subq_14.ds_partitioned__extract_month
+ , subq_14.ds_partitioned__extract_day
+ , subq_14.ds_partitioned__extract_dow
+ , subq_14.ds_partitioned__extract_doy
+ , subq_14.view__ds__day
+ , subq_14.view__ds__week
+ , subq_14.view__ds__month
+ , subq_14.view__ds__quarter
+ , subq_14.view__ds__year
+ , subq_14.view__ds__extract_year
+ , subq_14.view__ds__extract_quarter
+ , subq_14.view__ds__extract_month
+ , subq_14.view__ds__extract_day
+ , subq_14.view__ds__extract_dow
+ , subq_14.view__ds__extract_doy
+ , subq_14.view__ds_partitioned__day
+ , subq_14.view__ds_partitioned__week
+ , subq_14.view__ds_partitioned__month
+ , subq_14.view__ds_partitioned__quarter
+ , subq_14.view__ds_partitioned__year
+ , subq_14.view__ds_partitioned__extract_year
+ , subq_14.view__ds_partitioned__extract_quarter
+ , subq_14.view__ds_partitioned__extract_month
+ , subq_14.view__ds_partitioned__extract_day
+ , subq_14.view__ds_partitioned__extract_dow
+ , subq_14.view__ds_partitioned__extract_doy
+ , subq_14.metric_time__day
+ , subq_14.metric_time__week
+ , subq_14.metric_time__month
+ , subq_14.metric_time__quarter
+ , subq_14.metric_time__year
+ , subq_14.metric_time__extract_year
+ , subq_14.metric_time__extract_quarter
+ , subq_14.metric_time__extract_month
+ , subq_14.metric_time__extract_day
+ , subq_14.metric_time__extract_dow
+ , subq_14.metric_time__extract_doy
+ , subq_14.listing
+ , subq_14.user
+ , subq_14.view__listing
+ , subq_14.view__user
+ , subq_14.listing__is_lux_latest
+ , subq_14.listing__capacity_latest
+ , subq_14.views
FROM (
-- Join Standard Outputs
SELECT
- subq_14.is_lux_latest AS listing__is_lux_latest
- , subq_14.capacity_latest AS listing__capacity_latest
+ subq_13.is_lux_latest AS listing__is_lux_latest
+ , subq_13.capacity_latest AS listing__capacity_latest
, subq_11.ds__day AS ds__day
, subq_11.ds__week AS ds__week
, subq_11.ds__month AS ds__month
@@ -843,79 +843,79 @@ FULL OUTER JOIN (
LEFT OUTER JOIN (
-- Pass Only Elements: ['capacity_latest', 'is_lux_latest', 'listing']
SELECT
- subq_13.listing
- , subq_13.is_lux_latest
- , subq_13.capacity_latest
+ subq_12.listing
+ , subq_12.is_lux_latest
+ , subq_12.capacity_latest
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.created_at__day
- , subq_12.created_at__week
- , subq_12.created_at__month
- , subq_12.created_at__quarter
- , subq_12.created_at__year
- , subq_12.created_at__extract_year
- , subq_12.created_at__extract_quarter
- , subq_12.created_at__extract_month
- , subq_12.created_at__extract_day
- , subq_12.created_at__extract_dow
- , subq_12.created_at__extract_doy
- , subq_12.listing__ds__day
- , subq_12.listing__ds__week
- , subq_12.listing__ds__month
- , subq_12.listing__ds__quarter
- , subq_12.listing__ds__year
- , subq_12.listing__ds__extract_year
- , subq_12.listing__ds__extract_quarter
- , subq_12.listing__ds__extract_month
- , subq_12.listing__ds__extract_day
- , subq_12.listing__ds__extract_dow
- , subq_12.listing__ds__extract_doy
- , subq_12.listing__created_at__day
- , subq_12.listing__created_at__week
- , subq_12.listing__created_at__month
- , subq_12.listing__created_at__quarter
- , subq_12.listing__created_at__year
- , subq_12.listing__created_at__extract_year
- , subq_12.listing__created_at__extract_quarter
- , subq_12.listing__created_at__extract_month
- , subq_12.listing__created_at__extract_day
- , subq_12.listing__created_at__extract_dow
- , subq_12.listing__created_at__extract_doy
- , subq_12.ds__day AS metric_time__day
- , subq_12.ds__week AS metric_time__week
- , subq_12.ds__month AS metric_time__month
- , subq_12.ds__quarter AS metric_time__quarter
- , subq_12.ds__year AS metric_time__year
- , subq_12.ds__extract_year AS metric_time__extract_year
- , subq_12.ds__extract_quarter AS metric_time__extract_quarter
- , subq_12.ds__extract_month AS metric_time__extract_month
- , subq_12.ds__extract_day AS metric_time__extract_day
- , subq_12.ds__extract_dow AS metric_time__extract_dow
- , subq_12.ds__extract_doy AS metric_time__extract_doy
- , subq_12.listing
- , subq_12.user
- , subq_12.listing__user
- , subq_12.country_latest
- , subq_12.is_lux_latest
- , subq_12.capacity_latest
- , subq_12.listing__country_latest
- , subq_12.listing__is_lux_latest
- , subq_12.listing__capacity_latest
- , subq_12.listings
- , subq_12.largest_listing
- , subq_12.smallest_listing
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.listing__ds__day
+ , subq_2.listing__ds__week
+ , subq_2.listing__ds__month
+ , subq_2.listing__ds__quarter
+ , subq_2.listing__ds__year
+ , subq_2.listing__ds__extract_year
+ , subq_2.listing__ds__extract_quarter
+ , subq_2.listing__ds__extract_month
+ , subq_2.listing__ds__extract_day
+ , subq_2.listing__ds__extract_dow
+ , subq_2.listing__ds__extract_doy
+ , subq_2.listing__created_at__day
+ , subq_2.listing__created_at__week
+ , subq_2.listing__created_at__month
+ , subq_2.listing__created_at__quarter
+ , subq_2.listing__created_at__year
+ , subq_2.listing__created_at__extract_year
+ , subq_2.listing__created_at__extract_quarter
+ , subq_2.listing__created_at__extract_month
+ , subq_2.listing__created_at__extract_day
+ , subq_2.listing__created_at__extract_dow
+ , subq_2.listing__created_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.user
+ , subq_2.listing__user
+ , subq_2.country_latest
+ , subq_2.is_lux_latest
+ , subq_2.capacity_latest
+ , subq_2.listing__country_latest
+ , subq_2.listing__is_lux_latest
+ , subq_2.listing__capacity_latest
+ , subq_2.listings
+ , subq_2.largest_listing
+ , subq_2.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -976,354 +976,354 @@ FULL OUTER JOIN (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_2
+ ) subq_12
+ ) subq_13
ON
- subq_11.listing = subq_14.listing
- ) subq_15
+ subq_11.listing = subq_13.listing
+ ) subq_14
WHERE (listing__is_lux_latest) AND (metric_time__day >= '2020-01-02')
- ) subq_16
- ) subq_17
+ ) subq_15
+ ) subq_16
GROUP BY
- subq_17.listing__capacity_latest
- ) subq_18
-) subq_19
+ subq_16.listing__capacity_latest
+ ) subq_17
+) subq_18
ON
- subq_9.listing__capacity_latest = subq_19.listing__capacity_latest
+ subq_9.listing__capacity_latest = subq_18.listing__capacity_latest
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_40.listing__capacity_latest
- , CAST(subq_40.bookings AS DOUBLE) / CAST(NULLIF(subq_40.views, 0) AS DOUBLE) AS bookings_per_view
+ subq_21.listing__capacity_latest
+ , CAST(subq_21.bookings AS DOUBLE) / CAST(NULLIF(subq_21.views, 0) AS DOUBLE) AS bookings_per_view
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_29.listing__capacity_latest, subq_39.listing__capacity_latest) AS listing__capacity_latest
- , MAX(subq_29.bookings) AS bookings
- , MAX(subq_39.views) AS views
+ COALESCE(subq_19.listing__capacity_latest, subq_20.listing__capacity_latest) AS listing__capacity_latest
+ , MAX(subq_19.bookings) AS bookings
+ , MAX(subq_20.views) AS views
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_28.listing__capacity_latest
- , subq_28.bookings
+ subq_8.listing__capacity_latest
+ , subq_8.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_27.listing__capacity_latest
- , SUM(subq_27.bookings) AS bookings
+ subq_7.listing__capacity_latest
+ , SUM(subq_7.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing__capacity_latest']
SELECT
- subq_26.listing__capacity_latest
- , subq_26.bookings
+ subq_6.listing__capacity_latest
+ , subq_6.bookings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_25.ds__day
- , subq_25.ds__week
- , subq_25.ds__month
- , subq_25.ds__quarter
- , subq_25.ds__year
- , subq_25.ds__extract_year
- , subq_25.ds__extract_quarter
- , subq_25.ds__extract_month
- , subq_25.ds__extract_day
- , subq_25.ds__extract_dow
- , subq_25.ds__extract_doy
- , subq_25.ds_partitioned__day
- , subq_25.ds_partitioned__week
- , subq_25.ds_partitioned__month
- , subq_25.ds_partitioned__quarter
- , subq_25.ds_partitioned__year
- , subq_25.ds_partitioned__extract_year
- , subq_25.ds_partitioned__extract_quarter
- , subq_25.ds_partitioned__extract_month
- , subq_25.ds_partitioned__extract_day
- , subq_25.ds_partitioned__extract_dow
- , subq_25.ds_partitioned__extract_doy
- , subq_25.paid_at__day
- , subq_25.paid_at__week
- , subq_25.paid_at__month
- , subq_25.paid_at__quarter
- , subq_25.paid_at__year
- , subq_25.paid_at__extract_year
- , subq_25.paid_at__extract_quarter
- , subq_25.paid_at__extract_month
- , subq_25.paid_at__extract_day
- , subq_25.paid_at__extract_dow
- , subq_25.paid_at__extract_doy
- , subq_25.booking__ds__day
- , subq_25.booking__ds__week
- , subq_25.booking__ds__month
- , subq_25.booking__ds__quarter
- , subq_25.booking__ds__year
- , subq_25.booking__ds__extract_year
- , subq_25.booking__ds__extract_quarter
- , subq_25.booking__ds__extract_month
- , subq_25.booking__ds__extract_day
- , subq_25.booking__ds__extract_dow
- , subq_25.booking__ds__extract_doy
- , subq_25.booking__ds_partitioned__day
- , subq_25.booking__ds_partitioned__week
- , subq_25.booking__ds_partitioned__month
- , subq_25.booking__ds_partitioned__quarter
- , subq_25.booking__ds_partitioned__year
- , subq_25.booking__ds_partitioned__extract_year
- , subq_25.booking__ds_partitioned__extract_quarter
- , subq_25.booking__ds_partitioned__extract_month
- , subq_25.booking__ds_partitioned__extract_day
- , subq_25.booking__ds_partitioned__extract_dow
- , subq_25.booking__ds_partitioned__extract_doy
- , subq_25.booking__paid_at__day
- , subq_25.booking__paid_at__week
- , subq_25.booking__paid_at__month
- , subq_25.booking__paid_at__quarter
- , subq_25.booking__paid_at__year
- , subq_25.booking__paid_at__extract_year
- , subq_25.booking__paid_at__extract_quarter
- , subq_25.booking__paid_at__extract_month
- , subq_25.booking__paid_at__extract_day
- , subq_25.booking__paid_at__extract_dow
- , subq_25.booking__paid_at__extract_doy
- , subq_25.metric_time__day
- , subq_25.metric_time__week
- , subq_25.metric_time__month
- , subq_25.metric_time__quarter
- , subq_25.metric_time__year
- , subq_25.metric_time__extract_year
- , subq_25.metric_time__extract_quarter
- , subq_25.metric_time__extract_month
- , subq_25.metric_time__extract_day
- , subq_25.metric_time__extract_dow
- , subq_25.metric_time__extract_doy
- , subq_25.listing
- , subq_25.guest
- , subq_25.host
- , subq_25.booking__listing
- , subq_25.booking__guest
- , subq_25.booking__host
- , subq_25.is_instant
- , subq_25.booking__is_instant
- , subq_25.listing__is_lux_latest
- , subq_25.listing__capacity_latest
- , subq_25.bookings
- , subq_25.instant_bookings
- , subq_25.booking_value
- , subq_25.max_booking_value
- , subq_25.min_booking_value
- , subq_25.bookers
- , subq_25.average_booking_value
- , subq_25.referred_bookings
- , subq_25.median_booking_value
- , subq_25.booking_value_p99
- , subq_25.discrete_booking_value_p99
- , subq_25.approximate_continuous_booking_value_p99
- , subq_25.approximate_discrete_booking_value_p99
+ subq_5.ds__day
+ , subq_5.ds__week
+ , subq_5.ds__month
+ , subq_5.ds__quarter
+ , subq_5.ds__year
+ , subq_5.ds__extract_year
+ , subq_5.ds__extract_quarter
+ , subq_5.ds__extract_month
+ , subq_5.ds__extract_day
+ , subq_5.ds__extract_dow
+ , subq_5.ds__extract_doy
+ , subq_5.ds_partitioned__day
+ , subq_5.ds_partitioned__week
+ , subq_5.ds_partitioned__month
+ , subq_5.ds_partitioned__quarter
+ , subq_5.ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy
+ , subq_5.paid_at__day
+ , subq_5.paid_at__week
+ , subq_5.paid_at__month
+ , subq_5.paid_at__quarter
+ , subq_5.paid_at__year
+ , subq_5.paid_at__extract_year
+ , subq_5.paid_at__extract_quarter
+ , subq_5.paid_at__extract_month
+ , subq_5.paid_at__extract_day
+ , subq_5.paid_at__extract_dow
+ , subq_5.paid_at__extract_doy
+ , subq_5.booking__ds__day
+ , subq_5.booking__ds__week
+ , subq_5.booking__ds__month
+ , subq_5.booking__ds__quarter
+ , subq_5.booking__ds__year
+ , subq_5.booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month
+ , subq_5.booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day
+ , subq_5.booking__paid_at__week
+ , subq_5.booking__paid_at__month
+ , subq_5.booking__paid_at__quarter
+ , subq_5.booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy
+ , subq_5.metric_time__day
+ , subq_5.metric_time__week
+ , subq_5.metric_time__month
+ , subq_5.metric_time__quarter
+ , subq_5.metric_time__year
+ , subq_5.metric_time__extract_year
+ , subq_5.metric_time__extract_quarter
+ , subq_5.metric_time__extract_month
+ , subq_5.metric_time__extract_day
+ , subq_5.metric_time__extract_dow
+ , subq_5.metric_time__extract_doy
+ , subq_5.listing
+ , subq_5.guest
+ , subq_5.host
+ , subq_5.booking__listing
+ , subq_5.booking__guest
+ , subq_5.booking__host
+ , subq_5.is_instant
+ , subq_5.booking__is_instant
+ , subq_5.listing__is_lux_latest
+ , subq_5.listing__capacity_latest
+ , subq_5.bookings
+ , subq_5.instant_bookings
+ , subq_5.booking_value
+ , subq_5.max_booking_value
+ , subq_5.min_booking_value
+ , subq_5.bookers
+ , subq_5.average_booking_value
+ , subq_5.referred_bookings
+ , subq_5.median_booking_value
+ , subq_5.booking_value_p99
+ , subq_5.discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_24.is_lux_latest AS listing__is_lux_latest
- , subq_24.capacity_latest AS listing__capacity_latest
- , subq_21.ds__day AS ds__day
- , subq_21.ds__week AS ds__week
- , subq_21.ds__month AS ds__month
- , subq_21.ds__quarter AS ds__quarter
- , subq_21.ds__year AS ds__year
- , subq_21.ds__extract_year AS ds__extract_year
- , subq_21.ds__extract_quarter AS ds__extract_quarter
- , subq_21.ds__extract_month AS ds__extract_month
- , subq_21.ds__extract_day AS ds__extract_day
- , subq_21.ds__extract_dow AS ds__extract_dow
- , subq_21.ds__extract_doy AS ds__extract_doy
- , subq_21.ds_partitioned__day AS ds_partitioned__day
- , subq_21.ds_partitioned__week AS ds_partitioned__week
- , subq_21.ds_partitioned__month AS ds_partitioned__month
- , subq_21.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_21.ds_partitioned__year AS ds_partitioned__year
- , subq_21.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_21.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_21.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_21.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_21.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_21.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_21.paid_at__day AS paid_at__day
- , subq_21.paid_at__week AS paid_at__week
- , subq_21.paid_at__month AS paid_at__month
- , subq_21.paid_at__quarter AS paid_at__quarter
- , subq_21.paid_at__year AS paid_at__year
- , subq_21.paid_at__extract_year AS paid_at__extract_year
- , subq_21.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_21.paid_at__extract_month AS paid_at__extract_month
- , subq_21.paid_at__extract_day AS paid_at__extract_day
- , subq_21.paid_at__extract_dow AS paid_at__extract_dow
- , subq_21.paid_at__extract_doy AS paid_at__extract_doy
- , subq_21.booking__ds__day AS booking__ds__day
- , subq_21.booking__ds__week AS booking__ds__week
- , subq_21.booking__ds__month AS booking__ds__month
- , subq_21.booking__ds__quarter AS booking__ds__quarter
- , subq_21.booking__ds__year AS booking__ds__year
- , subq_21.booking__ds__extract_year AS booking__ds__extract_year
- , subq_21.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_21.booking__ds__extract_month AS booking__ds__extract_month
- , subq_21.booking__ds__extract_day AS booking__ds__extract_day
- , subq_21.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_21.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_21.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_21.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_21.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_21.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_21.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_21.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_21.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_21.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_21.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_21.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_21.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_21.booking__paid_at__day AS booking__paid_at__day
- , subq_21.booking__paid_at__week AS booking__paid_at__week
- , subq_21.booking__paid_at__month AS booking__paid_at__month
- , subq_21.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_21.booking__paid_at__year AS booking__paid_at__year
- , subq_21.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_21.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_21.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_21.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_21.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_21.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_21.metric_time__day AS metric_time__day
- , subq_21.metric_time__week AS metric_time__week
- , subq_21.metric_time__month AS metric_time__month
- , subq_21.metric_time__quarter AS metric_time__quarter
- , subq_21.metric_time__year AS metric_time__year
- , subq_21.metric_time__extract_year AS metric_time__extract_year
- , subq_21.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_21.metric_time__extract_month AS metric_time__extract_month
- , subq_21.metric_time__extract_day AS metric_time__extract_day
- , subq_21.metric_time__extract_dow AS metric_time__extract_dow
- , subq_21.metric_time__extract_doy AS metric_time__extract_doy
- , subq_21.listing AS listing
- , subq_21.guest AS guest
- , subq_21.host AS host
- , subq_21.booking__listing AS booking__listing
- , subq_21.booking__guest AS booking__guest
- , subq_21.booking__host AS booking__host
- , subq_21.is_instant AS is_instant
- , subq_21.booking__is_instant AS booking__is_instant
- , subq_21.bookings AS bookings
- , subq_21.instant_bookings AS instant_bookings
- , subq_21.booking_value AS booking_value
- , subq_21.max_booking_value AS max_booking_value
- , subq_21.min_booking_value AS min_booking_value
- , subq_21.bookers AS bookers
- , subq_21.average_booking_value AS average_booking_value
- , subq_21.referred_bookings AS referred_bookings
- , subq_21.median_booking_value AS median_booking_value
- , subq_21.booking_value_p99 AS booking_value_p99
- , subq_21.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_21.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_21.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_4.is_lux_latest AS listing__is_lux_latest
+ , subq_4.capacity_latest AS listing__capacity_latest
+ , subq_1.ds__day AS ds__day
+ , subq_1.ds__week AS ds__week
+ , subq_1.ds__month AS ds__month
+ , subq_1.ds__quarter AS ds__quarter
+ , subq_1.ds__year AS ds__year
+ , subq_1.ds__extract_year AS ds__extract_year
+ , subq_1.ds__extract_quarter AS ds__extract_quarter
+ , subq_1.ds__extract_month AS ds__extract_month
+ , subq_1.ds__extract_day AS ds__extract_day
+ , subq_1.ds__extract_dow AS ds__extract_dow
+ , subq_1.ds__extract_doy AS ds__extract_doy
+ , subq_1.ds_partitioned__day AS ds_partitioned__day
+ , subq_1.ds_partitioned__week AS ds_partitioned__week
+ , subq_1.ds_partitioned__month AS ds_partitioned__month
+ , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_1.ds_partitioned__year AS ds_partitioned__year
+ , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_1.paid_at__day AS paid_at__day
+ , subq_1.paid_at__week AS paid_at__week
+ , subq_1.paid_at__month AS paid_at__month
+ , subq_1.paid_at__quarter AS paid_at__quarter
+ , subq_1.paid_at__year AS paid_at__year
+ , subq_1.paid_at__extract_year AS paid_at__extract_year
+ , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_1.paid_at__extract_month AS paid_at__extract_month
+ , subq_1.paid_at__extract_day AS paid_at__extract_day
+ , subq_1.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_1.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_1.booking__ds__day AS booking__ds__day
+ , subq_1.booking__ds__week AS booking__ds__week
+ , subq_1.booking__ds__month AS booking__ds__month
+ , subq_1.booking__ds__quarter AS booking__ds__quarter
+ , subq_1.booking__ds__year AS booking__ds__year
+ , subq_1.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_1.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_1.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_1.booking__paid_at__day AS booking__paid_at__day
+ , subq_1.booking__paid_at__week AS booking__paid_at__week
+ , subq_1.booking__paid_at__month AS booking__paid_at__month
+ , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_1.booking__paid_at__year AS booking__paid_at__year
+ , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_1.metric_time__day AS metric_time__day
+ , subq_1.metric_time__week AS metric_time__week
+ , subq_1.metric_time__month AS metric_time__month
+ , subq_1.metric_time__quarter AS metric_time__quarter
+ , subq_1.metric_time__year AS metric_time__year
+ , subq_1.metric_time__extract_year AS metric_time__extract_year
+ , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_1.metric_time__extract_month AS metric_time__extract_month
+ , subq_1.metric_time__extract_day AS metric_time__extract_day
+ , subq_1.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_1.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_1.listing AS listing
+ , subq_1.guest AS guest
+ , subq_1.host AS host
+ , subq_1.booking__listing AS booking__listing
+ , subq_1.booking__guest AS booking__guest
+ , subq_1.booking__host AS booking__host
+ , subq_1.is_instant AS is_instant
+ , subq_1.booking__is_instant AS booking__is_instant
+ , subq_1.bookings AS bookings
+ , subq_1.instant_bookings AS instant_bookings
+ , subq_1.booking_value AS booking_value
+ , subq_1.max_booking_value AS max_booking_value
+ , subq_1.min_booking_value AS min_booking_value
+ , subq_1.bookers AS bookers
+ , subq_1.average_booking_value AS average_booking_value
+ , subq_1.referred_bookings AS referred_bookings
+ , subq_1.median_booking_value AS median_booking_value
+ , subq_1.booking_value_p99 AS booking_value_p99
+ , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_20.ds__day
- , subq_20.ds__week
- , subq_20.ds__month
- , subq_20.ds__quarter
- , subq_20.ds__year
- , subq_20.ds__extract_year
- , subq_20.ds__extract_quarter
- , subq_20.ds__extract_month
- , subq_20.ds__extract_day
- , subq_20.ds__extract_dow
- , subq_20.ds__extract_doy
- , subq_20.ds_partitioned__day
- , subq_20.ds_partitioned__week
- , subq_20.ds_partitioned__month
- , subq_20.ds_partitioned__quarter
- , subq_20.ds_partitioned__year
- , subq_20.ds_partitioned__extract_year
- , subq_20.ds_partitioned__extract_quarter
- , subq_20.ds_partitioned__extract_month
- , subq_20.ds_partitioned__extract_day
- , subq_20.ds_partitioned__extract_dow
- , subq_20.ds_partitioned__extract_doy
- , subq_20.paid_at__day
- , subq_20.paid_at__week
- , subq_20.paid_at__month
- , subq_20.paid_at__quarter
- , subq_20.paid_at__year
- , subq_20.paid_at__extract_year
- , subq_20.paid_at__extract_quarter
- , subq_20.paid_at__extract_month
- , subq_20.paid_at__extract_day
- , subq_20.paid_at__extract_dow
- , subq_20.paid_at__extract_doy
- , subq_20.booking__ds__day
- , subq_20.booking__ds__week
- , subq_20.booking__ds__month
- , subq_20.booking__ds__quarter
- , subq_20.booking__ds__year
- , subq_20.booking__ds__extract_year
- , subq_20.booking__ds__extract_quarter
- , subq_20.booking__ds__extract_month
- , subq_20.booking__ds__extract_day
- , subq_20.booking__ds__extract_dow
- , subq_20.booking__ds__extract_doy
- , subq_20.booking__ds_partitioned__day
- , subq_20.booking__ds_partitioned__week
- , subq_20.booking__ds_partitioned__month
- , subq_20.booking__ds_partitioned__quarter
- , subq_20.booking__ds_partitioned__year
- , subq_20.booking__ds_partitioned__extract_year
- , subq_20.booking__ds_partitioned__extract_quarter
- , subq_20.booking__ds_partitioned__extract_month
- , subq_20.booking__ds_partitioned__extract_day
- , subq_20.booking__ds_partitioned__extract_dow
- , subq_20.booking__ds_partitioned__extract_doy
- , subq_20.booking__paid_at__day
- , subq_20.booking__paid_at__week
- , subq_20.booking__paid_at__month
- , subq_20.booking__paid_at__quarter
- , subq_20.booking__paid_at__year
- , subq_20.booking__paid_at__extract_year
- , subq_20.booking__paid_at__extract_quarter
- , subq_20.booking__paid_at__extract_month
- , subq_20.booking__paid_at__extract_day
- , subq_20.booking__paid_at__extract_dow
- , subq_20.booking__paid_at__extract_doy
- , subq_20.ds__day AS metric_time__day
- , subq_20.ds__week AS metric_time__week
- , subq_20.ds__month AS metric_time__month
- , subq_20.ds__quarter AS metric_time__quarter
- , subq_20.ds__year AS metric_time__year
- , subq_20.ds__extract_year AS metric_time__extract_year
- , subq_20.ds__extract_quarter AS metric_time__extract_quarter
- , subq_20.ds__extract_month AS metric_time__extract_month
- , subq_20.ds__extract_day AS metric_time__extract_day
- , subq_20.ds__extract_dow AS metric_time__extract_dow
- , subq_20.ds__extract_doy AS metric_time__extract_doy
- , subq_20.listing
- , subq_20.guest
- , subq_20.host
- , subq_20.booking__listing
- , subq_20.booking__guest
- , subq_20.booking__host
- , subq_20.is_instant
- , subq_20.booking__is_instant
- , subq_20.bookings
- , subq_20.instant_bookings
- , subq_20.booking_value
- , subq_20.max_booking_value
- , subq_20.min_booking_value
- , subq_20.bookers
- , subq_20.average_booking_value
- , subq_20.referred_bookings
- , subq_20.median_booking_value
- , subq_20.booking_value_p99
- , subq_20.discrete_booking_value_p99
- , subq_20.approximate_continuous_booking_value_p99
- , subq_20.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -1416,84 +1416,84 @@ FULL OUTER JOIN (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_20
- ) subq_21
+ ) subq_0
+ ) subq_1
LEFT OUTER JOIN (
-- Pass Only Elements: ['capacity_latest', 'is_lux_latest', 'listing']
SELECT
- subq_23.listing
- , subq_23.is_lux_latest
- , subq_23.capacity_latest
+ subq_3.listing
+ , subq_3.is_lux_latest
+ , subq_3.capacity_latest
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_22.ds__day
- , subq_22.ds__week
- , subq_22.ds__month
- , subq_22.ds__quarter
- , subq_22.ds__year
- , subq_22.ds__extract_year
- , subq_22.ds__extract_quarter
- , subq_22.ds__extract_month
- , subq_22.ds__extract_day
- , subq_22.ds__extract_dow
- , subq_22.ds__extract_doy
- , subq_22.created_at__day
- , subq_22.created_at__week
- , subq_22.created_at__month
- , subq_22.created_at__quarter
- , subq_22.created_at__year
- , subq_22.created_at__extract_year
- , subq_22.created_at__extract_quarter
- , subq_22.created_at__extract_month
- , subq_22.created_at__extract_day
- , subq_22.created_at__extract_dow
- , subq_22.created_at__extract_doy
- , subq_22.listing__ds__day
- , subq_22.listing__ds__week
- , subq_22.listing__ds__month
- , subq_22.listing__ds__quarter
- , subq_22.listing__ds__year
- , subq_22.listing__ds__extract_year
- , subq_22.listing__ds__extract_quarter
- , subq_22.listing__ds__extract_month
- , subq_22.listing__ds__extract_day
- , subq_22.listing__ds__extract_dow
- , subq_22.listing__ds__extract_doy
- , subq_22.listing__created_at__day
- , subq_22.listing__created_at__week
- , subq_22.listing__created_at__month
- , subq_22.listing__created_at__quarter
- , subq_22.listing__created_at__year
- , subq_22.listing__created_at__extract_year
- , subq_22.listing__created_at__extract_quarter
- , subq_22.listing__created_at__extract_month
- , subq_22.listing__created_at__extract_day
- , subq_22.listing__created_at__extract_dow
- , subq_22.listing__created_at__extract_doy
- , subq_22.ds__day AS metric_time__day
- , subq_22.ds__week AS metric_time__week
- , subq_22.ds__month AS metric_time__month
- , subq_22.ds__quarter AS metric_time__quarter
- , subq_22.ds__year AS metric_time__year
- , subq_22.ds__extract_year AS metric_time__extract_year
- , subq_22.ds__extract_quarter AS metric_time__extract_quarter
- , subq_22.ds__extract_month AS metric_time__extract_month
- , subq_22.ds__extract_day AS metric_time__extract_day
- , subq_22.ds__extract_dow AS metric_time__extract_dow
- , subq_22.ds__extract_doy AS metric_time__extract_doy
- , subq_22.listing
- , subq_22.user
- , subq_22.listing__user
- , subq_22.country_latest
- , subq_22.is_lux_latest
- , subq_22.capacity_latest
- , subq_22.listing__country_latest
- , subq_22.listing__is_lux_latest
- , subq_22.listing__capacity_latest
- , subq_22.listings
- , subq_22.largest_listing
- , subq_22.smallest_listing
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.listing__ds__day
+ , subq_2.listing__ds__week
+ , subq_2.listing__ds__month
+ , subq_2.listing__ds__quarter
+ , subq_2.listing__ds__year
+ , subq_2.listing__ds__extract_year
+ , subq_2.listing__ds__extract_quarter
+ , subq_2.listing__ds__extract_month
+ , subq_2.listing__ds__extract_day
+ , subq_2.listing__ds__extract_dow
+ , subq_2.listing__ds__extract_doy
+ , subq_2.listing__created_at__day
+ , subq_2.listing__created_at__week
+ , subq_2.listing__created_at__month
+ , subq_2.listing__created_at__quarter
+ , subq_2.listing__created_at__year
+ , subq_2.listing__created_at__extract_year
+ , subq_2.listing__created_at__extract_quarter
+ , subq_2.listing__created_at__extract_month
+ , subq_2.listing__created_at__extract_day
+ , subq_2.listing__created_at__extract_dow
+ , subq_2.listing__created_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.user
+ , subq_2.listing__user
+ , subq_2.country_latest
+ , subq_2.is_lux_latest
+ , subq_2.capacity_latest
+ , subq_2.listing__country_latest
+ , subq_2.listing__is_lux_latest
+ , subq_2.listing__capacity_latest
+ , subq_2.listings
+ , subq_2.largest_listing
+ , subq_2.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -1554,227 +1554,227 @@ FULL OUTER JOIN (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_22
- ) subq_23
- ) subq_24
+ ) subq_2
+ ) subq_3
+ ) subq_4
ON
- subq_21.listing = subq_24.listing
- ) subq_25
+ subq_1.listing = subq_4.listing
+ ) subq_5
WHERE (listing__is_lux_latest) AND (metric_time__day >= '2020-01-02')
- ) subq_26
- ) subq_27
+ ) subq_6
+ ) subq_7
GROUP BY
- subq_27.listing__capacity_latest
- ) subq_28
- ) subq_29
+ subq_7.listing__capacity_latest
+ ) subq_8
+ ) subq_19
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_38.listing__capacity_latest
- , subq_38.views
+ subq_17.listing__capacity_latest
+ , subq_17.views
FROM (
-- Aggregate Measures
SELECT
- subq_37.listing__capacity_latest
- , SUM(subq_37.views) AS views
+ subq_16.listing__capacity_latest
+ , SUM(subq_16.views) AS views
FROM (
-- Pass Only Elements: ['views', 'listing__capacity_latest']
SELECT
- subq_36.listing__capacity_latest
- , subq_36.views
+ subq_15.listing__capacity_latest
+ , subq_15.views
FROM (
-- Constrain Output with WHERE
SELECT
- subq_35.ds__day
- , subq_35.ds__week
- , subq_35.ds__month
- , subq_35.ds__quarter
- , subq_35.ds__year
- , subq_35.ds__extract_year
- , subq_35.ds__extract_quarter
- , subq_35.ds__extract_month
- , subq_35.ds__extract_day
- , subq_35.ds__extract_dow
- , subq_35.ds__extract_doy
- , subq_35.ds_partitioned__day
- , subq_35.ds_partitioned__week
- , subq_35.ds_partitioned__month
- , subq_35.ds_partitioned__quarter
- , subq_35.ds_partitioned__year
- , subq_35.ds_partitioned__extract_year
- , subq_35.ds_partitioned__extract_quarter
- , subq_35.ds_partitioned__extract_month
- , subq_35.ds_partitioned__extract_day
- , subq_35.ds_partitioned__extract_dow
- , subq_35.ds_partitioned__extract_doy
- , subq_35.view__ds__day
- , subq_35.view__ds__week
- , subq_35.view__ds__month
- , subq_35.view__ds__quarter
- , subq_35.view__ds__year
- , subq_35.view__ds__extract_year
- , subq_35.view__ds__extract_quarter
- , subq_35.view__ds__extract_month
- , subq_35.view__ds__extract_day
- , subq_35.view__ds__extract_dow
- , subq_35.view__ds__extract_doy
- , subq_35.view__ds_partitioned__day
- , subq_35.view__ds_partitioned__week
- , subq_35.view__ds_partitioned__month
- , subq_35.view__ds_partitioned__quarter
- , subq_35.view__ds_partitioned__year
- , subq_35.view__ds_partitioned__extract_year
- , subq_35.view__ds_partitioned__extract_quarter
- , subq_35.view__ds_partitioned__extract_month
- , subq_35.view__ds_partitioned__extract_day
- , subq_35.view__ds_partitioned__extract_dow
- , subq_35.view__ds_partitioned__extract_doy
- , subq_35.metric_time__day
- , subq_35.metric_time__week
- , subq_35.metric_time__month
- , subq_35.metric_time__quarter
- , subq_35.metric_time__year
- , subq_35.metric_time__extract_year
- , subq_35.metric_time__extract_quarter
- , subq_35.metric_time__extract_month
- , subq_35.metric_time__extract_day
- , subq_35.metric_time__extract_dow
- , subq_35.metric_time__extract_doy
- , subq_35.listing
- , subq_35.user
- , subq_35.view__listing
- , subq_35.view__user
- , subq_35.listing__is_lux_latest
- , subq_35.listing__capacity_latest
- , subq_35.views
+ subq_14.ds__day
+ , subq_14.ds__week
+ , subq_14.ds__month
+ , subq_14.ds__quarter
+ , subq_14.ds__year
+ , subq_14.ds__extract_year
+ , subq_14.ds__extract_quarter
+ , subq_14.ds__extract_month
+ , subq_14.ds__extract_day
+ , subq_14.ds__extract_dow
+ , subq_14.ds__extract_doy
+ , subq_14.ds_partitioned__day
+ , subq_14.ds_partitioned__week
+ , subq_14.ds_partitioned__month
+ , subq_14.ds_partitioned__quarter
+ , subq_14.ds_partitioned__year
+ , subq_14.ds_partitioned__extract_year
+ , subq_14.ds_partitioned__extract_quarter
+ , subq_14.ds_partitioned__extract_month
+ , subq_14.ds_partitioned__extract_day
+ , subq_14.ds_partitioned__extract_dow
+ , subq_14.ds_partitioned__extract_doy
+ , subq_14.view__ds__day
+ , subq_14.view__ds__week
+ , subq_14.view__ds__month
+ , subq_14.view__ds__quarter
+ , subq_14.view__ds__year
+ , subq_14.view__ds__extract_year
+ , subq_14.view__ds__extract_quarter
+ , subq_14.view__ds__extract_month
+ , subq_14.view__ds__extract_day
+ , subq_14.view__ds__extract_dow
+ , subq_14.view__ds__extract_doy
+ , subq_14.view__ds_partitioned__day
+ , subq_14.view__ds_partitioned__week
+ , subq_14.view__ds_partitioned__month
+ , subq_14.view__ds_partitioned__quarter
+ , subq_14.view__ds_partitioned__year
+ , subq_14.view__ds_partitioned__extract_year
+ , subq_14.view__ds_partitioned__extract_quarter
+ , subq_14.view__ds_partitioned__extract_month
+ , subq_14.view__ds_partitioned__extract_day
+ , subq_14.view__ds_partitioned__extract_dow
+ , subq_14.view__ds_partitioned__extract_doy
+ , subq_14.metric_time__day
+ , subq_14.metric_time__week
+ , subq_14.metric_time__month
+ , subq_14.metric_time__quarter
+ , subq_14.metric_time__year
+ , subq_14.metric_time__extract_year
+ , subq_14.metric_time__extract_quarter
+ , subq_14.metric_time__extract_month
+ , subq_14.metric_time__extract_day
+ , subq_14.metric_time__extract_dow
+ , subq_14.metric_time__extract_doy
+ , subq_14.listing
+ , subq_14.user
+ , subq_14.view__listing
+ , subq_14.view__user
+ , subq_14.listing__is_lux_latest
+ , subq_14.listing__capacity_latest
+ , subq_14.views
FROM (
-- Join Standard Outputs
SELECT
- subq_34.is_lux_latest AS listing__is_lux_latest
- , subq_34.capacity_latest AS listing__capacity_latest
- , subq_31.ds__day AS ds__day
- , subq_31.ds__week AS ds__week
- , subq_31.ds__month AS ds__month
- , subq_31.ds__quarter AS ds__quarter
- , subq_31.ds__year AS ds__year
- , subq_31.ds__extract_year AS ds__extract_year
- , subq_31.ds__extract_quarter AS ds__extract_quarter
- , subq_31.ds__extract_month AS ds__extract_month
- , subq_31.ds__extract_day AS ds__extract_day
- , subq_31.ds__extract_dow AS ds__extract_dow
- , subq_31.ds__extract_doy AS ds__extract_doy
- , subq_31.ds_partitioned__day AS ds_partitioned__day
- , subq_31.ds_partitioned__week AS ds_partitioned__week
- , subq_31.ds_partitioned__month AS ds_partitioned__month
- , subq_31.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_31.ds_partitioned__year AS ds_partitioned__year
- , subq_31.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_31.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_31.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_31.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_31.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_31.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_31.view__ds__day AS view__ds__day
- , subq_31.view__ds__week AS view__ds__week
- , subq_31.view__ds__month AS view__ds__month
- , subq_31.view__ds__quarter AS view__ds__quarter
- , subq_31.view__ds__year AS view__ds__year
- , subq_31.view__ds__extract_year AS view__ds__extract_year
- , subq_31.view__ds__extract_quarter AS view__ds__extract_quarter
- , subq_31.view__ds__extract_month AS view__ds__extract_month
- , subq_31.view__ds__extract_day AS view__ds__extract_day
- , subq_31.view__ds__extract_dow AS view__ds__extract_dow
- , subq_31.view__ds__extract_doy AS view__ds__extract_doy
- , subq_31.view__ds_partitioned__day AS view__ds_partitioned__day
- , subq_31.view__ds_partitioned__week AS view__ds_partitioned__week
- , subq_31.view__ds_partitioned__month AS view__ds_partitioned__month
- , subq_31.view__ds_partitioned__quarter AS view__ds_partitioned__quarter
- , subq_31.view__ds_partitioned__year AS view__ds_partitioned__year
- , subq_31.view__ds_partitioned__extract_year AS view__ds_partitioned__extract_year
- , subq_31.view__ds_partitioned__extract_quarter AS view__ds_partitioned__extract_quarter
- , subq_31.view__ds_partitioned__extract_month AS view__ds_partitioned__extract_month
- , subq_31.view__ds_partitioned__extract_day AS view__ds_partitioned__extract_day
- , subq_31.view__ds_partitioned__extract_dow AS view__ds_partitioned__extract_dow
- , subq_31.view__ds_partitioned__extract_doy AS view__ds_partitioned__extract_doy
- , subq_31.metric_time__day AS metric_time__day
- , subq_31.metric_time__week AS metric_time__week
- , subq_31.metric_time__month AS metric_time__month
- , subq_31.metric_time__quarter AS metric_time__quarter
- , subq_31.metric_time__year AS metric_time__year
- , subq_31.metric_time__extract_year AS metric_time__extract_year
- , subq_31.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_31.metric_time__extract_month AS metric_time__extract_month
- , subq_31.metric_time__extract_day AS metric_time__extract_day
- , subq_31.metric_time__extract_dow AS metric_time__extract_dow
- , subq_31.metric_time__extract_doy AS metric_time__extract_doy
- , subq_31.listing AS listing
- , subq_31.user AS user
- , subq_31.view__listing AS view__listing
- , subq_31.view__user AS view__user
- , subq_31.views AS views
+ subq_13.is_lux_latest AS listing__is_lux_latest
+ , subq_13.capacity_latest AS listing__capacity_latest
+ , subq_11.ds__day AS ds__day
+ , subq_11.ds__week AS ds__week
+ , subq_11.ds__month AS ds__month
+ , subq_11.ds__quarter AS ds__quarter
+ , subq_11.ds__year AS ds__year
+ , subq_11.ds__extract_year AS ds__extract_year
+ , subq_11.ds__extract_quarter AS ds__extract_quarter
+ , subq_11.ds__extract_month AS ds__extract_month
+ , subq_11.ds__extract_day AS ds__extract_day
+ , subq_11.ds__extract_dow AS ds__extract_dow
+ , subq_11.ds__extract_doy AS ds__extract_doy
+ , subq_11.ds_partitioned__day AS ds_partitioned__day
+ , subq_11.ds_partitioned__week AS ds_partitioned__week
+ , subq_11.ds_partitioned__month AS ds_partitioned__month
+ , subq_11.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_11.ds_partitioned__year AS ds_partitioned__year
+ , subq_11.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_11.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_11.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_11.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_11.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_11.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_11.view__ds__day AS view__ds__day
+ , subq_11.view__ds__week AS view__ds__week
+ , subq_11.view__ds__month AS view__ds__month
+ , subq_11.view__ds__quarter AS view__ds__quarter
+ , subq_11.view__ds__year AS view__ds__year
+ , subq_11.view__ds__extract_year AS view__ds__extract_year
+ , subq_11.view__ds__extract_quarter AS view__ds__extract_quarter
+ , subq_11.view__ds__extract_month AS view__ds__extract_month
+ , subq_11.view__ds__extract_day AS view__ds__extract_day
+ , subq_11.view__ds__extract_dow AS view__ds__extract_dow
+ , subq_11.view__ds__extract_doy AS view__ds__extract_doy
+ , subq_11.view__ds_partitioned__day AS view__ds_partitioned__day
+ , subq_11.view__ds_partitioned__week AS view__ds_partitioned__week
+ , subq_11.view__ds_partitioned__month AS view__ds_partitioned__month
+ , subq_11.view__ds_partitioned__quarter AS view__ds_partitioned__quarter
+ , subq_11.view__ds_partitioned__year AS view__ds_partitioned__year
+ , subq_11.view__ds_partitioned__extract_year AS view__ds_partitioned__extract_year
+ , subq_11.view__ds_partitioned__extract_quarter AS view__ds_partitioned__extract_quarter
+ , subq_11.view__ds_partitioned__extract_month AS view__ds_partitioned__extract_month
+ , subq_11.view__ds_partitioned__extract_day AS view__ds_partitioned__extract_day
+ , subq_11.view__ds_partitioned__extract_dow AS view__ds_partitioned__extract_dow
+ , subq_11.view__ds_partitioned__extract_doy AS view__ds_partitioned__extract_doy
+ , subq_11.metric_time__day AS metric_time__day
+ , subq_11.metric_time__week AS metric_time__week
+ , subq_11.metric_time__month AS metric_time__month
+ , subq_11.metric_time__quarter AS metric_time__quarter
+ , subq_11.metric_time__year AS metric_time__year
+ , subq_11.metric_time__extract_year AS metric_time__extract_year
+ , subq_11.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_11.metric_time__extract_month AS metric_time__extract_month
+ , subq_11.metric_time__extract_day AS metric_time__extract_day
+ , subq_11.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_11.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_11.listing AS listing
+ , subq_11.user AS user
+ , subq_11.view__listing AS view__listing
+ , subq_11.view__user AS view__user
+ , subq_11.views AS views
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_30.ds__day
- , subq_30.ds__week
- , subq_30.ds__month
- , subq_30.ds__quarter
- , subq_30.ds__year
- , subq_30.ds__extract_year
- , subq_30.ds__extract_quarter
- , subq_30.ds__extract_month
- , subq_30.ds__extract_day
- , subq_30.ds__extract_dow
- , subq_30.ds__extract_doy
- , subq_30.ds_partitioned__day
- , subq_30.ds_partitioned__week
- , subq_30.ds_partitioned__month
- , subq_30.ds_partitioned__quarter
- , subq_30.ds_partitioned__year
- , subq_30.ds_partitioned__extract_year
- , subq_30.ds_partitioned__extract_quarter
- , subq_30.ds_partitioned__extract_month
- , subq_30.ds_partitioned__extract_day
- , subq_30.ds_partitioned__extract_dow
- , subq_30.ds_partitioned__extract_doy
- , subq_30.view__ds__day
- , subq_30.view__ds__week
- , subq_30.view__ds__month
- , subq_30.view__ds__quarter
- , subq_30.view__ds__year
- , subq_30.view__ds__extract_year
- , subq_30.view__ds__extract_quarter
- , subq_30.view__ds__extract_month
- , subq_30.view__ds__extract_day
- , subq_30.view__ds__extract_dow
- , subq_30.view__ds__extract_doy
- , subq_30.view__ds_partitioned__day
- , subq_30.view__ds_partitioned__week
- , subq_30.view__ds_partitioned__month
- , subq_30.view__ds_partitioned__quarter
- , subq_30.view__ds_partitioned__year
- , subq_30.view__ds_partitioned__extract_year
- , subq_30.view__ds_partitioned__extract_quarter
- , subq_30.view__ds_partitioned__extract_month
- , subq_30.view__ds_partitioned__extract_day
- , subq_30.view__ds_partitioned__extract_dow
- , subq_30.view__ds_partitioned__extract_doy
- , subq_30.ds__day AS metric_time__day
- , subq_30.ds__week AS metric_time__week
- , subq_30.ds__month AS metric_time__month
- , subq_30.ds__quarter AS metric_time__quarter
- , subq_30.ds__year AS metric_time__year
- , subq_30.ds__extract_year AS metric_time__extract_year
- , subq_30.ds__extract_quarter AS metric_time__extract_quarter
- , subq_30.ds__extract_month AS metric_time__extract_month
- , subq_30.ds__extract_day AS metric_time__extract_day
- , subq_30.ds__extract_dow AS metric_time__extract_dow
- , subq_30.ds__extract_doy AS metric_time__extract_doy
- , subq_30.listing
- , subq_30.user
- , subq_30.view__listing
- , subq_30.view__user
- , subq_30.views
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_partitioned__day
+ , subq_10.ds_partitioned__week
+ , subq_10.ds_partitioned__month
+ , subq_10.ds_partitioned__quarter
+ , subq_10.ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy
+ , subq_10.view__ds__day
+ , subq_10.view__ds__week
+ , subq_10.view__ds__month
+ , subq_10.view__ds__quarter
+ , subq_10.view__ds__year
+ , subq_10.view__ds__extract_year
+ , subq_10.view__ds__extract_quarter
+ , subq_10.view__ds__extract_month
+ , subq_10.view__ds__extract_day
+ , subq_10.view__ds__extract_dow
+ , subq_10.view__ds__extract_doy
+ , subq_10.view__ds_partitioned__day
+ , subq_10.view__ds_partitioned__week
+ , subq_10.view__ds_partitioned__month
+ , subq_10.view__ds_partitioned__quarter
+ , subq_10.view__ds_partitioned__year
+ , subq_10.view__ds_partitioned__extract_year
+ , subq_10.view__ds_partitioned__extract_quarter
+ , subq_10.view__ds_partitioned__extract_month
+ , subq_10.view__ds_partitioned__extract_day
+ , subq_10.view__ds_partitioned__extract_dow
+ , subq_10.view__ds_partitioned__extract_doy
+ , subq_10.ds__day AS metric_time__day
+ , subq_10.ds__week AS metric_time__week
+ , subq_10.ds__month AS metric_time__month
+ , subq_10.ds__quarter AS metric_time__quarter
+ , subq_10.ds__year AS metric_time__year
+ , subq_10.ds__extract_year AS metric_time__extract_year
+ , subq_10.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_10.ds__extract_month AS metric_time__extract_month
+ , subq_10.ds__extract_day AS metric_time__extract_day
+ , subq_10.ds__extract_dow AS metric_time__extract_dow
+ , subq_10.ds__extract_doy AS metric_time__extract_doy
+ , subq_10.listing
+ , subq_10.user
+ , subq_10.view__listing
+ , subq_10.view__user
+ , subq_10.views
FROM (
-- Read Elements From Semantic Model 'views_source'
SELECT
@@ -1828,84 +1828,84 @@ FULL OUTER JOIN (
, views_source_src_28000.listing_id AS view__listing
, views_source_src_28000.user_id AS view__user
FROM ***************************.fct_views views_source_src_28000
- ) subq_30
- ) subq_31
+ ) subq_10
+ ) subq_11
LEFT OUTER JOIN (
-- Pass Only Elements: ['capacity_latest', 'is_lux_latest', 'listing']
SELECT
- subq_33.listing
- , subq_33.is_lux_latest
- , subq_33.capacity_latest
+ subq_12.listing
+ , subq_12.is_lux_latest
+ , subq_12.capacity_latest
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_32.ds__day
- , subq_32.ds__week
- , subq_32.ds__month
- , subq_32.ds__quarter
- , subq_32.ds__year
- , subq_32.ds__extract_year
- , subq_32.ds__extract_quarter
- , subq_32.ds__extract_month
- , subq_32.ds__extract_day
- , subq_32.ds__extract_dow
- , subq_32.ds__extract_doy
- , subq_32.created_at__day
- , subq_32.created_at__week
- , subq_32.created_at__month
- , subq_32.created_at__quarter
- , subq_32.created_at__year
- , subq_32.created_at__extract_year
- , subq_32.created_at__extract_quarter
- , subq_32.created_at__extract_month
- , subq_32.created_at__extract_day
- , subq_32.created_at__extract_dow
- , subq_32.created_at__extract_doy
- , subq_32.listing__ds__day
- , subq_32.listing__ds__week
- , subq_32.listing__ds__month
- , subq_32.listing__ds__quarter
- , subq_32.listing__ds__year
- , subq_32.listing__ds__extract_year
- , subq_32.listing__ds__extract_quarter
- , subq_32.listing__ds__extract_month
- , subq_32.listing__ds__extract_day
- , subq_32.listing__ds__extract_dow
- , subq_32.listing__ds__extract_doy
- , subq_32.listing__created_at__day
- , subq_32.listing__created_at__week
- , subq_32.listing__created_at__month
- , subq_32.listing__created_at__quarter
- , subq_32.listing__created_at__year
- , subq_32.listing__created_at__extract_year
- , subq_32.listing__created_at__extract_quarter
- , subq_32.listing__created_at__extract_month
- , subq_32.listing__created_at__extract_day
- , subq_32.listing__created_at__extract_dow
- , subq_32.listing__created_at__extract_doy
- , subq_32.ds__day AS metric_time__day
- , subq_32.ds__week AS metric_time__week
- , subq_32.ds__month AS metric_time__month
- , subq_32.ds__quarter AS metric_time__quarter
- , subq_32.ds__year AS metric_time__year
- , subq_32.ds__extract_year AS metric_time__extract_year
- , subq_32.ds__extract_quarter AS metric_time__extract_quarter
- , subq_32.ds__extract_month AS metric_time__extract_month
- , subq_32.ds__extract_day AS metric_time__extract_day
- , subq_32.ds__extract_dow AS metric_time__extract_dow
- , subq_32.ds__extract_doy AS metric_time__extract_doy
- , subq_32.listing
- , subq_32.user
- , subq_32.listing__user
- , subq_32.country_latest
- , subq_32.is_lux_latest
- , subq_32.capacity_latest
- , subq_32.listing__country_latest
- , subq_32.listing__is_lux_latest
- , subq_32.listing__capacity_latest
- , subq_32.listings
- , subq_32.largest_listing
- , subq_32.smallest_listing
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.listing__ds__day
+ , subq_2.listing__ds__week
+ , subq_2.listing__ds__month
+ , subq_2.listing__ds__quarter
+ , subq_2.listing__ds__year
+ , subq_2.listing__ds__extract_year
+ , subq_2.listing__ds__extract_quarter
+ , subq_2.listing__ds__extract_month
+ , subq_2.listing__ds__extract_day
+ , subq_2.listing__ds__extract_dow
+ , subq_2.listing__ds__extract_doy
+ , subq_2.listing__created_at__day
+ , subq_2.listing__created_at__week
+ , subq_2.listing__created_at__month
+ , subq_2.listing__created_at__quarter
+ , subq_2.listing__created_at__year
+ , subq_2.listing__created_at__extract_year
+ , subq_2.listing__created_at__extract_quarter
+ , subq_2.listing__created_at__extract_month
+ , subq_2.listing__created_at__extract_day
+ , subq_2.listing__created_at__extract_dow
+ , subq_2.listing__created_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.user
+ , subq_2.listing__user
+ , subq_2.country_latest
+ , subq_2.is_lux_latest
+ , subq_2.capacity_latest
+ , subq_2.listing__country_latest
+ , subq_2.listing__is_lux_latest
+ , subq_2.listing__capacity_latest
+ , subq_2.listings
+ , subq_2.largest_listing
+ , subq_2.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -1966,26 +1966,26 @@ FULL OUTER JOIN (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_32
- ) subq_33
- ) subq_34
+ ) subq_2
+ ) subq_12
+ ) subq_13
ON
- subq_31.listing = subq_34.listing
- ) subq_35
+ subq_11.listing = subq_13.listing
+ ) subq_14
WHERE (listing__is_lux_latest) AND (metric_time__day >= '2020-01-02')
- ) subq_36
- ) subq_37
+ ) subq_15
+ ) subq_16
GROUP BY
- subq_37.listing__capacity_latest
- ) subq_38
- ) subq_39
+ subq_16.listing__capacity_latest
+ ) subq_17
+ ) subq_20
ON
- subq_29.listing__capacity_latest = subq_39.listing__capacity_latest
+ subq_19.listing__capacity_latest = subq_20.listing__capacity_latest
GROUP BY
- COALESCE(subq_29.listing__capacity_latest, subq_39.listing__capacity_latest)
- ) subq_40
-) subq_41
+ COALESCE(subq_19.listing__capacity_latest, subq_20.listing__capacity_latest)
+ ) subq_21
+) subq_22
ON
- COALESCE(subq_9.listing__capacity_latest, subq_19.listing__capacity_latest) = subq_41.listing__capacity_latest
+ COALESCE(subq_9.listing__capacity_latest, subq_18.listing__capacity_latest) = subq_22.listing__capacity_latest
GROUP BY
- COALESCE(subq_9.listing__capacity_latest, subq_19.listing__capacity_latest, subq_41.listing__capacity_latest)
+ COALESCE(subq_9.listing__capacity_latest, subq_18.listing__capacity_latest, subq_22.listing__capacity_latest)
diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_saved_query_with_metric_joins_and_filter__plan0_optimized.sql b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_saved_query_with_metric_joins_and_filter__plan0_optimized.sql
index 034a5c4068..894ac9d1a0 100644
--- a/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_saved_query_with_metric_joins_and_filter__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_predicate_pushdown_rendering.py/SqlPlan/DuckDB/test_saved_query_with_metric_joins_and_filter__plan0_optimized.sql
@@ -20,8 +20,8 @@ WITH cm_6_cte AS (
SELECT
listings_latest_src_28000.is_lux AS listing__is_lux_latest
, listings_latest_src_28000.capacity AS listing__capacity_latest
- , subq_43.metric_time__day AS metric_time__day
- , subq_43.bookings AS bookings
+ , subq_24.metric_time__day AS metric_time__day
+ , subq_24.bookings AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -30,12 +30,12 @@ WITH cm_6_cte AS (
, listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_43
+ ) subq_24
LEFT OUTER JOIN
***************************.dim_listings_latest listings_latest_src_28000
ON
- subq_43.listing = listings_latest_src_28000.listing_id
- ) subq_47
+ subq_24.listing = listings_latest_src_28000.listing_id
+ ) subq_28
WHERE (listing__is_lux_latest) AND (metric_time__day >= '2020-01-02')
GROUP BY
listing__capacity_latest
@@ -54,8 +54,8 @@ WITH cm_6_cte AS (
SELECT
listings_latest_src_28000.is_lux AS listing__is_lux_latest
, listings_latest_src_28000.capacity AS listing__capacity_latest
- , subq_53.metric_time__day AS metric_time__day
- , subq_53.views AS views
+ , subq_34.metric_time__day AS metric_time__day
+ , subq_34.views AS views
FROM (
-- Read Elements From Semantic Model 'views_source'
-- Metric Time Dimension 'ds'
@@ -64,22 +64,22 @@ WITH cm_6_cte AS (
, listing_id AS listing
, 1 AS views
FROM ***************************.fct_views views_source_src_28000
- ) subq_53
+ ) subq_34
LEFT OUTER JOIN
***************************.dim_listings_latest listings_latest_src_28000
ON
- subq_53.listing = listings_latest_src_28000.listing_id
- ) subq_57
+ subq_34.listing = listings_latest_src_28000.listing_id
+ ) subq_37
WHERE (listing__is_lux_latest) AND (metric_time__day >= '2020-01-02')
GROUP BY
listing__capacity_latest
)
SELECT
- COALESCE(cm_6_cte.listing__capacity_latest, cm_7_cte.listing__capacity_latest, subq_64.listing__capacity_latest) AS listing__capacity_latest
+ COALESCE(cm_6_cte.listing__capacity_latest, cm_7_cte.listing__capacity_latest, subq_44.listing__capacity_latest) AS listing__capacity_latest
, MAX(cm_6_cte.bookings) AS bookings
, MAX(cm_7_cte.views) AS views
- , MAX(CAST(subq_64.bookings AS DOUBLE) / CAST(NULLIF(subq_64.views, 0) AS DOUBLE)) AS bookings_per_view
+ , MAX(CAST(subq_44.bookings AS DOUBLE) / CAST(NULLIF(subq_44.views, 0) AS DOUBLE)) AS bookings_per_view
FROM cm_6_cte cm_6_cte
FULL OUTER JOIN
cm_7_cte cm_7_cte
@@ -98,8 +98,8 @@ FULL OUTER JOIN (
cm_6_cte.listing__capacity_latest = cm_7_cte.listing__capacity_latest
GROUP BY
COALESCE(cm_6_cte.listing__capacity_latest, cm_7_cte.listing__capacity_latest)
-) subq_64
+) subq_44
ON
- COALESCE(cm_6_cte.listing__capacity_latest, cm_7_cte.listing__capacity_latest) = subq_64.listing__capacity_latest
+ COALESCE(cm_6_cte.listing__capacity_latest, cm_7_cte.listing__capacity_latest) = subq_44.listing__capacity_latest
GROUP BY
- COALESCE(cm_6_cte.listing__capacity_latest, cm_7_cte.listing__capacity_latest, subq_64.listing__capacity_latest)
+ COALESCE(cm_6_cte.listing__capacity_latest, cm_7_cte.listing__capacity_latest, subq_44.listing__capacity_latest)
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_common_semantic_model__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_common_semantic_model__plan0.sql
index 045ddc00c0..ea15c6e5c7 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_common_semantic_model__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_common_semantic_model__plan0.sql
@@ -4,9 +4,9 @@ sql_engine: DuckDB
---
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_4.metric_time__day, subq_9.metric_time__day) AS metric_time__day
+ COALESCE(subq_4.metric_time__day, subq_8.metric_time__day) AS metric_time__day
, MAX(subq_4.bookings) AS bookings
- , MAX(subq_9.booking_value) AS booking_value
+ , MAX(subq_8.booking_value) AS booking_value
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -225,119 +225,119 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_8.metric_time__day
- , subq_8.booking_value
+ subq_7.metric_time__day
+ , subq_7.booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_7.metric_time__day
- , SUM(subq_7.booking_value) AS booking_value
+ subq_6.metric_time__day
+ , SUM(subq_6.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value', 'metric_time__day']
SELECT
- subq_6.metric_time__day
- , subq_6.booking_value
+ subq_5.metric_time__day
+ , subq_5.booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_5.ds__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.paid_at__day
- , subq_5.paid_at__week
- , subq_5.paid_at__month
- , subq_5.paid_at__quarter
- , subq_5.paid_at__year
- , subq_5.paid_at__extract_year
- , subq_5.paid_at__extract_quarter
- , subq_5.paid_at__extract_month
- , subq_5.paid_at__extract_day
- , subq_5.paid_at__extract_dow
- , subq_5.paid_at__extract_doy
- , subq_5.booking__ds__day
- , subq_5.booking__ds__week
- , subq_5.booking__ds__month
- , subq_5.booking__ds__quarter
- , subq_5.booking__ds__year
- , subq_5.booking__ds__extract_year
- , subq_5.booking__ds__extract_quarter
- , subq_5.booking__ds__extract_month
- , subq_5.booking__ds__extract_day
- , subq_5.booking__ds__extract_dow
- , subq_5.booking__ds__extract_doy
- , subq_5.booking__ds_partitioned__day
- , subq_5.booking__ds_partitioned__week
- , subq_5.booking__ds_partitioned__month
- , subq_5.booking__ds_partitioned__quarter
- , subq_5.booking__ds_partitioned__year
- , subq_5.booking__ds_partitioned__extract_year
- , subq_5.booking__ds_partitioned__extract_quarter
- , subq_5.booking__ds_partitioned__extract_month
- , subq_5.booking__ds_partitioned__extract_day
- , subq_5.booking__ds_partitioned__extract_dow
- , subq_5.booking__ds_partitioned__extract_doy
- , subq_5.booking__paid_at__day
- , subq_5.booking__paid_at__week
- , subq_5.booking__paid_at__month
- , subq_5.booking__paid_at__quarter
- , subq_5.booking__paid_at__year
- , subq_5.booking__paid_at__extract_year
- , subq_5.booking__paid_at__extract_quarter
- , subq_5.booking__paid_at__extract_month
- , subq_5.booking__paid_at__extract_day
- , subq_5.booking__paid_at__extract_dow
- , subq_5.booking__paid_at__extract_doy
- , subq_5.ds__day AS metric_time__day
- , subq_5.ds__week AS metric_time__week
- , subq_5.ds__month AS metric_time__month
- , subq_5.ds__quarter AS metric_time__quarter
- , subq_5.ds__year AS metric_time__year
- , subq_5.ds__extract_year AS metric_time__extract_year
- , subq_5.ds__extract_quarter AS metric_time__extract_quarter
- , subq_5.ds__extract_month AS metric_time__extract_month
- , subq_5.ds__extract_day AS metric_time__extract_day
- , subq_5.ds__extract_dow AS metric_time__extract_dow
- , subq_5.ds__extract_doy AS metric_time__extract_doy
- , subq_5.listing
- , subq_5.guest
- , subq_5.host
- , subq_5.booking__listing
- , subq_5.booking__guest
- , subq_5.booking__host
- , subq_5.is_instant
- , subq_5.booking__is_instant
- , subq_5.bookings
- , subq_5.instant_bookings
- , subq_5.booking_value
- , subq_5.max_booking_value
- , subq_5.min_booking_value
- , subq_5.bookers
- , subq_5.average_booking_value
- , subq_5.referred_bookings
- , subq_5.median_booking_value
- , subq_5.booking_value_p99
- , subq_5.discrete_booking_value_p99
- , subq_5.approximate_continuous_booking_value_p99
- , subq_5.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -430,14 +430,14 @@ FULL OUTER JOIN (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_5
- ) subq_6
- ) subq_7
+ ) subq_0
+ ) subq_5
+ ) subq_6
GROUP BY
- subq_7.metric_time__day
- ) subq_8
-) subq_9
+ subq_6.metric_time__day
+ ) subq_7
+) subq_8
ON
- subq_4.metric_time__day = subq_9.metric_time__day
+ subq_4.metric_time__day = subq_8.metric_time__day
GROUP BY
- COALESCE(subq_4.metric_time__day, subq_9.metric_time__day)
+ COALESCE(subq_4.metric_time__day, subq_8.metric_time__day)
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_common_semantic_model__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_common_semantic_model__plan0_optimized.sql
index 45b37d911d..0b59dd05e6 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_common_semantic_model__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_common_semantic_model__plan0_optimized.sql
@@ -17,6 +17,6 @@ FROM (
, 1 AS bookings
, booking_value
FROM ***************************.fct_bookings bookings_source_src_28000
-) subq_12
+) subq_11
GROUP BY
metric_time__day
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_derived_metric_alias__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_derived_metric_alias__plan0.sql
index 36e6e22ea1..c0f7245b13 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_derived_metric_alias__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_derived_metric_alias__plan0.sql
@@ -6,338 +6,338 @@ sql_engine: DuckDB
---
-- Change Column Aliases
SELECT
- subq_15.metric_time__day
- , subq_15.booking_fees AS bookings_alias
+ subq_18.metric_time__day
+ , subq_18.booking_fees AS bookings_alias
FROM (
-- Order By ['booking_fees']
SELECT
- subq_14.metric_time__day
- , subq_14.booking_fees
+ subq_17.metric_time__day
+ , subq_17.booking_fees
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_13.metric_time__day
+ subq_16.metric_time__day
, booking_value * 0.05 AS booking_fees
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_12.metric_time__day
- , subq_12.booking_value
+ subq_15.metric_time__day
+ , subq_15.booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_11.metric_time__day
- , SUM(subq_11.booking_value) AS booking_value
+ subq_14.metric_time__day
+ , SUM(subq_14.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value', 'metric_time__day']
SELECT
- subq_10.metric_time__day
- , subq_10.booking_value
+ subq_13.metric_time__day
+ , subq_13.booking_value
FROM (
-- Constrain Output with WHERE
SELECT
- subq_9.ds__day
- , subq_9.ds__week
- , subq_9.ds__month
- , subq_9.ds__quarter
- , subq_9.ds__year
- , subq_9.ds__extract_year
- , subq_9.ds__extract_quarter
- , subq_9.ds__extract_month
- , subq_9.ds__extract_day
- , subq_9.ds__extract_dow
- , subq_9.ds__extract_doy
- , subq_9.ds_partitioned__day
- , subq_9.ds_partitioned__week
- , subq_9.ds_partitioned__month
- , subq_9.ds_partitioned__quarter
- , subq_9.ds_partitioned__year
- , subq_9.ds_partitioned__extract_year
- , subq_9.ds_partitioned__extract_quarter
- , subq_9.ds_partitioned__extract_month
- , subq_9.ds_partitioned__extract_day
- , subq_9.ds_partitioned__extract_dow
- , subq_9.ds_partitioned__extract_doy
- , subq_9.paid_at__day
- , subq_9.paid_at__week
- , subq_9.paid_at__month
- , subq_9.paid_at__quarter
- , subq_9.paid_at__year
- , subq_9.paid_at__extract_year
- , subq_9.paid_at__extract_quarter
- , subq_9.paid_at__extract_month
- , subq_9.paid_at__extract_day
- , subq_9.paid_at__extract_dow
- , subq_9.paid_at__extract_doy
- , subq_9.booking__ds__day
- , subq_9.booking__ds__week
- , subq_9.booking__ds__month
- , subq_9.booking__ds__quarter
- , subq_9.booking__ds__year
- , subq_9.booking__ds__extract_year
- , subq_9.booking__ds__extract_quarter
- , subq_9.booking__ds__extract_month
- , subq_9.booking__ds__extract_day
- , subq_9.booking__ds__extract_dow
- , subq_9.booking__ds__extract_doy
- , subq_9.booking__ds_partitioned__day
- , subq_9.booking__ds_partitioned__week
- , subq_9.booking__ds_partitioned__month
- , subq_9.booking__ds_partitioned__quarter
- , subq_9.booking__ds_partitioned__year
- , subq_9.booking__ds_partitioned__extract_year
- , subq_9.booking__ds_partitioned__extract_quarter
- , subq_9.booking__ds_partitioned__extract_month
- , subq_9.booking__ds_partitioned__extract_day
- , subq_9.booking__ds_partitioned__extract_dow
- , subq_9.booking__ds_partitioned__extract_doy
- , subq_9.booking__paid_at__day
- , subq_9.booking__paid_at__week
- , subq_9.booking__paid_at__month
- , subq_9.booking__paid_at__quarter
- , subq_9.booking__paid_at__year
- , subq_9.booking__paid_at__extract_year
- , subq_9.booking__paid_at__extract_quarter
- , subq_9.booking__paid_at__extract_month
- , subq_9.booking__paid_at__extract_day
- , subq_9.booking__paid_at__extract_dow
- , subq_9.booking__paid_at__extract_doy
- , subq_9.metric_time__day
- , subq_9.metric_time__week
- , subq_9.metric_time__month
- , subq_9.metric_time__quarter
- , subq_9.metric_time__year
- , subq_9.metric_time__extract_year
- , subq_9.metric_time__extract_quarter
- , subq_9.metric_time__extract_month
- , subq_9.metric_time__extract_day
- , subq_9.metric_time__extract_dow
- , subq_9.metric_time__extract_doy
- , subq_9.listing
- , subq_9.guest
- , subq_9.host
- , subq_9.booking__listing
- , subq_9.booking__guest
- , subq_9.booking__host
- , subq_9.is_instant
- , subq_9.booking__is_instant
- , subq_9.listing__booking_fees
- , subq_9.bookings
- , subq_9.instant_bookings
- , subq_9.booking_value
- , subq_9.max_booking_value
- , subq_9.min_booking_value
- , subq_9.bookers
- , subq_9.average_booking_value
- , subq_9.referred_bookings
- , subq_9.median_booking_value
- , subq_9.booking_value_p99
- , subq_9.discrete_booking_value_p99
- , subq_9.approximate_continuous_booking_value_p99
- , subq_9.approximate_discrete_booking_value_p99
+ subq_12.ds__day
+ , subq_12.ds__week
+ , subq_12.ds__month
+ , subq_12.ds__quarter
+ , subq_12.ds__year
+ , subq_12.ds__extract_year
+ , subq_12.ds__extract_quarter
+ , subq_12.ds__extract_month
+ , subq_12.ds__extract_day
+ , subq_12.ds__extract_dow
+ , subq_12.ds__extract_doy
+ , subq_12.ds_partitioned__day
+ , subq_12.ds_partitioned__week
+ , subq_12.ds_partitioned__month
+ , subq_12.ds_partitioned__quarter
+ , subq_12.ds_partitioned__year
+ , subq_12.ds_partitioned__extract_year
+ , subq_12.ds_partitioned__extract_quarter
+ , subq_12.ds_partitioned__extract_month
+ , subq_12.ds_partitioned__extract_day
+ , subq_12.ds_partitioned__extract_dow
+ , subq_12.ds_partitioned__extract_doy
+ , subq_12.paid_at__day
+ , subq_12.paid_at__week
+ , subq_12.paid_at__month
+ , subq_12.paid_at__quarter
+ , subq_12.paid_at__year
+ , subq_12.paid_at__extract_year
+ , subq_12.paid_at__extract_quarter
+ , subq_12.paid_at__extract_month
+ , subq_12.paid_at__extract_day
+ , subq_12.paid_at__extract_dow
+ , subq_12.paid_at__extract_doy
+ , subq_12.booking__ds__day
+ , subq_12.booking__ds__week
+ , subq_12.booking__ds__month
+ , subq_12.booking__ds__quarter
+ , subq_12.booking__ds__year
+ , subq_12.booking__ds__extract_year
+ , subq_12.booking__ds__extract_quarter
+ , subq_12.booking__ds__extract_month
+ , subq_12.booking__ds__extract_day
+ , subq_12.booking__ds__extract_dow
+ , subq_12.booking__ds__extract_doy
+ , subq_12.booking__ds_partitioned__day
+ , subq_12.booking__ds_partitioned__week
+ , subq_12.booking__ds_partitioned__month
+ , subq_12.booking__ds_partitioned__quarter
+ , subq_12.booking__ds_partitioned__year
+ , subq_12.booking__ds_partitioned__extract_year
+ , subq_12.booking__ds_partitioned__extract_quarter
+ , subq_12.booking__ds_partitioned__extract_month
+ , subq_12.booking__ds_partitioned__extract_day
+ , subq_12.booking__ds_partitioned__extract_dow
+ , subq_12.booking__ds_partitioned__extract_doy
+ , subq_12.booking__paid_at__day
+ , subq_12.booking__paid_at__week
+ , subq_12.booking__paid_at__month
+ , subq_12.booking__paid_at__quarter
+ , subq_12.booking__paid_at__year
+ , subq_12.booking__paid_at__extract_year
+ , subq_12.booking__paid_at__extract_quarter
+ , subq_12.booking__paid_at__extract_month
+ , subq_12.booking__paid_at__extract_day
+ , subq_12.booking__paid_at__extract_dow
+ , subq_12.booking__paid_at__extract_doy
+ , subq_12.metric_time__day
+ , subq_12.metric_time__week
+ , subq_12.metric_time__month
+ , subq_12.metric_time__quarter
+ , subq_12.metric_time__year
+ , subq_12.metric_time__extract_year
+ , subq_12.metric_time__extract_quarter
+ , subq_12.metric_time__extract_month
+ , subq_12.metric_time__extract_day
+ , subq_12.metric_time__extract_dow
+ , subq_12.metric_time__extract_doy
+ , subq_12.listing
+ , subq_12.guest
+ , subq_12.host
+ , subq_12.booking__listing
+ , subq_12.booking__guest
+ , subq_12.booking__host
+ , subq_12.is_instant
+ , subq_12.booking__is_instant
+ , subq_12.listing__booking_fees
+ , subq_12.bookings
+ , subq_12.instant_bookings
+ , subq_12.booking_value
+ , subq_12.max_booking_value
+ , subq_12.min_booking_value
+ , subq_12.bookers
+ , subq_12.average_booking_value
+ , subq_12.referred_bookings
+ , subq_12.median_booking_value
+ , subq_12.booking_value_p99
+ , subq_12.discrete_booking_value_p99
+ , subq_12.approximate_continuous_booking_value_p99
+ , subq_12.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_8.listing__booking_fees AS listing__booking_fees
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.max_booking_value AS max_booking_value
- , subq_1.min_booking_value AS min_booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
- , subq_1.referred_bookings AS referred_bookings
- , subq_1.median_booking_value AS median_booking_value
- , subq_1.booking_value_p99 AS booking_value_p99
- , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_11.listing__booking_fees AS listing__booking_fees
+ , subq_5.ds__day AS ds__day
+ , subq_5.ds__week AS ds__week
+ , subq_5.ds__month AS ds__month
+ , subq_5.ds__quarter AS ds__quarter
+ , subq_5.ds__year AS ds__year
+ , subq_5.ds__extract_year AS ds__extract_year
+ , subq_5.ds__extract_quarter AS ds__extract_quarter
+ , subq_5.ds__extract_month AS ds__extract_month
+ , subq_5.ds__extract_day AS ds__extract_day
+ , subq_5.ds__extract_dow AS ds__extract_dow
+ , subq_5.ds__extract_doy AS ds__extract_doy
+ , subq_5.ds_partitioned__day AS ds_partitioned__day
+ , subq_5.ds_partitioned__week AS ds_partitioned__week
+ , subq_5.ds_partitioned__month AS ds_partitioned__month
+ , subq_5.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_5.ds_partitioned__year AS ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_5.paid_at__day AS paid_at__day
+ , subq_5.paid_at__week AS paid_at__week
+ , subq_5.paid_at__month AS paid_at__month
+ , subq_5.paid_at__quarter AS paid_at__quarter
+ , subq_5.paid_at__year AS paid_at__year
+ , subq_5.paid_at__extract_year AS paid_at__extract_year
+ , subq_5.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_5.paid_at__extract_month AS paid_at__extract_month
+ , subq_5.paid_at__extract_day AS paid_at__extract_day
+ , subq_5.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_5.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_5.booking__ds__day AS booking__ds__day
+ , subq_5.booking__ds__week AS booking__ds__week
+ , subq_5.booking__ds__month AS booking__ds__month
+ , subq_5.booking__ds__quarter AS booking__ds__quarter
+ , subq_5.booking__ds__year AS booking__ds__year
+ , subq_5.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_5.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_5.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_5.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_5.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_5.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_5.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_5.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_5.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_5.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_5.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_5.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_5.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_5.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_5.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_5.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_5.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_5.booking__paid_at__day AS booking__paid_at__day
+ , subq_5.booking__paid_at__week AS booking__paid_at__week
+ , subq_5.booking__paid_at__month AS booking__paid_at__month
+ , subq_5.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_5.booking__paid_at__year AS booking__paid_at__year
+ , subq_5.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_5.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_5.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_5.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_5.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_5.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_5.metric_time__day AS metric_time__day
+ , subq_5.metric_time__week AS metric_time__week
+ , subq_5.metric_time__month AS metric_time__month
+ , subq_5.metric_time__quarter AS metric_time__quarter
+ , subq_5.metric_time__year AS metric_time__year
+ , subq_5.metric_time__extract_year AS metric_time__extract_year
+ , subq_5.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_5.metric_time__extract_month AS metric_time__extract_month
+ , subq_5.metric_time__extract_day AS metric_time__extract_day
+ , subq_5.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_5.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.guest AS guest
+ , subq_5.host AS host
+ , subq_5.booking__listing AS booking__listing
+ , subq_5.booking__guest AS booking__guest
+ , subq_5.booking__host AS booking__host
+ , subq_5.is_instant AS is_instant
+ , subq_5.booking__is_instant AS booking__is_instant
+ , subq_5.bookings AS bookings
+ , subq_5.instant_bookings AS instant_bookings
+ , subq_5.booking_value AS booking_value
+ , subq_5.max_booking_value AS max_booking_value
+ , subq_5.min_booking_value AS min_booking_value
+ , subq_5.bookers AS bookers
+ , subq_5.average_booking_value AS average_booking_value
+ , subq_5.referred_bookings AS referred_bookings
+ , subq_5.median_booking_value AS median_booking_value
+ , subq_5.booking_value_p99 AS booking_value_p99
+ , subq_5.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_5.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_5.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_4.ds__day
+ , subq_4.ds__week
+ , subq_4.ds__month
+ , subq_4.ds__quarter
+ , subq_4.ds__year
+ , subq_4.ds__extract_year
+ , subq_4.ds__extract_quarter
+ , subq_4.ds__extract_month
+ , subq_4.ds__extract_day
+ , subq_4.ds__extract_dow
+ , subq_4.ds__extract_doy
+ , subq_4.ds_partitioned__day
+ , subq_4.ds_partitioned__week
+ , subq_4.ds_partitioned__month
+ , subq_4.ds_partitioned__quarter
+ , subq_4.ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy
+ , subq_4.paid_at__day
+ , subq_4.paid_at__week
+ , subq_4.paid_at__month
+ , subq_4.paid_at__quarter
+ , subq_4.paid_at__year
+ , subq_4.paid_at__extract_year
+ , subq_4.paid_at__extract_quarter
+ , subq_4.paid_at__extract_month
+ , subq_4.paid_at__extract_day
+ , subq_4.paid_at__extract_dow
+ , subq_4.paid_at__extract_doy
+ , subq_4.booking__ds__day
+ , subq_4.booking__ds__week
+ , subq_4.booking__ds__month
+ , subq_4.booking__ds__quarter
+ , subq_4.booking__ds__year
+ , subq_4.booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month
+ , subq_4.booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day
+ , subq_4.booking__paid_at__week
+ , subq_4.booking__paid_at__month
+ , subq_4.booking__paid_at__quarter
+ , subq_4.booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy
+ , subq_4.ds__day AS metric_time__day
+ , subq_4.ds__week AS metric_time__week
+ , subq_4.ds__month AS metric_time__month
+ , subq_4.ds__quarter AS metric_time__quarter
+ , subq_4.ds__year AS metric_time__year
+ , subq_4.ds__extract_year AS metric_time__extract_year
+ , subq_4.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_4.ds__extract_month AS metric_time__extract_month
+ , subq_4.ds__extract_day AS metric_time__extract_day
+ , subq_4.ds__extract_dow AS metric_time__extract_dow
+ , subq_4.ds__extract_doy AS metric_time__extract_doy
+ , subq_4.listing
+ , subq_4.guest
+ , subq_4.host
+ , subq_4.booking__listing
+ , subq_4.booking__guest
+ , subq_4.booking__host
+ , subq_4.is_instant
+ , subq_4.booking__is_instant
+ , subq_4.bookings
+ , subq_4.instant_bookings
+ , subq_4.booking_value
+ , subq_4.max_booking_value
+ , subq_4.min_booking_value
+ , subq_4.bookers
+ , subq_4.average_booking_value
+ , subq_4.referred_bookings
+ , subq_4.median_booking_value
+ , subq_4.booking_value_p99
+ , subq_4.discrete_booking_value_p99
+ , subq_4.approximate_continuous_booking_value_p99
+ , subq_4.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -430,134 +430,134 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
+ ) subq_4
+ ) subq_5
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__booking_fees']
SELECT
- subq_7.listing
- , subq_7.listing__booking_fees
+ subq_10.listing
+ , subq_10.listing__booking_fees
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_6.listing
+ subq_9.listing
, booking_value * 0.05 AS listing__booking_fees
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.listing
- , subq_5.booking_value
+ subq_8.listing
+ , subq_8.booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_4.listing
- , SUM(subq_4.booking_value) AS booking_value
+ subq_7.listing
+ , SUM(subq_7.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value', 'listing']
SELECT
- subq_3.listing
- , subq_3.booking_value
+ subq_6.listing
+ , subq_6.booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_4.ds__day
+ , subq_4.ds__week
+ , subq_4.ds__month
+ , subq_4.ds__quarter
+ , subq_4.ds__year
+ , subq_4.ds__extract_year
+ , subq_4.ds__extract_quarter
+ , subq_4.ds__extract_month
+ , subq_4.ds__extract_day
+ , subq_4.ds__extract_dow
+ , subq_4.ds__extract_doy
+ , subq_4.ds_partitioned__day
+ , subq_4.ds_partitioned__week
+ , subq_4.ds_partitioned__month
+ , subq_4.ds_partitioned__quarter
+ , subq_4.ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy
+ , subq_4.paid_at__day
+ , subq_4.paid_at__week
+ , subq_4.paid_at__month
+ , subq_4.paid_at__quarter
+ , subq_4.paid_at__year
+ , subq_4.paid_at__extract_year
+ , subq_4.paid_at__extract_quarter
+ , subq_4.paid_at__extract_month
+ , subq_4.paid_at__extract_day
+ , subq_4.paid_at__extract_dow
+ , subq_4.paid_at__extract_doy
+ , subq_4.booking__ds__day
+ , subq_4.booking__ds__week
+ , subq_4.booking__ds__month
+ , subq_4.booking__ds__quarter
+ , subq_4.booking__ds__year
+ , subq_4.booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month
+ , subq_4.booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day
+ , subq_4.booking__paid_at__week
+ , subq_4.booking__paid_at__month
+ , subq_4.booking__paid_at__quarter
+ , subq_4.booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy
+ , subq_4.ds__day AS metric_time__day
+ , subq_4.ds__week AS metric_time__week
+ , subq_4.ds__month AS metric_time__month
+ , subq_4.ds__quarter AS metric_time__quarter
+ , subq_4.ds__year AS metric_time__year
+ , subq_4.ds__extract_year AS metric_time__extract_year
+ , subq_4.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_4.ds__extract_month AS metric_time__extract_month
+ , subq_4.ds__extract_day AS metric_time__extract_day
+ , subq_4.ds__extract_dow AS metric_time__extract_dow
+ , subq_4.ds__extract_doy AS metric_time__extract_doy
+ , subq_4.listing
+ , subq_4.guest
+ , subq_4.host
+ , subq_4.booking__listing
+ , subq_4.booking__guest
+ , subq_4.booking__host
+ , subq_4.is_instant
+ , subq_4.booking__is_instant
+ , subq_4.bookings
+ , subq_4.instant_bookings
+ , subq_4.booking_value
+ , subq_4.max_booking_value
+ , subq_4.min_booking_value
+ , subq_4.bookers
+ , subq_4.average_booking_value
+ , subq_4.referred_bookings
+ , subq_4.median_booking_value
+ , subq_4.booking_value_p99
+ , subq_4.discrete_booking_value_p99
+ , subq_4.approximate_continuous_booking_value_p99
+ , subq_4.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -650,25 +650,25 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_4
+ ) subq_6
+ ) subq_7
GROUP BY
- subq_4.listing
- ) subq_5
- ) subq_6
- ) subq_7
- ) subq_8
+ subq_7.listing
+ ) subq_8
+ ) subq_9
+ ) subq_10
+ ) subq_11
ON
- subq_1.listing = subq_8.listing
- ) subq_9
+ subq_5.listing = subq_11.listing
+ ) subq_12
WHERE listing__booking_fees > 2
- ) subq_10
- ) subq_11
+ ) subq_13
+ ) subq_14
GROUP BY
- subq_11.metric_time__day
- ) subq_12
- ) subq_13
- ) subq_14
- ORDER BY subq_14.booking_fees
-) subq_15
+ subq_14.metric_time__day
+ ) subq_15
+ ) subq_16
+ ) subq_17
+ ORDER BY subq_17.booking_fees
+) subq_18
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_derived_metric_alias__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_derived_metric_alias__plan0_optimized.sql
index 3ea8233245..a69ae07260 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_derived_metric_alias__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_derived_metric_alias__plan0_optimized.sql
@@ -31,7 +31,7 @@ FROM (
FROM (
-- Join Standard Outputs
SELECT
- subq_23.listing__booking_fees AS listing__booking_fees
+ subq_26.listing__booking_fees AS listing__booking_fees
, sma_28009_cte.metric_time__day AS metric_time__day
, sma_28009_cte.booking_value AS booking_value
FROM sma_28009_cte sma_28009_cte
@@ -52,13 +52,13 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
listing
- ) subq_21
- ) subq_23
+ ) subq_24
+ ) subq_26
ON
- sma_28009_cte.listing = subq_23.listing
- ) subq_24
+ sma_28009_cte.listing = subq_26.listing
+ ) subq_27
WHERE listing__booking_fees > 2
GROUP BY
metric_time__day
-) subq_28
+) subq_31
ORDER BY bookings_alias
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint__plan0.sql
index 575020cf1a..e90c58c3b0 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint__plan0.sql
@@ -4,15 +4,15 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_25.metric_time__day
+ subq_22.metric_time__day
, average_booking_value * bookings / NULLIF(booking_value, 0) AS lux_booking_value_rate_expr
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_9.metric_time__day, subq_19.metric_time__day, subq_24.metric_time__day) AS metric_time__day
+ COALESCE(subq_9.metric_time__day, subq_17.metric_time__day, subq_21.metric_time__day) AS metric_time__day
, MAX(subq_9.average_booking_value) AS average_booking_value
- , MAX(subq_19.bookings) AS bookings
- , MAX(subq_24.booking_value) AS booking_value
+ , MAX(subq_17.bookings) AS bookings
+ , MAX(subq_21.booking_value) AS booking_value
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -578,323 +578,323 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_18.metric_time__day
- , subq_18.bookings
+ subq_16.metric_time__day
+ , subq_16.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_17.metric_time__day
- , SUM(subq_17.bookings) AS bookings
+ subq_15.metric_time__day
+ , SUM(subq_15.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_16.metric_time__day
- , subq_16.bookings
+ subq_14.metric_time__day
+ , subq_14.bookings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_15.ds__day
- , subq_15.ds__week
- , subq_15.ds__month
- , subq_15.ds__quarter
- , subq_15.ds__year
- , subq_15.ds__extract_year
- , subq_15.ds__extract_quarter
- , subq_15.ds__extract_month
- , subq_15.ds__extract_day
- , subq_15.ds__extract_dow
- , subq_15.ds__extract_doy
- , subq_15.ds_partitioned__day
- , subq_15.ds_partitioned__week
- , subq_15.ds_partitioned__month
- , subq_15.ds_partitioned__quarter
- , subq_15.ds_partitioned__year
- , subq_15.ds_partitioned__extract_year
- , subq_15.ds_partitioned__extract_quarter
- , subq_15.ds_partitioned__extract_month
- , subq_15.ds_partitioned__extract_day
- , subq_15.ds_partitioned__extract_dow
- , subq_15.ds_partitioned__extract_doy
- , subq_15.paid_at__day
- , subq_15.paid_at__week
- , subq_15.paid_at__month
- , subq_15.paid_at__quarter
- , subq_15.paid_at__year
- , subq_15.paid_at__extract_year
- , subq_15.paid_at__extract_quarter
- , subq_15.paid_at__extract_month
- , subq_15.paid_at__extract_day
- , subq_15.paid_at__extract_dow
- , subq_15.paid_at__extract_doy
- , subq_15.booking__ds__day
- , subq_15.booking__ds__week
- , subq_15.booking__ds__month
- , subq_15.booking__ds__quarter
- , subq_15.booking__ds__year
- , subq_15.booking__ds__extract_year
- , subq_15.booking__ds__extract_quarter
- , subq_15.booking__ds__extract_month
- , subq_15.booking__ds__extract_day
- , subq_15.booking__ds__extract_dow
- , subq_15.booking__ds__extract_doy
- , subq_15.booking__ds_partitioned__day
- , subq_15.booking__ds_partitioned__week
- , subq_15.booking__ds_partitioned__month
- , subq_15.booking__ds_partitioned__quarter
- , subq_15.booking__ds_partitioned__year
- , subq_15.booking__ds_partitioned__extract_year
- , subq_15.booking__ds_partitioned__extract_quarter
- , subq_15.booking__ds_partitioned__extract_month
- , subq_15.booking__ds_partitioned__extract_day
- , subq_15.booking__ds_partitioned__extract_dow
- , subq_15.booking__ds_partitioned__extract_doy
- , subq_15.booking__paid_at__day
- , subq_15.booking__paid_at__week
- , subq_15.booking__paid_at__month
- , subq_15.booking__paid_at__quarter
- , subq_15.booking__paid_at__year
- , subq_15.booking__paid_at__extract_year
- , subq_15.booking__paid_at__extract_quarter
- , subq_15.booking__paid_at__extract_month
- , subq_15.booking__paid_at__extract_day
- , subq_15.booking__paid_at__extract_dow
- , subq_15.booking__paid_at__extract_doy
- , subq_15.metric_time__day
- , subq_15.metric_time__week
- , subq_15.metric_time__month
- , subq_15.metric_time__quarter
- , subq_15.metric_time__year
- , subq_15.metric_time__extract_year
- , subq_15.metric_time__extract_quarter
- , subq_15.metric_time__extract_month
- , subq_15.metric_time__extract_day
- , subq_15.metric_time__extract_dow
- , subq_15.metric_time__extract_doy
- , subq_15.listing
- , subq_15.guest
- , subq_15.host
- , subq_15.booking__listing
- , subq_15.booking__guest
- , subq_15.booking__host
- , subq_15.is_instant
- , subq_15.booking__is_instant
- , subq_15.listing__is_lux_latest
- , subq_15.bookings
- , subq_15.instant_bookings
- , subq_15.booking_value
- , subq_15.max_booking_value
- , subq_15.min_booking_value
- , subq_15.bookers
- , subq_15.average_booking_value
- , subq_15.referred_bookings
- , subq_15.median_booking_value
- , subq_15.booking_value_p99
- , subq_15.discrete_booking_value_p99
- , subq_15.approximate_continuous_booking_value_p99
- , subq_15.approximate_discrete_booking_value_p99
+ subq_13.ds__day
+ , subq_13.ds__week
+ , subq_13.ds__month
+ , subq_13.ds__quarter
+ , subq_13.ds__year
+ , subq_13.ds__extract_year
+ , subq_13.ds__extract_quarter
+ , subq_13.ds__extract_month
+ , subq_13.ds__extract_day
+ , subq_13.ds__extract_dow
+ , subq_13.ds__extract_doy
+ , subq_13.ds_partitioned__day
+ , subq_13.ds_partitioned__week
+ , subq_13.ds_partitioned__month
+ , subq_13.ds_partitioned__quarter
+ , subq_13.ds_partitioned__year
+ , subq_13.ds_partitioned__extract_year
+ , subq_13.ds_partitioned__extract_quarter
+ , subq_13.ds_partitioned__extract_month
+ , subq_13.ds_partitioned__extract_day
+ , subq_13.ds_partitioned__extract_dow
+ , subq_13.ds_partitioned__extract_doy
+ , subq_13.paid_at__day
+ , subq_13.paid_at__week
+ , subq_13.paid_at__month
+ , subq_13.paid_at__quarter
+ , subq_13.paid_at__year
+ , subq_13.paid_at__extract_year
+ , subq_13.paid_at__extract_quarter
+ , subq_13.paid_at__extract_month
+ , subq_13.paid_at__extract_day
+ , subq_13.paid_at__extract_dow
+ , subq_13.paid_at__extract_doy
+ , subq_13.booking__ds__day
+ , subq_13.booking__ds__week
+ , subq_13.booking__ds__month
+ , subq_13.booking__ds__quarter
+ , subq_13.booking__ds__year
+ , subq_13.booking__ds__extract_year
+ , subq_13.booking__ds__extract_quarter
+ , subq_13.booking__ds__extract_month
+ , subq_13.booking__ds__extract_day
+ , subq_13.booking__ds__extract_dow
+ , subq_13.booking__ds__extract_doy
+ , subq_13.booking__ds_partitioned__day
+ , subq_13.booking__ds_partitioned__week
+ , subq_13.booking__ds_partitioned__month
+ , subq_13.booking__ds_partitioned__quarter
+ , subq_13.booking__ds_partitioned__year
+ , subq_13.booking__ds_partitioned__extract_year
+ , subq_13.booking__ds_partitioned__extract_quarter
+ , subq_13.booking__ds_partitioned__extract_month
+ , subq_13.booking__ds_partitioned__extract_day
+ , subq_13.booking__ds_partitioned__extract_dow
+ , subq_13.booking__ds_partitioned__extract_doy
+ , subq_13.booking__paid_at__day
+ , subq_13.booking__paid_at__week
+ , subq_13.booking__paid_at__month
+ , subq_13.booking__paid_at__quarter
+ , subq_13.booking__paid_at__year
+ , subq_13.booking__paid_at__extract_year
+ , subq_13.booking__paid_at__extract_quarter
+ , subq_13.booking__paid_at__extract_month
+ , subq_13.booking__paid_at__extract_day
+ , subq_13.booking__paid_at__extract_dow
+ , subq_13.booking__paid_at__extract_doy
+ , subq_13.metric_time__day
+ , subq_13.metric_time__week
+ , subq_13.metric_time__month
+ , subq_13.metric_time__quarter
+ , subq_13.metric_time__year
+ , subq_13.metric_time__extract_year
+ , subq_13.metric_time__extract_quarter
+ , subq_13.metric_time__extract_month
+ , subq_13.metric_time__extract_day
+ , subq_13.metric_time__extract_dow
+ , subq_13.metric_time__extract_doy
+ , subq_13.listing
+ , subq_13.guest
+ , subq_13.host
+ , subq_13.booking__listing
+ , subq_13.booking__guest
+ , subq_13.booking__host
+ , subq_13.is_instant
+ , subq_13.booking__is_instant
+ , subq_13.listing__is_lux_latest
+ , subq_13.bookings
+ , subq_13.instant_bookings
+ , subq_13.booking_value
+ , subq_13.max_booking_value
+ , subq_13.min_booking_value
+ , subq_13.bookers
+ , subq_13.average_booking_value
+ , subq_13.referred_bookings
+ , subq_13.median_booking_value
+ , subq_13.booking_value_p99
+ , subq_13.discrete_booking_value_p99
+ , subq_13.approximate_continuous_booking_value_p99
+ , subq_13.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_14.is_lux_latest AS listing__is_lux_latest
- , subq_11.ds__day AS ds__day
- , subq_11.ds__week AS ds__week
- , subq_11.ds__month AS ds__month
- , subq_11.ds__quarter AS ds__quarter
- , subq_11.ds__year AS ds__year
- , subq_11.ds__extract_year AS ds__extract_year
- , subq_11.ds__extract_quarter AS ds__extract_quarter
- , subq_11.ds__extract_month AS ds__extract_month
- , subq_11.ds__extract_day AS ds__extract_day
- , subq_11.ds__extract_dow AS ds__extract_dow
- , subq_11.ds__extract_doy AS ds__extract_doy
- , subq_11.ds_partitioned__day AS ds_partitioned__day
- , subq_11.ds_partitioned__week AS ds_partitioned__week
- , subq_11.ds_partitioned__month AS ds_partitioned__month
- , subq_11.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_11.ds_partitioned__year AS ds_partitioned__year
- , subq_11.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_11.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_11.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_11.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_11.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_11.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_11.paid_at__day AS paid_at__day
- , subq_11.paid_at__week AS paid_at__week
- , subq_11.paid_at__month AS paid_at__month
- , subq_11.paid_at__quarter AS paid_at__quarter
- , subq_11.paid_at__year AS paid_at__year
- , subq_11.paid_at__extract_year AS paid_at__extract_year
- , subq_11.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_11.paid_at__extract_month AS paid_at__extract_month
- , subq_11.paid_at__extract_day AS paid_at__extract_day
- , subq_11.paid_at__extract_dow AS paid_at__extract_dow
- , subq_11.paid_at__extract_doy AS paid_at__extract_doy
- , subq_11.booking__ds__day AS booking__ds__day
- , subq_11.booking__ds__week AS booking__ds__week
- , subq_11.booking__ds__month AS booking__ds__month
- , subq_11.booking__ds__quarter AS booking__ds__quarter
- , subq_11.booking__ds__year AS booking__ds__year
- , subq_11.booking__ds__extract_year AS booking__ds__extract_year
- , subq_11.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_11.booking__ds__extract_month AS booking__ds__extract_month
- , subq_11.booking__ds__extract_day AS booking__ds__extract_day
- , subq_11.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_11.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_11.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_11.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_11.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_11.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_11.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_11.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_11.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_11.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_11.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_11.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_11.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_11.booking__paid_at__day AS booking__paid_at__day
- , subq_11.booking__paid_at__week AS booking__paid_at__week
- , subq_11.booking__paid_at__month AS booking__paid_at__month
- , subq_11.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_11.booking__paid_at__year AS booking__paid_at__year
- , subq_11.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_11.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_11.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_11.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_11.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_11.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_11.metric_time__day AS metric_time__day
- , subq_11.metric_time__week AS metric_time__week
- , subq_11.metric_time__month AS metric_time__month
- , subq_11.metric_time__quarter AS metric_time__quarter
- , subq_11.metric_time__year AS metric_time__year
- , subq_11.metric_time__extract_year AS metric_time__extract_year
- , subq_11.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_11.metric_time__extract_month AS metric_time__extract_month
- , subq_11.metric_time__extract_day AS metric_time__extract_day
- , subq_11.metric_time__extract_dow AS metric_time__extract_dow
- , subq_11.metric_time__extract_doy AS metric_time__extract_doy
- , subq_11.listing AS listing
- , subq_11.guest AS guest
- , subq_11.host AS host
- , subq_11.booking__listing AS booking__listing
- , subq_11.booking__guest AS booking__guest
- , subq_11.booking__host AS booking__host
- , subq_11.is_instant AS is_instant
- , subq_11.booking__is_instant AS booking__is_instant
- , subq_11.bookings AS bookings
- , subq_11.instant_bookings AS instant_bookings
- , subq_11.booking_value AS booking_value
- , subq_11.max_booking_value AS max_booking_value
- , subq_11.min_booking_value AS min_booking_value
- , subq_11.bookers AS bookers
- , subq_11.average_booking_value AS average_booking_value
- , subq_11.referred_bookings AS referred_bookings
- , subq_11.median_booking_value AS median_booking_value
- , subq_11.booking_value_p99 AS booking_value_p99
- , subq_11.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_11.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_11.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_12.is_lux_latest AS listing__is_lux_latest
+ , subq_10.ds__day AS ds__day
+ , subq_10.ds__week AS ds__week
+ , subq_10.ds__month AS ds__month
+ , subq_10.ds__quarter AS ds__quarter
+ , subq_10.ds__year AS ds__year
+ , subq_10.ds__extract_year AS ds__extract_year
+ , subq_10.ds__extract_quarter AS ds__extract_quarter
+ , subq_10.ds__extract_month AS ds__extract_month
+ , subq_10.ds__extract_day AS ds__extract_day
+ , subq_10.ds__extract_dow AS ds__extract_dow
+ , subq_10.ds__extract_doy AS ds__extract_doy
+ , subq_10.ds_partitioned__day AS ds_partitioned__day
+ , subq_10.ds_partitioned__week AS ds_partitioned__week
+ , subq_10.ds_partitioned__month AS ds_partitioned__month
+ , subq_10.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_10.ds_partitioned__year AS ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_10.paid_at__day AS paid_at__day
+ , subq_10.paid_at__week AS paid_at__week
+ , subq_10.paid_at__month AS paid_at__month
+ , subq_10.paid_at__quarter AS paid_at__quarter
+ , subq_10.paid_at__year AS paid_at__year
+ , subq_10.paid_at__extract_year AS paid_at__extract_year
+ , subq_10.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_10.paid_at__extract_month AS paid_at__extract_month
+ , subq_10.paid_at__extract_day AS paid_at__extract_day
+ , subq_10.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_10.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_10.booking__ds__day AS booking__ds__day
+ , subq_10.booking__ds__week AS booking__ds__week
+ , subq_10.booking__ds__month AS booking__ds__month
+ , subq_10.booking__ds__quarter AS booking__ds__quarter
+ , subq_10.booking__ds__year AS booking__ds__year
+ , subq_10.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_10.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day AS booking__paid_at__day
+ , subq_10.booking__paid_at__week AS booking__paid_at__week
+ , subq_10.booking__paid_at__month AS booking__paid_at__month
+ , subq_10.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_10.booking__paid_at__year AS booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_10.metric_time__day AS metric_time__day
+ , subq_10.metric_time__week AS metric_time__week
+ , subq_10.metric_time__month AS metric_time__month
+ , subq_10.metric_time__quarter AS metric_time__quarter
+ , subq_10.metric_time__year AS metric_time__year
+ , subq_10.metric_time__extract_year AS metric_time__extract_year
+ , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_10.metric_time__extract_month AS metric_time__extract_month
+ , subq_10.metric_time__extract_day AS metric_time__extract_day
+ , subq_10.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_10.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_10.listing AS listing
+ , subq_10.guest AS guest
+ , subq_10.host AS host
+ , subq_10.booking__listing AS booking__listing
+ , subq_10.booking__guest AS booking__guest
+ , subq_10.booking__host AS booking__host
+ , subq_10.is_instant AS is_instant
+ , subq_10.booking__is_instant AS booking__is_instant
+ , subq_10.bookings AS bookings
+ , subq_10.instant_bookings AS instant_bookings
+ , subq_10.booking_value AS booking_value
+ , subq_10.max_booking_value AS max_booking_value
+ , subq_10.min_booking_value AS min_booking_value
+ , subq_10.bookers AS bookers
+ , subq_10.average_booking_value AS average_booking_value
+ , subq_10.referred_bookings AS referred_bookings
+ , subq_10.median_booking_value AS median_booking_value
+ , subq_10.booking_value_p99 AS booking_value_p99
+ , subq_10.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_10.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_10.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_10.ds__day
- , subq_10.ds__week
- , subq_10.ds__month
- , subq_10.ds__quarter
- , subq_10.ds__year
- , subq_10.ds__extract_year
- , subq_10.ds__extract_quarter
- , subq_10.ds__extract_month
- , subq_10.ds__extract_day
- , subq_10.ds__extract_dow
- , subq_10.ds__extract_doy
- , subq_10.ds_partitioned__day
- , subq_10.ds_partitioned__week
- , subq_10.ds_partitioned__month
- , subq_10.ds_partitioned__quarter
- , subq_10.ds_partitioned__year
- , subq_10.ds_partitioned__extract_year
- , subq_10.ds_partitioned__extract_quarter
- , subq_10.ds_partitioned__extract_month
- , subq_10.ds_partitioned__extract_day
- , subq_10.ds_partitioned__extract_dow
- , subq_10.ds_partitioned__extract_doy
- , subq_10.paid_at__day
- , subq_10.paid_at__week
- , subq_10.paid_at__month
- , subq_10.paid_at__quarter
- , subq_10.paid_at__year
- , subq_10.paid_at__extract_year
- , subq_10.paid_at__extract_quarter
- , subq_10.paid_at__extract_month
- , subq_10.paid_at__extract_day
- , subq_10.paid_at__extract_dow
- , subq_10.paid_at__extract_doy
- , subq_10.booking__ds__day
- , subq_10.booking__ds__week
- , subq_10.booking__ds__month
- , subq_10.booking__ds__quarter
- , subq_10.booking__ds__year
- , subq_10.booking__ds__extract_year
- , subq_10.booking__ds__extract_quarter
- , subq_10.booking__ds__extract_month
- , subq_10.booking__ds__extract_day
- , subq_10.booking__ds__extract_dow
- , subq_10.booking__ds__extract_doy
- , subq_10.booking__ds_partitioned__day
- , subq_10.booking__ds_partitioned__week
- , subq_10.booking__ds_partitioned__month
- , subq_10.booking__ds_partitioned__quarter
- , subq_10.booking__ds_partitioned__year
- , subq_10.booking__ds_partitioned__extract_year
- , subq_10.booking__ds_partitioned__extract_quarter
- , subq_10.booking__ds_partitioned__extract_month
- , subq_10.booking__ds_partitioned__extract_day
- , subq_10.booking__ds_partitioned__extract_dow
- , subq_10.booking__ds_partitioned__extract_doy
- , subq_10.booking__paid_at__day
- , subq_10.booking__paid_at__week
- , subq_10.booking__paid_at__month
- , subq_10.booking__paid_at__quarter
- , subq_10.booking__paid_at__year
- , subq_10.booking__paid_at__extract_year
- , subq_10.booking__paid_at__extract_quarter
- , subq_10.booking__paid_at__extract_month
- , subq_10.booking__paid_at__extract_day
- , subq_10.booking__paid_at__extract_dow
- , subq_10.booking__paid_at__extract_doy
- , subq_10.ds__day AS metric_time__day
- , subq_10.ds__week AS metric_time__week
- , subq_10.ds__month AS metric_time__month
- , subq_10.ds__quarter AS metric_time__quarter
- , subq_10.ds__year AS metric_time__year
- , subq_10.ds__extract_year AS metric_time__extract_year
- , subq_10.ds__extract_quarter AS metric_time__extract_quarter
- , subq_10.ds__extract_month AS metric_time__extract_month
- , subq_10.ds__extract_day AS metric_time__extract_day
- , subq_10.ds__extract_dow AS metric_time__extract_dow
- , subq_10.ds__extract_doy AS metric_time__extract_doy
- , subq_10.listing
- , subq_10.guest
- , subq_10.host
- , subq_10.booking__listing
- , subq_10.booking__guest
- , subq_10.booking__host
- , subq_10.is_instant
- , subq_10.booking__is_instant
- , subq_10.bookings
- , subq_10.instant_bookings
- , subq_10.booking_value
- , subq_10.max_booking_value
- , subq_10.min_booking_value
- , subq_10.bookers
- , subq_10.average_booking_value
- , subq_10.referred_bookings
- , subq_10.median_booking_value
- , subq_10.booking_value_p99
- , subq_10.discrete_booking_value_p99
- , subq_10.approximate_continuous_booking_value_p99
- , subq_10.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -987,83 +987,83 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_10
- ) subq_11
+ ) subq_0
+ ) subq_10
LEFT OUTER JOIN (
-- Pass Only Elements: ['is_lux_latest', 'listing']
SELECT
- subq_13.listing
- , subq_13.is_lux_latest
+ subq_11.listing
+ , subq_11.is_lux_latest
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_12.ds__day
- , subq_12.ds__week
- , subq_12.ds__month
- , subq_12.ds__quarter
- , subq_12.ds__year
- , subq_12.ds__extract_year
- , subq_12.ds__extract_quarter
- , subq_12.ds__extract_month
- , subq_12.ds__extract_day
- , subq_12.ds__extract_dow
- , subq_12.ds__extract_doy
- , subq_12.created_at__day
- , subq_12.created_at__week
- , subq_12.created_at__month
- , subq_12.created_at__quarter
- , subq_12.created_at__year
- , subq_12.created_at__extract_year
- , subq_12.created_at__extract_quarter
- , subq_12.created_at__extract_month
- , subq_12.created_at__extract_day
- , subq_12.created_at__extract_dow
- , subq_12.created_at__extract_doy
- , subq_12.listing__ds__day
- , subq_12.listing__ds__week
- , subq_12.listing__ds__month
- , subq_12.listing__ds__quarter
- , subq_12.listing__ds__year
- , subq_12.listing__ds__extract_year
- , subq_12.listing__ds__extract_quarter
- , subq_12.listing__ds__extract_month
- , subq_12.listing__ds__extract_day
- , subq_12.listing__ds__extract_dow
- , subq_12.listing__ds__extract_doy
- , subq_12.listing__created_at__day
- , subq_12.listing__created_at__week
- , subq_12.listing__created_at__month
- , subq_12.listing__created_at__quarter
- , subq_12.listing__created_at__year
- , subq_12.listing__created_at__extract_year
- , subq_12.listing__created_at__extract_quarter
- , subq_12.listing__created_at__extract_month
- , subq_12.listing__created_at__extract_day
- , subq_12.listing__created_at__extract_dow
- , subq_12.listing__created_at__extract_doy
- , subq_12.ds__day AS metric_time__day
- , subq_12.ds__week AS metric_time__week
- , subq_12.ds__month AS metric_time__month
- , subq_12.ds__quarter AS metric_time__quarter
- , subq_12.ds__year AS metric_time__year
- , subq_12.ds__extract_year AS metric_time__extract_year
- , subq_12.ds__extract_quarter AS metric_time__extract_quarter
- , subq_12.ds__extract_month AS metric_time__extract_month
- , subq_12.ds__extract_day AS metric_time__extract_day
- , subq_12.ds__extract_dow AS metric_time__extract_dow
- , subq_12.ds__extract_doy AS metric_time__extract_doy
- , subq_12.listing
- , subq_12.user
- , subq_12.listing__user
- , subq_12.country_latest
- , subq_12.is_lux_latest
- , subq_12.capacity_latest
- , subq_12.listing__country_latest
- , subq_12.listing__is_lux_latest
- , subq_12.listing__capacity_latest
- , subq_12.listings
- , subq_12.largest_listing
- , subq_12.smallest_listing
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.created_at__day
+ , subq_2.created_at__week
+ , subq_2.created_at__month
+ , subq_2.created_at__quarter
+ , subq_2.created_at__year
+ , subq_2.created_at__extract_year
+ , subq_2.created_at__extract_quarter
+ , subq_2.created_at__extract_month
+ , subq_2.created_at__extract_day
+ , subq_2.created_at__extract_dow
+ , subq_2.created_at__extract_doy
+ , subq_2.listing__ds__day
+ , subq_2.listing__ds__week
+ , subq_2.listing__ds__month
+ , subq_2.listing__ds__quarter
+ , subq_2.listing__ds__year
+ , subq_2.listing__ds__extract_year
+ , subq_2.listing__ds__extract_quarter
+ , subq_2.listing__ds__extract_month
+ , subq_2.listing__ds__extract_day
+ , subq_2.listing__ds__extract_dow
+ , subq_2.listing__ds__extract_doy
+ , subq_2.listing__created_at__day
+ , subq_2.listing__created_at__week
+ , subq_2.listing__created_at__month
+ , subq_2.listing__created_at__quarter
+ , subq_2.listing__created_at__year
+ , subq_2.listing__created_at__extract_year
+ , subq_2.listing__created_at__extract_quarter
+ , subq_2.listing__created_at__extract_month
+ , subq_2.listing__created_at__extract_day
+ , subq_2.listing__created_at__extract_dow
+ , subq_2.listing__created_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.user
+ , subq_2.listing__user
+ , subq_2.country_latest
+ , subq_2.is_lux_latest
+ , subq_2.capacity_latest
+ , subq_2.listing__country_latest
+ , subq_2.listing__is_lux_latest
+ , subq_2.listing__capacity_latest
+ , subq_2.listings
+ , subq_2.largest_listing
+ , subq_2.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -1124,137 +1124,137 @@ FROM (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_12
- ) subq_13
- ) subq_14
+ ) subq_2
+ ) subq_11
+ ) subq_12
ON
- subq_11.listing = subq_14.listing
- ) subq_15
+ subq_10.listing = subq_12.listing
+ ) subq_13
WHERE listing__is_lux_latest
- ) subq_16
- ) subq_17
+ ) subq_14
+ ) subq_15
GROUP BY
- subq_17.metric_time__day
- ) subq_18
- ) subq_19
+ subq_15.metric_time__day
+ ) subq_16
+ ) subq_17
ON
- subq_9.metric_time__day = subq_19.metric_time__day
+ subq_9.metric_time__day = subq_17.metric_time__day
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_23.metric_time__day
- , subq_23.booking_value
+ subq_20.metric_time__day
+ , subq_20.booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_22.metric_time__day
- , SUM(subq_22.booking_value) AS booking_value
+ subq_19.metric_time__day
+ , SUM(subq_19.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value', 'metric_time__day']
SELECT
- subq_21.metric_time__day
- , subq_21.booking_value
+ subq_18.metric_time__day
+ , subq_18.booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_20.ds__day
- , subq_20.ds__week
- , subq_20.ds__month
- , subq_20.ds__quarter
- , subq_20.ds__year
- , subq_20.ds__extract_year
- , subq_20.ds__extract_quarter
- , subq_20.ds__extract_month
- , subq_20.ds__extract_day
- , subq_20.ds__extract_dow
- , subq_20.ds__extract_doy
- , subq_20.ds_partitioned__day
- , subq_20.ds_partitioned__week
- , subq_20.ds_partitioned__month
- , subq_20.ds_partitioned__quarter
- , subq_20.ds_partitioned__year
- , subq_20.ds_partitioned__extract_year
- , subq_20.ds_partitioned__extract_quarter
- , subq_20.ds_partitioned__extract_month
- , subq_20.ds_partitioned__extract_day
- , subq_20.ds_partitioned__extract_dow
- , subq_20.ds_partitioned__extract_doy
- , subq_20.paid_at__day
- , subq_20.paid_at__week
- , subq_20.paid_at__month
- , subq_20.paid_at__quarter
- , subq_20.paid_at__year
- , subq_20.paid_at__extract_year
- , subq_20.paid_at__extract_quarter
- , subq_20.paid_at__extract_month
- , subq_20.paid_at__extract_day
- , subq_20.paid_at__extract_dow
- , subq_20.paid_at__extract_doy
- , subq_20.booking__ds__day
- , subq_20.booking__ds__week
- , subq_20.booking__ds__month
- , subq_20.booking__ds__quarter
- , subq_20.booking__ds__year
- , subq_20.booking__ds__extract_year
- , subq_20.booking__ds__extract_quarter
- , subq_20.booking__ds__extract_month
- , subq_20.booking__ds__extract_day
- , subq_20.booking__ds__extract_dow
- , subq_20.booking__ds__extract_doy
- , subq_20.booking__ds_partitioned__day
- , subq_20.booking__ds_partitioned__week
- , subq_20.booking__ds_partitioned__month
- , subq_20.booking__ds_partitioned__quarter
- , subq_20.booking__ds_partitioned__year
- , subq_20.booking__ds_partitioned__extract_year
- , subq_20.booking__ds_partitioned__extract_quarter
- , subq_20.booking__ds_partitioned__extract_month
- , subq_20.booking__ds_partitioned__extract_day
- , subq_20.booking__ds_partitioned__extract_dow
- , subq_20.booking__ds_partitioned__extract_doy
- , subq_20.booking__paid_at__day
- , subq_20.booking__paid_at__week
- , subq_20.booking__paid_at__month
- , subq_20.booking__paid_at__quarter
- , subq_20.booking__paid_at__year
- , subq_20.booking__paid_at__extract_year
- , subq_20.booking__paid_at__extract_quarter
- , subq_20.booking__paid_at__extract_month
- , subq_20.booking__paid_at__extract_day
- , subq_20.booking__paid_at__extract_dow
- , subq_20.booking__paid_at__extract_doy
- , subq_20.ds__day AS metric_time__day
- , subq_20.ds__week AS metric_time__week
- , subq_20.ds__month AS metric_time__month
- , subq_20.ds__quarter AS metric_time__quarter
- , subq_20.ds__year AS metric_time__year
- , subq_20.ds__extract_year AS metric_time__extract_year
- , subq_20.ds__extract_quarter AS metric_time__extract_quarter
- , subq_20.ds__extract_month AS metric_time__extract_month
- , subq_20.ds__extract_day AS metric_time__extract_day
- , subq_20.ds__extract_dow AS metric_time__extract_dow
- , subq_20.ds__extract_doy AS metric_time__extract_doy
- , subq_20.listing
- , subq_20.guest
- , subq_20.host
- , subq_20.booking__listing
- , subq_20.booking__guest
- , subq_20.booking__host
- , subq_20.is_instant
- , subq_20.booking__is_instant
- , subq_20.bookings
- , subq_20.instant_bookings
- , subq_20.booking_value
- , subq_20.max_booking_value
- , subq_20.min_booking_value
- , subq_20.bookers
- , subq_20.average_booking_value
- , subq_20.referred_bookings
- , subq_20.median_booking_value
- , subq_20.booking_value_p99
- , subq_20.discrete_booking_value_p99
- , subq_20.approximate_continuous_booking_value_p99
- , subq_20.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -1347,15 +1347,15 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_20
- ) subq_21
- ) subq_22
+ ) subq_0
+ ) subq_18
+ ) subq_19
GROUP BY
- subq_22.metric_time__day
- ) subq_23
- ) subq_24
+ subq_19.metric_time__day
+ ) subq_20
+ ) subq_21
ON
- COALESCE(subq_9.metric_time__day, subq_19.metric_time__day) = subq_24.metric_time__day
+ COALESCE(subq_9.metric_time__day, subq_17.metric_time__day) = subq_21.metric_time__day
GROUP BY
- COALESCE(subq_9.metric_time__day, subq_19.metric_time__day, subq_24.metric_time__day)
-) subq_25
+ COALESCE(subq_9.metric_time__day, subq_17.metric_time__day, subq_21.metric_time__day)
+) subq_22
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint__plan0_optimized.sql
index f67cf2b467..ff52bacd4f 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint__plan0_optimized.sql
@@ -9,10 +9,10 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_35.metric_time__day, subq_40.metric_time__day) AS metric_time__day
- , MAX(subq_35.average_booking_value) AS average_booking_value
- , MAX(subq_35.bookings) AS bookings
- , MAX(subq_40.booking_value) AS booking_value
+ COALESCE(subq_32.metric_time__day, subq_37.metric_time__day) AS metric_time__day
+ , MAX(subq_32.average_booking_value) AS average_booking_value
+ , MAX(subq_32.bookings) AS bookings
+ , MAX(subq_37.booking_value) AS booking_value
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['average_booking_value', 'bookings', 'metric_time__day']
@@ -26,9 +26,9 @@ FROM (
-- Join Standard Outputs
SELECT
listings_latest_src_28000.is_lux AS listing__is_lux_latest
- , subq_27.metric_time__day AS metric_time__day
- , subq_27.bookings AS bookings
- , subq_27.average_booking_value AS average_booking_value
+ , subq_24.metric_time__day AS metric_time__day
+ , subq_24.bookings AS bookings
+ , subq_24.average_booking_value AS average_booking_value
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -38,16 +38,16 @@ FROM (
, 1 AS bookings
, booking_value AS average_booking_value
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_27
+ ) subq_24
LEFT OUTER JOIN
***************************.dim_listings_latest listings_latest_src_28000
ON
- subq_27.listing = listings_latest_src_28000.listing_id
- ) subq_31
+ subq_24.listing = listings_latest_src_28000.listing_id
+ ) subq_28
WHERE listing__is_lux_latest
GROUP BY
metric_time__day
- ) subq_35
+ ) subq_32
FULL OUTER JOIN (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -60,9 +60,9 @@ FROM (
FROM ***************************.fct_bookings bookings_source_src_28000
GROUP BY
DATE_TRUNC('day', ds)
- ) subq_40
+ ) subq_37
ON
- subq_35.metric_time__day = subq_40.metric_time__day
+ subq_32.metric_time__day = subq_37.metric_time__day
GROUP BY
- COALESCE(subq_35.metric_time__day, subq_40.metric_time__day)
-) subq_41
+ COALESCE(subq_32.metric_time__day, subq_37.metric_time__day)
+) subq_38
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint_with_reused_measure__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint_with_reused_measure__plan0.sql
index 17cbd058ef..f44e401c7f 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint_with_reused_measure__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint_with_reused_measure__plan0.sql
@@ -4,14 +4,14 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.metric_time__day
- , CAST(subq_11.booking_value_with_is_instant_constraint AS DOUBLE) / CAST(NULLIF(subq_11.booking_value, 0) AS DOUBLE) AS instant_booking_value_ratio
+ subq_10.metric_time__day
+ , CAST(subq_10.booking_value_with_is_instant_constraint AS DOUBLE) / CAST(NULLIF(subq_10.booking_value, 0) AS DOUBLE) AS instant_booking_value_ratio
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_5.metric_time__day, subq_10.metric_time__day) AS metric_time__day
+ COALESCE(subq_5.metric_time__day, subq_9.metric_time__day) AS metric_time__day
, MAX(subq_5.booking_value_with_is_instant_constraint) AS booking_value_with_is_instant_constraint
- , MAX(subq_10.booking_value) AS booking_value
+ , MAX(subq_9.booking_value) AS booking_value
FROM (
-- Compute Metrics via Expressions
SELECT
@@ -333,119 +333,119 @@ FROM (
FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_9.metric_time__day
- , subq_9.booking_value
+ subq_8.metric_time__day
+ , subq_8.booking_value
FROM (
-- Aggregate Measures
SELECT
- subq_8.metric_time__day
- , SUM(subq_8.booking_value) AS booking_value
+ subq_7.metric_time__day
+ , SUM(subq_7.booking_value) AS booking_value
FROM (
-- Pass Only Elements: ['booking_value', 'metric_time__day']
SELECT
- subq_7.metric_time__day
- , subq_7.booking_value
+ subq_6.metric_time__day
+ , subq_6.booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.ds_partitioned__day
- , subq_6.ds_partitioned__week
- , subq_6.ds_partitioned__month
- , subq_6.ds_partitioned__quarter
- , subq_6.ds_partitioned__year
- , subq_6.ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy
- , subq_6.paid_at__day
- , subq_6.paid_at__week
- , subq_6.paid_at__month
- , subq_6.paid_at__quarter
- , subq_6.paid_at__year
- , subq_6.paid_at__extract_year
- , subq_6.paid_at__extract_quarter
- , subq_6.paid_at__extract_month
- , subq_6.paid_at__extract_day
- , subq_6.paid_at__extract_dow
- , subq_6.paid_at__extract_doy
- , subq_6.booking__ds__day
- , subq_6.booking__ds__week
- , subq_6.booking__ds__month
- , subq_6.booking__ds__quarter
- , subq_6.booking__ds__year
- , subq_6.booking__ds__extract_year
- , subq_6.booking__ds__extract_quarter
- , subq_6.booking__ds__extract_month
- , subq_6.booking__ds__extract_day
- , subq_6.booking__ds__extract_dow
- , subq_6.booking__ds__extract_doy
- , subq_6.booking__ds_partitioned__day
- , subq_6.booking__ds_partitioned__week
- , subq_6.booking__ds_partitioned__month
- , subq_6.booking__ds_partitioned__quarter
- , subq_6.booking__ds_partitioned__year
- , subq_6.booking__ds_partitioned__extract_year
- , subq_6.booking__ds_partitioned__extract_quarter
- , subq_6.booking__ds_partitioned__extract_month
- , subq_6.booking__ds_partitioned__extract_day
- , subq_6.booking__ds_partitioned__extract_dow
- , subq_6.booking__ds_partitioned__extract_doy
- , subq_6.booking__paid_at__day
- , subq_6.booking__paid_at__week
- , subq_6.booking__paid_at__month
- , subq_6.booking__paid_at__quarter
- , subq_6.booking__paid_at__year
- , subq_6.booking__paid_at__extract_year
- , subq_6.booking__paid_at__extract_quarter
- , subq_6.booking__paid_at__extract_month
- , subq_6.booking__paid_at__extract_day
- , subq_6.booking__paid_at__extract_dow
- , subq_6.booking__paid_at__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.listing
- , subq_6.guest
- , subq_6.host
- , subq_6.booking__listing
- , subq_6.booking__guest
- , subq_6.booking__host
- , subq_6.is_instant
- , subq_6.booking__is_instant
- , subq_6.bookings
- , subq_6.instant_bookings
- , subq_6.booking_value
- , subq_6.max_booking_value
- , subq_6.min_booking_value
- , subq_6.bookers
- , subq_6.average_booking_value
- , subq_6.referred_bookings
- , subq_6.median_booking_value
- , subq_6.booking_value_p99
- , subq_6.discrete_booking_value_p99
- , subq_6.approximate_continuous_booking_value_p99
- , subq_6.approximate_discrete_booking_value_p99
+ subq_0.ds__day
+ , subq_0.ds__week
+ , subq_0.ds__month
+ , subq_0.ds__quarter
+ , subq_0.ds__year
+ , subq_0.ds__extract_year
+ , subq_0.ds__extract_quarter
+ , subq_0.ds__extract_month
+ , subq_0.ds__extract_day
+ , subq_0.ds__extract_dow
+ , subq_0.ds__extract_doy
+ , subq_0.ds_partitioned__day
+ , subq_0.ds_partitioned__week
+ , subq_0.ds_partitioned__month
+ , subq_0.ds_partitioned__quarter
+ , subq_0.ds_partitioned__year
+ , subq_0.ds_partitioned__extract_year
+ , subq_0.ds_partitioned__extract_quarter
+ , subq_0.ds_partitioned__extract_month
+ , subq_0.ds_partitioned__extract_day
+ , subq_0.ds_partitioned__extract_dow
+ , subq_0.ds_partitioned__extract_doy
+ , subq_0.paid_at__day
+ , subq_0.paid_at__week
+ , subq_0.paid_at__month
+ , subq_0.paid_at__quarter
+ , subq_0.paid_at__year
+ , subq_0.paid_at__extract_year
+ , subq_0.paid_at__extract_quarter
+ , subq_0.paid_at__extract_month
+ , subq_0.paid_at__extract_day
+ , subq_0.paid_at__extract_dow
+ , subq_0.paid_at__extract_doy
+ , subq_0.booking__ds__day
+ , subq_0.booking__ds__week
+ , subq_0.booking__ds__month
+ , subq_0.booking__ds__quarter
+ , subq_0.booking__ds__year
+ , subq_0.booking__ds__extract_year
+ , subq_0.booking__ds__extract_quarter
+ , subq_0.booking__ds__extract_month
+ , subq_0.booking__ds__extract_day
+ , subq_0.booking__ds__extract_dow
+ , subq_0.booking__ds__extract_doy
+ , subq_0.booking__ds_partitioned__day
+ , subq_0.booking__ds_partitioned__week
+ , subq_0.booking__ds_partitioned__month
+ , subq_0.booking__ds_partitioned__quarter
+ , subq_0.booking__ds_partitioned__year
+ , subq_0.booking__ds_partitioned__extract_year
+ , subq_0.booking__ds_partitioned__extract_quarter
+ , subq_0.booking__ds_partitioned__extract_month
+ , subq_0.booking__ds_partitioned__extract_day
+ , subq_0.booking__ds_partitioned__extract_dow
+ , subq_0.booking__ds_partitioned__extract_doy
+ , subq_0.booking__paid_at__day
+ , subq_0.booking__paid_at__week
+ , subq_0.booking__paid_at__month
+ , subq_0.booking__paid_at__quarter
+ , subq_0.booking__paid_at__year
+ , subq_0.booking__paid_at__extract_year
+ , subq_0.booking__paid_at__extract_quarter
+ , subq_0.booking__paid_at__extract_month
+ , subq_0.booking__paid_at__extract_day
+ , subq_0.booking__paid_at__extract_dow
+ , subq_0.booking__paid_at__extract_doy
+ , subq_0.ds__day AS metric_time__day
+ , subq_0.ds__week AS metric_time__week
+ , subq_0.ds__month AS metric_time__month
+ , subq_0.ds__quarter AS metric_time__quarter
+ , subq_0.ds__year AS metric_time__year
+ , subq_0.ds__extract_year AS metric_time__extract_year
+ , subq_0.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_0.ds__extract_month AS metric_time__extract_month
+ , subq_0.ds__extract_day AS metric_time__extract_day
+ , subq_0.ds__extract_dow AS metric_time__extract_dow
+ , subq_0.ds__extract_doy AS metric_time__extract_doy
+ , subq_0.listing
+ , subq_0.guest
+ , subq_0.host
+ , subq_0.booking__listing
+ , subq_0.booking__guest
+ , subq_0.booking__host
+ , subq_0.is_instant
+ , subq_0.booking__is_instant
+ , subq_0.bookings
+ , subq_0.instant_bookings
+ , subq_0.booking_value
+ , subq_0.max_booking_value
+ , subq_0.min_booking_value
+ , subq_0.bookers
+ , subq_0.average_booking_value
+ , subq_0.referred_bookings
+ , subq_0.median_booking_value
+ , subq_0.booking_value_p99
+ , subq_0.discrete_booking_value_p99
+ , subq_0.approximate_continuous_booking_value_p99
+ , subq_0.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -538,15 +538,15 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_6
- ) subq_7
- ) subq_8
+ ) subq_0
+ ) subq_6
+ ) subq_7
GROUP BY
- subq_8.metric_time__day
- ) subq_9
- ) subq_10
+ subq_7.metric_time__day
+ ) subq_8
+ ) subq_9
ON
- subq_5.metric_time__day = subq_10.metric_time__day
+ subq_5.metric_time__day = subq_9.metric_time__day
GROUP BY
- COALESCE(subq_5.metric_time__day, subq_10.metric_time__day)
-) subq_11
+ COALESCE(subq_5.metric_time__day, subq_9.metric_time__day)
+) subq_10
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint_with_reused_measure__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint_with_reused_measure__plan0_optimized.sql
index 71deab1b41..b15200198c 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint_with_reused_measure__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_measure_constraint_with_reused_measure__plan0_optimized.sql
@@ -19,9 +19,9 @@ SELECT
FROM (
-- Combine Aggregated Outputs
SELECT
- COALESCE(subq_17.metric_time__day, subq_21.metric_time__day) AS metric_time__day
- , MAX(subq_17.booking_value_with_is_instant_constraint) AS booking_value_with_is_instant_constraint
- , MAX(subq_21.booking_value) AS booking_value
+ COALESCE(subq_16.metric_time__day, subq_20.metric_time__day) AS metric_time__day
+ , MAX(subq_16.booking_value_with_is_instant_constraint) AS booking_value_with_is_instant_constraint
+ , MAX(subq_20.booking_value) AS booking_value
FROM (
-- Constrain Output with WHERE
-- Pass Only Elements: ['booking_value', 'metric_time__day']
@@ -37,11 +37,11 @@ FROM (
, booking__is_instant
, booking_value
FROM sma_28009_cte sma_28009_cte
- ) subq_13
+ ) subq_12
WHERE booking__is_instant
GROUP BY
metric_time__day
- ) subq_17
+ ) subq_16
FULL OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['booking_value', 'metric_time__day']
@@ -53,9 +53,9 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
metric_time__day
- ) subq_21
+ ) subq_20
ON
- subq_17.metric_time__day = subq_21.metric_time__day
+ subq_16.metric_time__day = subq_20.metric_time__day
GROUP BY
- COALESCE(subq_17.metric_time__day, subq_21.metric_time__day)
-) subq_22
+ COALESCE(subq_16.metric_time__day, subq_20.metric_time__day)
+) subq_21
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_metric_alias__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_metric_alias__plan0.sql
index a7247b8aab..220578f9ed 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_metric_alias__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_metric_alias__plan0.sql
@@ -6,333 +6,333 @@ sql_engine: DuckDB
---
-- Change Column Aliases
SELECT
- subq_13.metric_time__month
- , subq_13.bookings AS bookings_alias
+ subq_15.metric_time__month
+ , subq_15.bookings AS bookings_alias
FROM (
-- Order By ['bookings']
SELECT
- subq_12.metric_time__month
- , subq_12.bookings
+ subq_14.metric_time__month
+ , subq_14.bookings
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_11.metric_time__month
- , subq_11.bookings
+ subq_13.metric_time__month
+ , subq_13.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_10.metric_time__month
- , SUM(subq_10.bookings) AS bookings
+ subq_12.metric_time__month
+ , SUM(subq_12.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__month']
SELECT
- subq_9.metric_time__month
- , subq_9.bookings
+ subq_11.metric_time__month
+ , subq_11.bookings
FROM (
-- Constrain Output with WHERE
SELECT
- subq_8.ds__day
- , subq_8.ds__week
- , subq_8.ds__month
- , subq_8.ds__quarter
- , subq_8.ds__year
- , subq_8.ds__extract_year
- , subq_8.ds__extract_quarter
- , subq_8.ds__extract_month
- , subq_8.ds__extract_day
- , subq_8.ds__extract_dow
- , subq_8.ds__extract_doy
- , subq_8.ds_partitioned__day
- , subq_8.ds_partitioned__week
- , subq_8.ds_partitioned__month
- , subq_8.ds_partitioned__quarter
- , subq_8.ds_partitioned__year
- , subq_8.ds_partitioned__extract_year
- , subq_8.ds_partitioned__extract_quarter
- , subq_8.ds_partitioned__extract_month
- , subq_8.ds_partitioned__extract_day
- , subq_8.ds_partitioned__extract_dow
- , subq_8.ds_partitioned__extract_doy
- , subq_8.paid_at__day
- , subq_8.paid_at__week
- , subq_8.paid_at__month
- , subq_8.paid_at__quarter
- , subq_8.paid_at__year
- , subq_8.paid_at__extract_year
- , subq_8.paid_at__extract_quarter
- , subq_8.paid_at__extract_month
- , subq_8.paid_at__extract_day
- , subq_8.paid_at__extract_dow
- , subq_8.paid_at__extract_doy
- , subq_8.booking__ds__day
- , subq_8.booking__ds__week
- , subq_8.booking__ds__month
- , subq_8.booking__ds__quarter
- , subq_8.booking__ds__year
- , subq_8.booking__ds__extract_year
- , subq_8.booking__ds__extract_quarter
- , subq_8.booking__ds__extract_month
- , subq_8.booking__ds__extract_day
- , subq_8.booking__ds__extract_dow
- , subq_8.booking__ds__extract_doy
- , subq_8.booking__ds_partitioned__day
- , subq_8.booking__ds_partitioned__week
- , subq_8.booking__ds_partitioned__month
- , subq_8.booking__ds_partitioned__quarter
- , subq_8.booking__ds_partitioned__year
- , subq_8.booking__ds_partitioned__extract_year
- , subq_8.booking__ds_partitioned__extract_quarter
- , subq_8.booking__ds_partitioned__extract_month
- , subq_8.booking__ds_partitioned__extract_day
- , subq_8.booking__ds_partitioned__extract_dow
- , subq_8.booking__ds_partitioned__extract_doy
- , subq_8.booking__paid_at__day
- , subq_8.booking__paid_at__week
- , subq_8.booking__paid_at__month
- , subq_8.booking__paid_at__quarter
- , subq_8.booking__paid_at__year
- , subq_8.booking__paid_at__extract_year
- , subq_8.booking__paid_at__extract_quarter
- , subq_8.booking__paid_at__extract_month
- , subq_8.booking__paid_at__extract_day
- , subq_8.booking__paid_at__extract_dow
- , subq_8.booking__paid_at__extract_doy
- , subq_8.metric_time__day
- , subq_8.metric_time__week
- , subq_8.metric_time__month
- , subq_8.metric_time__quarter
- , subq_8.metric_time__year
- , subq_8.metric_time__extract_year
- , subq_8.metric_time__extract_quarter
- , subq_8.metric_time__extract_month
- , subq_8.metric_time__extract_day
- , subq_8.metric_time__extract_dow
- , subq_8.metric_time__extract_doy
- , subq_8.listing
- , subq_8.guest
- , subq_8.host
- , subq_8.booking__listing
- , subq_8.booking__guest
- , subq_8.booking__host
- , subq_8.is_instant
- , subq_8.booking__is_instant
- , subq_8.listing__bookings
- , subq_8.bookings
- , subq_8.instant_bookings
- , subq_8.booking_value
- , subq_8.max_booking_value
- , subq_8.min_booking_value
- , subq_8.bookers
- , subq_8.average_booking_value
- , subq_8.referred_bookings
- , subq_8.median_booking_value
- , subq_8.booking_value_p99
- , subq_8.discrete_booking_value_p99
- , subq_8.approximate_continuous_booking_value_p99
- , subq_8.approximate_discrete_booking_value_p99
+ subq_10.ds__day
+ , subq_10.ds__week
+ , subq_10.ds__month
+ , subq_10.ds__quarter
+ , subq_10.ds__year
+ , subq_10.ds__extract_year
+ , subq_10.ds__extract_quarter
+ , subq_10.ds__extract_month
+ , subq_10.ds__extract_day
+ , subq_10.ds__extract_dow
+ , subq_10.ds__extract_doy
+ , subq_10.ds_partitioned__day
+ , subq_10.ds_partitioned__week
+ , subq_10.ds_partitioned__month
+ , subq_10.ds_partitioned__quarter
+ , subq_10.ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy
+ , subq_10.paid_at__day
+ , subq_10.paid_at__week
+ , subq_10.paid_at__month
+ , subq_10.paid_at__quarter
+ , subq_10.paid_at__year
+ , subq_10.paid_at__extract_year
+ , subq_10.paid_at__extract_quarter
+ , subq_10.paid_at__extract_month
+ , subq_10.paid_at__extract_day
+ , subq_10.paid_at__extract_dow
+ , subq_10.paid_at__extract_doy
+ , subq_10.booking__ds__day
+ , subq_10.booking__ds__week
+ , subq_10.booking__ds__month
+ , subq_10.booking__ds__quarter
+ , subq_10.booking__ds__year
+ , subq_10.booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month
+ , subq_10.booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day
+ , subq_10.booking__paid_at__week
+ , subq_10.booking__paid_at__month
+ , subq_10.booking__paid_at__quarter
+ , subq_10.booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy
+ , subq_10.metric_time__day
+ , subq_10.metric_time__week
+ , subq_10.metric_time__month
+ , subq_10.metric_time__quarter
+ , subq_10.metric_time__year
+ , subq_10.metric_time__extract_year
+ , subq_10.metric_time__extract_quarter
+ , subq_10.metric_time__extract_month
+ , subq_10.metric_time__extract_day
+ , subq_10.metric_time__extract_dow
+ , subq_10.metric_time__extract_doy
+ , subq_10.listing
+ , subq_10.guest
+ , subq_10.host
+ , subq_10.booking__listing
+ , subq_10.booking__guest
+ , subq_10.booking__host
+ , subq_10.is_instant
+ , subq_10.booking__is_instant
+ , subq_10.listing__bookings
+ , subq_10.bookings
+ , subq_10.instant_bookings
+ , subq_10.booking_value
+ , subq_10.max_booking_value
+ , subq_10.min_booking_value
+ , subq_10.bookers
+ , subq_10.average_booking_value
+ , subq_10.referred_bookings
+ , subq_10.median_booking_value
+ , subq_10.booking_value_p99
+ , subq_10.discrete_booking_value_p99
+ , subq_10.approximate_continuous_booking_value_p99
+ , subq_10.approximate_discrete_booking_value_p99
FROM (
-- Join Standard Outputs
SELECT
- subq_7.listing__bookings AS listing__bookings
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.max_booking_value AS max_booking_value
- , subq_1.min_booking_value AS min_booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
- , subq_1.referred_bookings AS referred_bookings
- , subq_1.median_booking_value AS median_booking_value
- , subq_1.booking_value_p99 AS booking_value_p99
- , subq_1.discrete_booking_value_p99 AS discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
+ subq_9.listing__bookings AS listing__bookings
+ , subq_4.ds__day AS ds__day
+ , subq_4.ds__week AS ds__week
+ , subq_4.ds__month AS ds__month
+ , subq_4.ds__quarter AS ds__quarter
+ , subq_4.ds__year AS ds__year
+ , subq_4.ds__extract_year AS ds__extract_year
+ , subq_4.ds__extract_quarter AS ds__extract_quarter
+ , subq_4.ds__extract_month AS ds__extract_month
+ , subq_4.ds__extract_day AS ds__extract_day
+ , subq_4.ds__extract_dow AS ds__extract_dow
+ , subq_4.ds__extract_doy AS ds__extract_doy
+ , subq_4.ds_partitioned__day AS ds_partitioned__day
+ , subq_4.ds_partitioned__week AS ds_partitioned__week
+ , subq_4.ds_partitioned__month AS ds_partitioned__month
+ , subq_4.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_4.ds_partitioned__year AS ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_4.paid_at__day AS paid_at__day
+ , subq_4.paid_at__week AS paid_at__week
+ , subq_4.paid_at__month AS paid_at__month
+ , subq_4.paid_at__quarter AS paid_at__quarter
+ , subq_4.paid_at__year AS paid_at__year
+ , subq_4.paid_at__extract_year AS paid_at__extract_year
+ , subq_4.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_4.paid_at__extract_month AS paid_at__extract_month
+ , subq_4.paid_at__extract_day AS paid_at__extract_day
+ , subq_4.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_4.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_4.booking__ds__day AS booking__ds__day
+ , subq_4.booking__ds__week AS booking__ds__week
+ , subq_4.booking__ds__month AS booking__ds__month
+ , subq_4.booking__ds__quarter AS booking__ds__quarter
+ , subq_4.booking__ds__year AS booking__ds__year
+ , subq_4.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_4.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day AS booking__paid_at__day
+ , subq_4.booking__paid_at__week AS booking__paid_at__week
+ , subq_4.booking__paid_at__month AS booking__paid_at__month
+ , subq_4.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_4.booking__paid_at__year AS booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_4.metric_time__day AS metric_time__day
+ , subq_4.metric_time__week AS metric_time__week
+ , subq_4.metric_time__month AS metric_time__month
+ , subq_4.metric_time__quarter AS metric_time__quarter
+ , subq_4.metric_time__year AS metric_time__year
+ , subq_4.metric_time__extract_year AS metric_time__extract_year
+ , subq_4.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_4.metric_time__extract_month AS metric_time__extract_month
+ , subq_4.metric_time__extract_day AS metric_time__extract_day
+ , subq_4.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_4.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_4.listing AS listing
+ , subq_4.guest AS guest
+ , subq_4.host AS host
+ , subq_4.booking__listing AS booking__listing
+ , subq_4.booking__guest AS booking__guest
+ , subq_4.booking__host AS booking__host
+ , subq_4.is_instant AS is_instant
+ , subq_4.booking__is_instant AS booking__is_instant
+ , subq_4.bookings AS bookings
+ , subq_4.instant_bookings AS instant_bookings
+ , subq_4.booking_value AS booking_value
+ , subq_4.max_booking_value AS max_booking_value
+ , subq_4.min_booking_value AS min_booking_value
+ , subq_4.bookers AS bookers
+ , subq_4.average_booking_value AS average_booking_value
+ , subq_4.referred_bookings AS referred_bookings
+ , subq_4.median_booking_value AS median_booking_value
+ , subq_4.booking_value_p99 AS booking_value_p99
+ , subq_4.discrete_booking_value_p99 AS discrete_booking_value_p99
+ , subq_4.approximate_continuous_booking_value_p99 AS approximate_continuous_booking_value_p99
+ , subq_4.approximate_discrete_booking_value_p99 AS approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.max_booking_value
+ , subq_3.min_booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
+ , subq_3.referred_bookings
+ , subq_3.median_booking_value
+ , subq_3.booking_value_p99
+ , subq_3.discrete_booking_value_p99
+ , subq_3.approximate_continuous_booking_value_p99
+ , subq_3.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -425,129 +425,129 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
+ ) subq_3
+ ) subq_4
LEFT OUTER JOIN (
-- Pass Only Elements: ['listing', 'listing__bookings']
SELECT
- subq_6.listing
- , subq_6.listing__bookings
+ subq_8.listing
+ , subq_8.listing__bookings
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_5.listing
- , subq_5.bookings AS listing__bookings
+ subq_7.listing
+ , subq_7.bookings AS listing__bookings
FROM (
-- Aggregate Measures
SELECT
- subq_4.listing
- , SUM(subq_4.bookings) AS bookings
+ subq_6.listing
+ , SUM(subq_6.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing']
SELECT
- subq_3.listing
- , subq_3.bookings
+ subq_5.listing
+ , subq_5.bookings
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_2.ds__day
- , subq_2.ds__week
- , subq_2.ds__month
- , subq_2.ds__quarter
- , subq_2.ds__year
- , subq_2.ds__extract_year
- , subq_2.ds__extract_quarter
- , subq_2.ds__extract_month
- , subq_2.ds__extract_day
- , subq_2.ds__extract_dow
- , subq_2.ds__extract_doy
- , subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.paid_at__day
- , subq_2.paid_at__week
- , subq_2.paid_at__month
- , subq_2.paid_at__quarter
- , subq_2.paid_at__year
- , subq_2.paid_at__extract_year
- , subq_2.paid_at__extract_quarter
- , subq_2.paid_at__extract_month
- , subq_2.paid_at__extract_day
- , subq_2.paid_at__extract_dow
- , subq_2.paid_at__extract_doy
- , subq_2.booking__ds__day
- , subq_2.booking__ds__week
- , subq_2.booking__ds__month
- , subq_2.booking__ds__quarter
- , subq_2.booking__ds__year
- , subq_2.booking__ds__extract_year
- , subq_2.booking__ds__extract_quarter
- , subq_2.booking__ds__extract_month
- , subq_2.booking__ds__extract_day
- , subq_2.booking__ds__extract_dow
- , subq_2.booking__ds__extract_doy
- , subq_2.booking__ds_partitioned__day
- , subq_2.booking__ds_partitioned__week
- , subq_2.booking__ds_partitioned__month
- , subq_2.booking__ds_partitioned__quarter
- , subq_2.booking__ds_partitioned__year
- , subq_2.booking__ds_partitioned__extract_year
- , subq_2.booking__ds_partitioned__extract_quarter
- , subq_2.booking__ds_partitioned__extract_month
- , subq_2.booking__ds_partitioned__extract_day
- , subq_2.booking__ds_partitioned__extract_dow
- , subq_2.booking__ds_partitioned__extract_doy
- , subq_2.booking__paid_at__day
- , subq_2.booking__paid_at__week
- , subq_2.booking__paid_at__month
- , subq_2.booking__paid_at__quarter
- , subq_2.booking__paid_at__year
- , subq_2.booking__paid_at__extract_year
- , subq_2.booking__paid_at__extract_quarter
- , subq_2.booking__paid_at__extract_month
- , subq_2.booking__paid_at__extract_day
- , subq_2.booking__paid_at__extract_dow
- , subq_2.booking__paid_at__extract_doy
- , subq_2.ds__day AS metric_time__day
- , subq_2.ds__week AS metric_time__week
- , subq_2.ds__month AS metric_time__month
- , subq_2.ds__quarter AS metric_time__quarter
- , subq_2.ds__year AS metric_time__year
- , subq_2.ds__extract_year AS metric_time__extract_year
- , subq_2.ds__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds__extract_month AS metric_time__extract_month
- , subq_2.ds__extract_day AS metric_time__extract_day
- , subq_2.ds__extract_dow AS metric_time__extract_dow
- , subq_2.ds__extract_doy AS metric_time__extract_doy
- , subq_2.listing
- , subq_2.guest
- , subq_2.host
- , subq_2.booking__listing
- , subq_2.booking__guest
- , subq_2.booking__host
- , subq_2.is_instant
- , subq_2.booking__is_instant
- , subq_2.bookings
- , subq_2.instant_bookings
- , subq_2.booking_value
- , subq_2.max_booking_value
- , subq_2.min_booking_value
- , subq_2.bookers
- , subq_2.average_booking_value
- , subq_2.referred_bookings
- , subq_2.median_booking_value
- , subq_2.booking_value_p99
- , subq_2.discrete_booking_value_p99
- , subq_2.approximate_continuous_booking_value_p99
- , subq_2.approximate_discrete_booking_value_p99
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.max_booking_value
+ , subq_3.min_booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
+ , subq_3.referred_bookings
+ , subq_3.median_booking_value
+ , subq_3.booking_value_p99
+ , subq_3.discrete_booking_value_p99
+ , subq_3.approximate_continuous_booking_value_p99
+ , subq_3.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -640,23 +640,23 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_2
- ) subq_3
- ) subq_4
+ ) subq_3
+ ) subq_5
+ ) subq_6
GROUP BY
- subq_4.listing
- ) subq_5
- ) subq_6
- ) subq_7
+ subq_6.listing
+ ) subq_7
+ ) subq_8
+ ) subq_9
ON
- subq_1.listing = subq_7.listing
- ) subq_8
+ subq_4.listing = subq_9.listing
+ ) subq_10
WHERE listing__bookings > 2
- ) subq_9
- ) subq_10
+ ) subq_11
+ ) subq_12
GROUP BY
- subq_10.metric_time__month
- ) subq_11
- ) subq_12
- ORDER BY subq_12.bookings
-) subq_13
+ subq_12.metric_time__month
+ ) subq_13
+ ) subq_14
+ ORDER BY subq_14.bookings
+) subq_15
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_metric_alias__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_metric_alias__plan0_optimized.sql
index 6cc6fd3036..8d6b08bf3c 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_metric_alias__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_metric_alias__plan0_optimized.sql
@@ -26,9 +26,9 @@ SELECT
FROM (
-- Join Standard Outputs
SELECT
- subq_20.listing__bookings AS listing__bookings
- , subq_15.metric_time__month AS metric_time__month
- , subq_15.bookings AS bookings
+ subq_22.listing__bookings AS listing__bookings
+ , subq_17.metric_time__month AS metric_time__month
+ , subq_17.bookings AS bookings
FROM (
-- Read From CTE For node_id=sma_28009
SELECT
@@ -36,7 +36,7 @@ FROM (
, listing
, bookings
FROM sma_28009_cte sma_28009_cte
- ) subq_15
+ ) subq_17
LEFT OUTER JOIN (
-- Read From CTE For node_id=sma_28009
-- Pass Only Elements: ['bookings', 'listing']
@@ -49,10 +49,10 @@ FROM (
FROM sma_28009_cte sma_28009_cte
GROUP BY
listing
- ) subq_20
+ ) subq_22
ON
- subq_15.listing = subq_20.listing
-) subq_21
+ subq_17.listing = subq_22.listing
+) subq_23
WHERE listing__bookings > 2
GROUP BY
metric_time__month
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_through_scd_dimension__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_through_scd_dimension__plan0.sql
index e3fe923e91..a2cf527245 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_through_scd_dimension__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_through_scd_dimension__plan0.sql
@@ -6,214 +6,214 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_9.metric_time__day
- , subq_9.listing__user__home_state_latest
- , subq_9.bookings
+ subq_18.metric_time__day
+ , subq_18.listing__user__home_state_latest
+ , subq_18.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_8.metric_time__day
- , subq_8.listing__user__home_state_latest
- , SUM(subq_8.bookings) AS bookings
+ subq_17.metric_time__day
+ , subq_17.listing__user__home_state_latest
+ , SUM(subq_17.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing__user__home_state_latest', 'metric_time__day']
SELECT
- subq_7.metric_time__day
- , subq_7.listing__user__home_state_latest
- , subq_7.bookings
+ subq_16.metric_time__day
+ , subq_16.listing__user__home_state_latest
+ , subq_16.bookings
FROM (
-- Join Standard Outputs
SELECT
- subq_6.user__home_state_latest AS listing__user__home_state_latest
- , subq_6.window_start__day AS listing__window_start__day
- , subq_6.window_end__day AS listing__window_end__day
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.user AS user
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.booking__user AS booking__user
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
+ subq_15.user__home_state_latest AS listing__user__home_state_latest
+ , subq_15.window_start__day AS listing__window_start__day
+ , subq_15.window_end__day AS listing__window_end__day
+ , subq_10.ds__day AS ds__day
+ , subq_10.ds__week AS ds__week
+ , subq_10.ds__month AS ds__month
+ , subq_10.ds__quarter AS ds__quarter
+ , subq_10.ds__year AS ds__year
+ , subq_10.ds__extract_year AS ds__extract_year
+ , subq_10.ds__extract_quarter AS ds__extract_quarter
+ , subq_10.ds__extract_month AS ds__extract_month
+ , subq_10.ds__extract_day AS ds__extract_day
+ , subq_10.ds__extract_dow AS ds__extract_dow
+ , subq_10.ds__extract_doy AS ds__extract_doy
+ , subq_10.ds_partitioned__day AS ds_partitioned__day
+ , subq_10.ds_partitioned__week AS ds_partitioned__week
+ , subq_10.ds_partitioned__month AS ds_partitioned__month
+ , subq_10.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_10.ds_partitioned__year AS ds_partitioned__year
+ , subq_10.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_10.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_10.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_10.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_10.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_10.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_10.paid_at__day AS paid_at__day
+ , subq_10.paid_at__week AS paid_at__week
+ , subq_10.paid_at__month AS paid_at__month
+ , subq_10.paid_at__quarter AS paid_at__quarter
+ , subq_10.paid_at__year AS paid_at__year
+ , subq_10.paid_at__extract_year AS paid_at__extract_year
+ , subq_10.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_10.paid_at__extract_month AS paid_at__extract_month
+ , subq_10.paid_at__extract_day AS paid_at__extract_day
+ , subq_10.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_10.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_10.booking__ds__day AS booking__ds__day
+ , subq_10.booking__ds__week AS booking__ds__week
+ , subq_10.booking__ds__month AS booking__ds__month
+ , subq_10.booking__ds__quarter AS booking__ds__quarter
+ , subq_10.booking__ds__year AS booking__ds__year
+ , subq_10.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_10.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_10.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_10.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_10.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_10.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_10.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_10.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_10.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_10.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_10.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_10.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_10.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_10.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_10.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_10.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_10.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_10.booking__paid_at__day AS booking__paid_at__day
+ , subq_10.booking__paid_at__week AS booking__paid_at__week
+ , subq_10.booking__paid_at__month AS booking__paid_at__month
+ , subq_10.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_10.booking__paid_at__year AS booking__paid_at__year
+ , subq_10.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_10.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_10.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_10.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_10.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_10.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_10.metric_time__day AS metric_time__day
+ , subq_10.metric_time__week AS metric_time__week
+ , subq_10.metric_time__month AS metric_time__month
+ , subq_10.metric_time__quarter AS metric_time__quarter
+ , subq_10.metric_time__year AS metric_time__year
+ , subq_10.metric_time__extract_year AS metric_time__extract_year
+ , subq_10.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_10.metric_time__extract_month AS metric_time__extract_month
+ , subq_10.metric_time__extract_day AS metric_time__extract_day
+ , subq_10.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_10.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_10.listing AS listing
+ , subq_10.guest AS guest
+ , subq_10.host AS host
+ , subq_10.user AS user
+ , subq_10.booking__listing AS booking__listing
+ , subq_10.booking__guest AS booking__guest
+ , subq_10.booking__host AS booking__host
+ , subq_10.booking__user AS booking__user
+ , subq_10.is_instant AS is_instant
+ , subq_10.booking__is_instant AS booking__is_instant
+ , subq_10.bookings AS bookings
+ , subq_10.instant_bookings AS instant_bookings
+ , subq_10.booking_value AS booking_value
+ , subq_10.bookers AS bookers
+ , subq_10.average_booking_value AS average_booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.user
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.booking__user
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.ds_partitioned__day
+ , subq_9.ds_partitioned__week
+ , subq_9.ds_partitioned__month
+ , subq_9.ds_partitioned__quarter
+ , subq_9.ds_partitioned__year
+ , subq_9.ds_partitioned__extract_year
+ , subq_9.ds_partitioned__extract_quarter
+ , subq_9.ds_partitioned__extract_month
+ , subq_9.ds_partitioned__extract_day
+ , subq_9.ds_partitioned__extract_dow
+ , subq_9.ds_partitioned__extract_doy
+ , subq_9.paid_at__day
+ , subq_9.paid_at__week
+ , subq_9.paid_at__month
+ , subq_9.paid_at__quarter
+ , subq_9.paid_at__year
+ , subq_9.paid_at__extract_year
+ , subq_9.paid_at__extract_quarter
+ , subq_9.paid_at__extract_month
+ , subq_9.paid_at__extract_day
+ , subq_9.paid_at__extract_dow
+ , subq_9.paid_at__extract_doy
+ , subq_9.booking__ds__day
+ , subq_9.booking__ds__week
+ , subq_9.booking__ds__month
+ , subq_9.booking__ds__quarter
+ , subq_9.booking__ds__year
+ , subq_9.booking__ds__extract_year
+ , subq_9.booking__ds__extract_quarter
+ , subq_9.booking__ds__extract_month
+ , subq_9.booking__ds__extract_day
+ , subq_9.booking__ds__extract_dow
+ , subq_9.booking__ds__extract_doy
+ , subq_9.booking__ds_partitioned__day
+ , subq_9.booking__ds_partitioned__week
+ , subq_9.booking__ds_partitioned__month
+ , subq_9.booking__ds_partitioned__quarter
+ , subq_9.booking__ds_partitioned__year
+ , subq_9.booking__ds_partitioned__extract_year
+ , subq_9.booking__ds_partitioned__extract_quarter
+ , subq_9.booking__ds_partitioned__extract_month
+ , subq_9.booking__ds_partitioned__extract_day
+ , subq_9.booking__ds_partitioned__extract_dow
+ , subq_9.booking__ds_partitioned__extract_doy
+ , subq_9.booking__paid_at__day
+ , subq_9.booking__paid_at__week
+ , subq_9.booking__paid_at__month
+ , subq_9.booking__paid_at__quarter
+ , subq_9.booking__paid_at__year
+ , subq_9.booking__paid_at__extract_year
+ , subq_9.booking__paid_at__extract_quarter
+ , subq_9.booking__paid_at__extract_month
+ , subq_9.booking__paid_at__extract_day
+ , subq_9.booking__paid_at__extract_dow
+ , subq_9.booking__paid_at__extract_doy
+ , subq_9.ds__day AS metric_time__day
+ , subq_9.ds__week AS metric_time__week
+ , subq_9.ds__month AS metric_time__month
+ , subq_9.ds__quarter AS metric_time__quarter
+ , subq_9.ds__year AS metric_time__year
+ , subq_9.ds__extract_year AS metric_time__extract_year
+ , subq_9.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_9.ds__extract_month AS metric_time__extract_month
+ , subq_9.ds__extract_day AS metric_time__extract_day
+ , subq_9.ds__extract_dow AS metric_time__extract_dow
+ , subq_9.ds__extract_doy AS metric_time__extract_doy
+ , subq_9.listing
+ , subq_9.guest
+ , subq_9.host
+ , subq_9.user
+ , subq_9.booking__listing
+ , subq_9.booking__guest
+ , subq_9.booking__host
+ , subq_9.booking__user
+ , subq_9.is_instant
+ , subq_9.booking__is_instant
+ , subq_9.bookings
+ , subq_9.instant_bookings
+ , subq_9.booking_value
+ , subq_9.bookers
+ , subq_9.average_booking_value
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -300,83 +300,83 @@ FROM (
, bookings_source_src_26000.host_id AS booking__host
, bookings_source_src_26000.guest_id AS booking__user
FROM ***************************.fct_bookings bookings_source_src_26000
- ) subq_0
- ) subq_1
+ ) subq_9
+ ) subq_10
LEFT OUTER JOIN (
-- Pass Only Elements: ['user__home_state_latest', 'window_start__day', 'window_end__day', 'listing']
SELECT
- subq_5.window_start__day
- , subq_5.window_end__day
- , subq_5.listing
- , subq_5.user__home_state_latest
+ subq_14.window_start__day
+ , subq_14.window_end__day
+ , subq_14.listing
+ , subq_14.user__home_state_latest
FROM (
-- Join Standard Outputs
SELECT
- subq_4.home_state_latest AS user__home_state_latest
- , subq_4.ds__day AS user__ds__day
- , subq_4.ds__week AS user__ds__week
- , subq_4.ds__month AS user__ds__month
- , subq_4.ds__quarter AS user__ds__quarter
- , subq_4.ds__year AS user__ds__year
- , subq_4.ds__extract_year AS user__ds__extract_year
- , subq_4.ds__extract_quarter AS user__ds__extract_quarter
- , subq_4.ds__extract_month AS user__ds__extract_month
- , subq_4.ds__extract_day AS user__ds__extract_day
- , subq_4.ds__extract_dow AS user__ds__extract_dow
- , subq_4.ds__extract_doy AS user__ds__extract_doy
- , subq_2.window_start__day AS window_start__day
- , subq_2.window_start__week AS window_start__week
- , subq_2.window_start__month AS window_start__month
- , subq_2.window_start__quarter AS window_start__quarter
- , subq_2.window_start__year AS window_start__year
- , subq_2.window_start__extract_year AS window_start__extract_year
- , subq_2.window_start__extract_quarter AS window_start__extract_quarter
- , subq_2.window_start__extract_month AS window_start__extract_month
- , subq_2.window_start__extract_day AS window_start__extract_day
- , subq_2.window_start__extract_dow AS window_start__extract_dow
- , subq_2.window_start__extract_doy AS window_start__extract_doy
- , subq_2.window_end__day AS window_end__day
- , subq_2.window_end__week AS window_end__week
- , subq_2.window_end__month AS window_end__month
- , subq_2.window_end__quarter AS window_end__quarter
- , subq_2.window_end__year AS window_end__year
- , subq_2.window_end__extract_year AS window_end__extract_year
- , subq_2.window_end__extract_quarter AS window_end__extract_quarter
- , subq_2.window_end__extract_month AS window_end__extract_month
- , subq_2.window_end__extract_day AS window_end__extract_day
- , subq_2.window_end__extract_dow AS window_end__extract_dow
- , subq_2.window_end__extract_doy AS window_end__extract_doy
- , subq_2.listing__window_start__day AS listing__window_start__day
- , subq_2.listing__window_start__week AS listing__window_start__week
- , subq_2.listing__window_start__month AS listing__window_start__month
- , subq_2.listing__window_start__quarter AS listing__window_start__quarter
- , subq_2.listing__window_start__year AS listing__window_start__year
- , subq_2.listing__window_start__extract_year AS listing__window_start__extract_year
- , subq_2.listing__window_start__extract_quarter AS listing__window_start__extract_quarter
- , subq_2.listing__window_start__extract_month AS listing__window_start__extract_month
- , subq_2.listing__window_start__extract_day AS listing__window_start__extract_day
- , subq_2.listing__window_start__extract_dow AS listing__window_start__extract_dow
- , subq_2.listing__window_start__extract_doy AS listing__window_start__extract_doy
- , subq_2.listing__window_end__day AS listing__window_end__day
- , subq_2.listing__window_end__week AS listing__window_end__week
- , subq_2.listing__window_end__month AS listing__window_end__month
- , subq_2.listing__window_end__quarter AS listing__window_end__quarter
- , subq_2.listing__window_end__year AS listing__window_end__year
- , subq_2.listing__window_end__extract_year AS listing__window_end__extract_year
- , subq_2.listing__window_end__extract_quarter AS listing__window_end__extract_quarter
- , subq_2.listing__window_end__extract_month AS listing__window_end__extract_month
- , subq_2.listing__window_end__extract_day AS listing__window_end__extract_day
- , subq_2.listing__window_end__extract_dow AS listing__window_end__extract_dow
- , subq_2.listing__window_end__extract_doy AS listing__window_end__extract_doy
- , subq_2.listing AS listing
- , subq_2.user AS user
- , subq_2.listing__user AS listing__user
- , subq_2.country AS country
- , subq_2.is_lux AS is_lux
- , subq_2.capacity AS capacity
- , subq_2.listing__country AS listing__country
- , subq_2.listing__is_lux AS listing__is_lux
- , subq_2.listing__capacity AS listing__capacity
+ subq_13.home_state_latest AS user__home_state_latest
+ , subq_13.ds__day AS user__ds__day
+ , subq_13.ds__week AS user__ds__week
+ , subq_13.ds__month AS user__ds__month
+ , subq_13.ds__quarter AS user__ds__quarter
+ , subq_13.ds__year AS user__ds__year
+ , subq_13.ds__extract_year AS user__ds__extract_year
+ , subq_13.ds__extract_quarter AS user__ds__extract_quarter
+ , subq_13.ds__extract_month AS user__ds__extract_month
+ , subq_13.ds__extract_day AS user__ds__extract_day
+ , subq_13.ds__extract_dow AS user__ds__extract_dow
+ , subq_13.ds__extract_doy AS user__ds__extract_doy
+ , subq_11.window_start__day AS window_start__day
+ , subq_11.window_start__week AS window_start__week
+ , subq_11.window_start__month AS window_start__month
+ , subq_11.window_start__quarter AS window_start__quarter
+ , subq_11.window_start__year AS window_start__year
+ , subq_11.window_start__extract_year AS window_start__extract_year
+ , subq_11.window_start__extract_quarter AS window_start__extract_quarter
+ , subq_11.window_start__extract_month AS window_start__extract_month
+ , subq_11.window_start__extract_day AS window_start__extract_day
+ , subq_11.window_start__extract_dow AS window_start__extract_dow
+ , subq_11.window_start__extract_doy AS window_start__extract_doy
+ , subq_11.window_end__day AS window_end__day
+ , subq_11.window_end__week AS window_end__week
+ , subq_11.window_end__month AS window_end__month
+ , subq_11.window_end__quarter AS window_end__quarter
+ , subq_11.window_end__year AS window_end__year
+ , subq_11.window_end__extract_year AS window_end__extract_year
+ , subq_11.window_end__extract_quarter AS window_end__extract_quarter
+ , subq_11.window_end__extract_month AS window_end__extract_month
+ , subq_11.window_end__extract_day AS window_end__extract_day
+ , subq_11.window_end__extract_dow AS window_end__extract_dow
+ , subq_11.window_end__extract_doy AS window_end__extract_doy
+ , subq_11.listing__window_start__day AS listing__window_start__day
+ , subq_11.listing__window_start__week AS listing__window_start__week
+ , subq_11.listing__window_start__month AS listing__window_start__month
+ , subq_11.listing__window_start__quarter AS listing__window_start__quarter
+ , subq_11.listing__window_start__year AS listing__window_start__year
+ , subq_11.listing__window_start__extract_year AS listing__window_start__extract_year
+ , subq_11.listing__window_start__extract_quarter AS listing__window_start__extract_quarter
+ , subq_11.listing__window_start__extract_month AS listing__window_start__extract_month
+ , subq_11.listing__window_start__extract_day AS listing__window_start__extract_day
+ , subq_11.listing__window_start__extract_dow AS listing__window_start__extract_dow
+ , subq_11.listing__window_start__extract_doy AS listing__window_start__extract_doy
+ , subq_11.listing__window_end__day AS listing__window_end__day
+ , subq_11.listing__window_end__week AS listing__window_end__week
+ , subq_11.listing__window_end__month AS listing__window_end__month
+ , subq_11.listing__window_end__quarter AS listing__window_end__quarter
+ , subq_11.listing__window_end__year AS listing__window_end__year
+ , subq_11.listing__window_end__extract_year AS listing__window_end__extract_year
+ , subq_11.listing__window_end__extract_quarter AS listing__window_end__extract_quarter
+ , subq_11.listing__window_end__extract_month AS listing__window_end__extract_month
+ , subq_11.listing__window_end__extract_day AS listing__window_end__extract_day
+ , subq_11.listing__window_end__extract_dow AS listing__window_end__extract_dow
+ , subq_11.listing__window_end__extract_doy AS listing__window_end__extract_doy
+ , subq_11.listing AS listing
+ , subq_11.user AS user
+ , subq_11.listing__user AS listing__user
+ , subq_11.country AS country
+ , subq_11.is_lux AS is_lux
+ , subq_11.capacity AS capacity
+ , subq_11.listing__country AS listing__country
+ , subq_11.listing__is_lux AS listing__is_lux
+ , subq_11.listing__capacity AS listing__capacity
FROM (
-- Read Elements From Semantic Model 'listings'
SELECT
@@ -434,7 +434,7 @@ FROM (
, listings_src_26000.user_id AS user
, listings_src_26000.user_id AS listing__user
FROM ***************************.dim_listings listings_src_26000
- ) subq_2
+ ) subq_11
LEFT OUTER JOIN (
-- Pass Only Elements: [
-- 'home_state_latest',
@@ -464,31 +464,31 @@ FROM (
-- 'user',
-- ]
SELECT
- subq_3.ds__day
- , subq_3.ds__week
- , subq_3.ds__month
- , subq_3.ds__quarter
- , subq_3.ds__year
- , subq_3.ds__extract_year
- , subq_3.ds__extract_quarter
- , subq_3.ds__extract_month
- , subq_3.ds__extract_day
- , subq_3.ds__extract_dow
- , subq_3.ds__extract_doy
- , subq_3.user__ds__day
- , subq_3.user__ds__week
- , subq_3.user__ds__month
- , subq_3.user__ds__quarter
- , subq_3.user__ds__year
- , subq_3.user__ds__extract_year
- , subq_3.user__ds__extract_quarter
- , subq_3.user__ds__extract_month
- , subq_3.user__ds__extract_day
- , subq_3.user__ds__extract_dow
- , subq_3.user__ds__extract_doy
- , subq_3.user
- , subq_3.home_state_latest
- , subq_3.user__home_state_latest
+ subq_12.ds__day
+ , subq_12.ds__week
+ , subq_12.ds__month
+ , subq_12.ds__quarter
+ , subq_12.ds__year
+ , subq_12.ds__extract_year
+ , subq_12.ds__extract_quarter
+ , subq_12.ds__extract_month
+ , subq_12.ds__extract_day
+ , subq_12.ds__extract_dow
+ , subq_12.ds__extract_doy
+ , subq_12.user__ds__day
+ , subq_12.user__ds__week
+ , subq_12.user__ds__month
+ , subq_12.user__ds__quarter
+ , subq_12.user__ds__year
+ , subq_12.user__ds__extract_year
+ , subq_12.user__ds__extract_quarter
+ , subq_12.user__ds__extract_month
+ , subq_12.user__ds__extract_day
+ , subq_12.user__ds__extract_dow
+ , subq_12.user__ds__extract_doy
+ , subq_12.user
+ , subq_12.home_state_latest
+ , subq_12.user__home_state_latest
FROM (
-- Read Elements From Semantic Model 'users_latest'
SELECT
@@ -518,29 +518,29 @@ FROM (
, users_latest_src_26000.home_state_latest AS user__home_state_latest
, users_latest_src_26000.user_id AS user
FROM ***************************.dim_users_latest users_latest_src_26000
- ) subq_3
- ) subq_4
+ ) subq_12
+ ) subq_13
ON
- subq_2.user = subq_4.user
- ) subq_5
- ) subq_6
+ subq_11.user = subq_13.user
+ ) subq_14
+ ) subq_15
ON
(
- subq_1.listing = subq_6.listing
+ subq_10.listing = subq_15.listing
) AND (
(
- subq_1.metric_time__day >= subq_6.window_start__day
+ subq_10.metric_time__day >= subq_15.window_start__day
) AND (
(
- subq_1.metric_time__day < subq_6.window_end__day
+ subq_10.metric_time__day < subq_15.window_end__day
) OR (
- subq_6.window_end__day IS NULL
+ subq_15.window_end__day IS NULL
)
)
)
- ) subq_7
- ) subq_8
+ ) subq_16
+ ) subq_17
GROUP BY
- subq_8.metric_time__day
- , subq_8.listing__user__home_state_latest
-) subq_9
+ subq_17.metric_time__day
+ , subq_17.listing__user__home_state_latest
+) subq_18
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_through_scd_dimension__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_through_scd_dimension__plan0_optimized.sql
index 72a13714f4..834eba20d1 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_through_scd_dimension__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_through_scd_dimension__plan0_optimized.sql
@@ -9,9 +9,9 @@ sql_engine: DuckDB
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_11.metric_time__day AS metric_time__day
- , subq_16.user__home_state_latest AS listing__user__home_state_latest
- , SUM(subq_11.bookings) AS bookings
+ subq_20.metric_time__day AS metric_time__day
+ , subq_25.user__home_state_latest AS listing__user__home_state_latest
+ , SUM(subq_20.bookings) AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -20,7 +20,7 @@ FROM (
, listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_26000
-) subq_11
+) subq_20
LEFT OUTER JOIN (
-- Join Standard Outputs
-- Pass Only Elements: ['user__home_state_latest', 'window_start__day', 'window_end__day', 'listing']
@@ -34,21 +34,21 @@ LEFT OUTER JOIN (
***************************.dim_users_latest users_latest_src_26000
ON
listings_src_26000.user_id = users_latest_src_26000.user_id
-) subq_16
+) subq_25
ON
(
- subq_11.listing = subq_16.listing
+ subq_20.listing = subq_25.listing
) AND (
(
- subq_11.metric_time__day >= subq_16.window_start__day
+ subq_20.metric_time__day >= subq_25.window_start__day
) AND (
(
- subq_11.metric_time__day < subq_16.window_end__day
+ subq_20.metric_time__day < subq_25.window_end__day
) OR (
- subq_16.window_end__day IS NULL
+ subq_25.window_end__day IS NULL
)
)
)
GROUP BY
- subq_11.metric_time__day
- , subq_16.user__home_state_latest
+ subq_20.metric_time__day
+ , subq_25.user__home_state_latest
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_to_scd_dimension__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_to_scd_dimension__plan0.sql
index a1b338c20a..04bc720914 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_to_scd_dimension__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_to_scd_dimension__plan0.sql
@@ -6,214 +6,214 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_9.metric_time__day
- , subq_9.listing__lux_listing__is_confirmed_lux
- , subq_9.bookings
+ subq_12.metric_time__day
+ , subq_12.listing__lux_listing__is_confirmed_lux
+ , subq_12.bookings
FROM (
-- Aggregate Measures
SELECT
- subq_8.metric_time__day
- , subq_8.listing__lux_listing__is_confirmed_lux
- , SUM(subq_8.bookings) AS bookings
+ subq_11.metric_time__day
+ , subq_11.listing__lux_listing__is_confirmed_lux
+ , SUM(subq_11.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'listing__lux_listing__is_confirmed_lux', 'metric_time__day']
SELECT
- subq_7.metric_time__day
- , subq_7.listing__lux_listing__is_confirmed_lux
- , subq_7.bookings
+ subq_10.metric_time__day
+ , subq_10.listing__lux_listing__is_confirmed_lux
+ , subq_10.bookings
FROM (
-- Join Standard Outputs
SELECT
- subq_6.lux_listing__is_confirmed_lux AS listing__lux_listing__is_confirmed_lux
- , subq_6.lux_listing__window_start__day AS listing__lux_listing__window_start__day
- , subq_6.lux_listing__window_end__day AS listing__lux_listing__window_end__day
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.paid_at__day AS paid_at__day
- , subq_1.paid_at__week AS paid_at__week
- , subq_1.paid_at__month AS paid_at__month
- , subq_1.paid_at__quarter AS paid_at__quarter
- , subq_1.paid_at__year AS paid_at__year
- , subq_1.paid_at__extract_year AS paid_at__extract_year
- , subq_1.paid_at__extract_quarter AS paid_at__extract_quarter
- , subq_1.paid_at__extract_month AS paid_at__extract_month
- , subq_1.paid_at__extract_day AS paid_at__extract_day
- , subq_1.paid_at__extract_dow AS paid_at__extract_dow
- , subq_1.paid_at__extract_doy AS paid_at__extract_doy
- , subq_1.booking__ds__day AS booking__ds__day
- , subq_1.booking__ds__week AS booking__ds__week
- , subq_1.booking__ds__month AS booking__ds__month
- , subq_1.booking__ds__quarter AS booking__ds__quarter
- , subq_1.booking__ds__year AS booking__ds__year
- , subq_1.booking__ds__extract_year AS booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter AS booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month AS booking__ds__extract_month
- , subq_1.booking__ds__extract_day AS booking__ds__extract_day
- , subq_1.booking__ds__extract_dow AS booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy AS booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day AS booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week AS booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month AS booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year AS booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day AS booking__paid_at__day
- , subq_1.booking__paid_at__week AS booking__paid_at__week
- , subq_1.booking__paid_at__month AS booking__paid_at__month
- , subq_1.booking__paid_at__quarter AS booking__paid_at__quarter
- , subq_1.booking__paid_at__year AS booking__paid_at__year
- , subq_1.booking__paid_at__extract_year AS booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month AS booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day AS booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.listing AS listing
- , subq_1.guest AS guest
- , subq_1.host AS host
- , subq_1.user AS user
- , subq_1.booking__listing AS booking__listing
- , subq_1.booking__guest AS booking__guest
- , subq_1.booking__host AS booking__host
- , subq_1.booking__user AS booking__user
- , subq_1.is_instant AS is_instant
- , subq_1.booking__is_instant AS booking__is_instant
- , subq_1.bookings AS bookings
- , subq_1.instant_bookings AS instant_bookings
- , subq_1.booking_value AS booking_value
- , subq_1.bookers AS bookers
- , subq_1.average_booking_value AS average_booking_value
+ subq_9.lux_listing__is_confirmed_lux AS listing__lux_listing__is_confirmed_lux
+ , subq_9.lux_listing__window_start__day AS listing__lux_listing__window_start__day
+ , subq_9.lux_listing__window_end__day AS listing__lux_listing__window_end__day
+ , subq_4.ds__day AS ds__day
+ , subq_4.ds__week AS ds__week
+ , subq_4.ds__month AS ds__month
+ , subq_4.ds__quarter AS ds__quarter
+ , subq_4.ds__year AS ds__year
+ , subq_4.ds__extract_year AS ds__extract_year
+ , subq_4.ds__extract_quarter AS ds__extract_quarter
+ , subq_4.ds__extract_month AS ds__extract_month
+ , subq_4.ds__extract_day AS ds__extract_day
+ , subq_4.ds__extract_dow AS ds__extract_dow
+ , subq_4.ds__extract_doy AS ds__extract_doy
+ , subq_4.ds_partitioned__day AS ds_partitioned__day
+ , subq_4.ds_partitioned__week AS ds_partitioned__week
+ , subq_4.ds_partitioned__month AS ds_partitioned__month
+ , subq_4.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_4.ds_partitioned__year AS ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_4.paid_at__day AS paid_at__day
+ , subq_4.paid_at__week AS paid_at__week
+ , subq_4.paid_at__month AS paid_at__month
+ , subq_4.paid_at__quarter AS paid_at__quarter
+ , subq_4.paid_at__year AS paid_at__year
+ , subq_4.paid_at__extract_year AS paid_at__extract_year
+ , subq_4.paid_at__extract_quarter AS paid_at__extract_quarter
+ , subq_4.paid_at__extract_month AS paid_at__extract_month
+ , subq_4.paid_at__extract_day AS paid_at__extract_day
+ , subq_4.paid_at__extract_dow AS paid_at__extract_dow
+ , subq_4.paid_at__extract_doy AS paid_at__extract_doy
+ , subq_4.booking__ds__day AS booking__ds__day
+ , subq_4.booking__ds__week AS booking__ds__week
+ , subq_4.booking__ds__month AS booking__ds__month
+ , subq_4.booking__ds__quarter AS booking__ds__quarter
+ , subq_4.booking__ds__year AS booking__ds__year
+ , subq_4.booking__ds__extract_year AS booking__ds__extract_year
+ , subq_4.booking__ds__extract_quarter AS booking__ds__extract_quarter
+ , subq_4.booking__ds__extract_month AS booking__ds__extract_month
+ , subq_4.booking__ds__extract_day AS booking__ds__extract_day
+ , subq_4.booking__ds__extract_dow AS booking__ds__extract_dow
+ , subq_4.booking__ds__extract_doy AS booking__ds__extract_doy
+ , subq_4.booking__ds_partitioned__day AS booking__ds_partitioned__day
+ , subq_4.booking__ds_partitioned__week AS booking__ds_partitioned__week
+ , subq_4.booking__ds_partitioned__month AS booking__ds_partitioned__month
+ , subq_4.booking__ds_partitioned__quarter AS booking__ds_partitioned__quarter
+ , subq_4.booking__ds_partitioned__year AS booking__ds_partitioned__year
+ , subq_4.booking__ds_partitioned__extract_year AS booking__ds_partitioned__extract_year
+ , subq_4.booking__ds_partitioned__extract_quarter AS booking__ds_partitioned__extract_quarter
+ , subq_4.booking__ds_partitioned__extract_month AS booking__ds_partitioned__extract_month
+ , subq_4.booking__ds_partitioned__extract_day AS booking__ds_partitioned__extract_day
+ , subq_4.booking__ds_partitioned__extract_dow AS booking__ds_partitioned__extract_dow
+ , subq_4.booking__ds_partitioned__extract_doy AS booking__ds_partitioned__extract_doy
+ , subq_4.booking__paid_at__day AS booking__paid_at__day
+ , subq_4.booking__paid_at__week AS booking__paid_at__week
+ , subq_4.booking__paid_at__month AS booking__paid_at__month
+ , subq_4.booking__paid_at__quarter AS booking__paid_at__quarter
+ , subq_4.booking__paid_at__year AS booking__paid_at__year
+ , subq_4.booking__paid_at__extract_year AS booking__paid_at__extract_year
+ , subq_4.booking__paid_at__extract_quarter AS booking__paid_at__extract_quarter
+ , subq_4.booking__paid_at__extract_month AS booking__paid_at__extract_month
+ , subq_4.booking__paid_at__extract_day AS booking__paid_at__extract_day
+ , subq_4.booking__paid_at__extract_dow AS booking__paid_at__extract_dow
+ , subq_4.booking__paid_at__extract_doy AS booking__paid_at__extract_doy
+ , subq_4.metric_time__day AS metric_time__day
+ , subq_4.metric_time__week AS metric_time__week
+ , subq_4.metric_time__month AS metric_time__month
+ , subq_4.metric_time__quarter AS metric_time__quarter
+ , subq_4.metric_time__year AS metric_time__year
+ , subq_4.metric_time__extract_year AS metric_time__extract_year
+ , subq_4.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_4.metric_time__extract_month AS metric_time__extract_month
+ , subq_4.metric_time__extract_day AS metric_time__extract_day
+ , subq_4.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_4.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_4.listing AS listing
+ , subq_4.guest AS guest
+ , subq_4.host AS host
+ , subq_4.user AS user
+ , subq_4.booking__listing AS booking__listing
+ , subq_4.booking__guest AS booking__guest
+ , subq_4.booking__host AS booking__host
+ , subq_4.booking__user AS booking__user
+ , subq_4.is_instant AS is_instant
+ , subq_4.booking__is_instant AS booking__is_instant
+ , subq_4.bookings AS bookings
+ , subq_4.instant_bookings AS instant_bookings
+ , subq_4.booking_value AS booking_value
+ , subq_4.bookers AS bookers
+ , subq_4.average_booking_value AS average_booking_value
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.user
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.booking__user
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.user
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.booking__user
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -300,44 +300,44 @@ FROM (
, bookings_source_src_26000.host_id AS booking__host
, bookings_source_src_26000.guest_id AS booking__user
FROM ***************************.fct_bookings bookings_source_src_26000
- ) subq_0
- ) subq_1
+ ) subq_3
+ ) subq_4
LEFT OUTER JOIN (
-- Pass Only Elements: ['lux_listing__is_confirmed_lux', 'lux_listing__window_start__day', 'lux_listing__window_end__day', 'listing']
SELECT
- subq_5.lux_listing__window_start__day
- , subq_5.lux_listing__window_end__day
- , subq_5.listing
- , subq_5.lux_listing__is_confirmed_lux
+ subq_8.lux_listing__window_start__day
+ , subq_8.lux_listing__window_end__day
+ , subq_8.listing
+ , subq_8.lux_listing__is_confirmed_lux
FROM (
-- Join Standard Outputs
SELECT
- subq_4.is_confirmed_lux AS lux_listing__is_confirmed_lux
- , subq_4.window_start__day AS lux_listing__window_start__day
- , subq_4.window_start__week AS lux_listing__window_start__week
- , subq_4.window_start__month AS lux_listing__window_start__month
- , subq_4.window_start__quarter AS lux_listing__window_start__quarter
- , subq_4.window_start__year AS lux_listing__window_start__year
- , subq_4.window_start__extract_year AS lux_listing__window_start__extract_year
- , subq_4.window_start__extract_quarter AS lux_listing__window_start__extract_quarter
- , subq_4.window_start__extract_month AS lux_listing__window_start__extract_month
- , subq_4.window_start__extract_day AS lux_listing__window_start__extract_day
- , subq_4.window_start__extract_dow AS lux_listing__window_start__extract_dow
- , subq_4.window_start__extract_doy AS lux_listing__window_start__extract_doy
- , subq_4.window_end__day AS lux_listing__window_end__day
- , subq_4.window_end__week AS lux_listing__window_end__week
- , subq_4.window_end__month AS lux_listing__window_end__month
- , subq_4.window_end__quarter AS lux_listing__window_end__quarter
- , subq_4.window_end__year AS lux_listing__window_end__year
- , subq_4.window_end__extract_year AS lux_listing__window_end__extract_year
- , subq_4.window_end__extract_quarter AS lux_listing__window_end__extract_quarter
- , subq_4.window_end__extract_month AS lux_listing__window_end__extract_month
- , subq_4.window_end__extract_day AS lux_listing__window_end__extract_day
- , subq_4.window_end__extract_dow AS lux_listing__window_end__extract_dow
- , subq_4.window_end__extract_doy AS lux_listing__window_end__extract_doy
- , subq_2.listing AS listing
- , subq_2.lux_listing AS lux_listing
- , subq_2.listing__lux_listing AS listing__lux_listing
+ subq_7.is_confirmed_lux AS lux_listing__is_confirmed_lux
+ , subq_7.window_start__day AS lux_listing__window_start__day
+ , subq_7.window_start__week AS lux_listing__window_start__week
+ , subq_7.window_start__month AS lux_listing__window_start__month
+ , subq_7.window_start__quarter AS lux_listing__window_start__quarter
+ , subq_7.window_start__year AS lux_listing__window_start__year
+ , subq_7.window_start__extract_year AS lux_listing__window_start__extract_year
+ , subq_7.window_start__extract_quarter AS lux_listing__window_start__extract_quarter
+ , subq_7.window_start__extract_month AS lux_listing__window_start__extract_month
+ , subq_7.window_start__extract_day AS lux_listing__window_start__extract_day
+ , subq_7.window_start__extract_dow AS lux_listing__window_start__extract_dow
+ , subq_7.window_start__extract_doy AS lux_listing__window_start__extract_doy
+ , subq_7.window_end__day AS lux_listing__window_end__day
+ , subq_7.window_end__week AS lux_listing__window_end__week
+ , subq_7.window_end__month AS lux_listing__window_end__month
+ , subq_7.window_end__quarter AS lux_listing__window_end__quarter
+ , subq_7.window_end__year AS lux_listing__window_end__year
+ , subq_7.window_end__extract_year AS lux_listing__window_end__extract_year
+ , subq_7.window_end__extract_quarter AS lux_listing__window_end__extract_quarter
+ , subq_7.window_end__extract_month AS lux_listing__window_end__extract_month
+ , subq_7.window_end__extract_day AS lux_listing__window_end__extract_day
+ , subq_7.window_end__extract_dow AS lux_listing__window_end__extract_dow
+ , subq_7.window_end__extract_doy AS lux_listing__window_end__extract_doy
+ , subq_5.listing AS listing
+ , subq_5.lux_listing AS lux_listing
+ , subq_5.listing__lux_listing AS listing__lux_listing
FROM (
-- Read Elements From Semantic Model 'lux_listing_mapping'
SELECT
@@ -345,7 +345,7 @@ FROM (
, lux_listing_mapping_src_26000.lux_listing_id AS lux_listing
, lux_listing_mapping_src_26000.lux_listing_id AS listing__lux_listing
FROM ***************************.dim_lux_listing_id_mapping lux_listing_mapping_src_26000
- ) subq_2
+ ) subq_5
LEFT OUTER JOIN (
-- Pass Only Elements: [
-- 'is_confirmed_lux',
@@ -397,53 +397,53 @@ FROM (
-- 'lux_listing',
-- ]
SELECT
- subq_3.window_start__day
- , subq_3.window_start__week
- , subq_3.window_start__month
- , subq_3.window_start__quarter
- , subq_3.window_start__year
- , subq_3.window_start__extract_year
- , subq_3.window_start__extract_quarter
- , subq_3.window_start__extract_month
- , subq_3.window_start__extract_day
- , subq_3.window_start__extract_dow
- , subq_3.window_start__extract_doy
- , subq_3.window_end__day
- , subq_3.window_end__week
- , subq_3.window_end__month
- , subq_3.window_end__quarter
- , subq_3.window_end__year
- , subq_3.window_end__extract_year
- , subq_3.window_end__extract_quarter
- , subq_3.window_end__extract_month
- , subq_3.window_end__extract_day
- , subq_3.window_end__extract_dow
- , subq_3.window_end__extract_doy
- , subq_3.lux_listing__window_start__day
- , subq_3.lux_listing__window_start__week
- , subq_3.lux_listing__window_start__month
- , subq_3.lux_listing__window_start__quarter
- , subq_3.lux_listing__window_start__year
- , subq_3.lux_listing__window_start__extract_year
- , subq_3.lux_listing__window_start__extract_quarter
- , subq_3.lux_listing__window_start__extract_month
- , subq_3.lux_listing__window_start__extract_day
- , subq_3.lux_listing__window_start__extract_dow
- , subq_3.lux_listing__window_start__extract_doy
- , subq_3.lux_listing__window_end__day
- , subq_3.lux_listing__window_end__week
- , subq_3.lux_listing__window_end__month
- , subq_3.lux_listing__window_end__quarter
- , subq_3.lux_listing__window_end__year
- , subq_3.lux_listing__window_end__extract_year
- , subq_3.lux_listing__window_end__extract_quarter
- , subq_3.lux_listing__window_end__extract_month
- , subq_3.lux_listing__window_end__extract_day
- , subq_3.lux_listing__window_end__extract_dow
- , subq_3.lux_listing__window_end__extract_doy
- , subq_3.lux_listing
- , subq_3.is_confirmed_lux
- , subq_3.lux_listing__is_confirmed_lux
+ subq_6.window_start__day
+ , subq_6.window_start__week
+ , subq_6.window_start__month
+ , subq_6.window_start__quarter
+ , subq_6.window_start__year
+ , subq_6.window_start__extract_year
+ , subq_6.window_start__extract_quarter
+ , subq_6.window_start__extract_month
+ , subq_6.window_start__extract_day
+ , subq_6.window_start__extract_dow
+ , subq_6.window_start__extract_doy
+ , subq_6.window_end__day
+ , subq_6.window_end__week
+ , subq_6.window_end__month
+ , subq_6.window_end__quarter
+ , subq_6.window_end__year
+ , subq_6.window_end__extract_year
+ , subq_6.window_end__extract_quarter
+ , subq_6.window_end__extract_month
+ , subq_6.window_end__extract_day
+ , subq_6.window_end__extract_dow
+ , subq_6.window_end__extract_doy
+ , subq_6.lux_listing__window_start__day
+ , subq_6.lux_listing__window_start__week
+ , subq_6.lux_listing__window_start__month
+ , subq_6.lux_listing__window_start__quarter
+ , subq_6.lux_listing__window_start__year
+ , subq_6.lux_listing__window_start__extract_year
+ , subq_6.lux_listing__window_start__extract_quarter
+ , subq_6.lux_listing__window_start__extract_month
+ , subq_6.lux_listing__window_start__extract_day
+ , subq_6.lux_listing__window_start__extract_dow
+ , subq_6.lux_listing__window_start__extract_doy
+ , subq_6.lux_listing__window_end__day
+ , subq_6.lux_listing__window_end__week
+ , subq_6.lux_listing__window_end__month
+ , subq_6.lux_listing__window_end__quarter
+ , subq_6.lux_listing__window_end__year
+ , subq_6.lux_listing__window_end__extract_year
+ , subq_6.lux_listing__window_end__extract_quarter
+ , subq_6.lux_listing__window_end__extract_month
+ , subq_6.lux_listing__window_end__extract_day
+ , subq_6.lux_listing__window_end__extract_dow
+ , subq_6.lux_listing__window_end__extract_doy
+ , subq_6.lux_listing
+ , subq_6.is_confirmed_lux
+ , subq_6.lux_listing__is_confirmed_lux
FROM (
-- Read Elements From Semantic Model 'lux_listings'
SELECT
@@ -495,29 +495,29 @@ FROM (
, lux_listings_src_26000.is_confirmed_lux AS lux_listing__is_confirmed_lux
, lux_listings_src_26000.lux_listing_id AS lux_listing
FROM ***************************.dim_lux_listings lux_listings_src_26000
- ) subq_3
- ) subq_4
+ ) subq_6
+ ) subq_7
ON
- subq_2.lux_listing = subq_4.lux_listing
- ) subq_5
- ) subq_6
+ subq_5.lux_listing = subq_7.lux_listing
+ ) subq_8
+ ) subq_9
ON
(
- subq_1.listing = subq_6.listing
+ subq_4.listing = subq_9.listing
) AND (
(
- subq_1.metric_time__day >= subq_6.lux_listing__window_start__day
+ subq_4.metric_time__day >= subq_9.lux_listing__window_start__day
) AND (
(
- subq_1.metric_time__day < subq_6.lux_listing__window_end__day
+ subq_4.metric_time__day < subq_9.lux_listing__window_end__day
) OR (
- subq_6.lux_listing__window_end__day IS NULL
+ subq_9.lux_listing__window_end__day IS NULL
)
)
)
- ) subq_7
- ) subq_8
+ ) subq_10
+ ) subq_11
GROUP BY
- subq_8.metric_time__day
- , subq_8.listing__lux_listing__is_confirmed_lux
-) subq_9
+ subq_11.metric_time__day
+ , subq_11.listing__lux_listing__is_confirmed_lux
+) subq_12
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_to_scd_dimension__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_to_scd_dimension__plan0_optimized.sql
index cefee7b8b1..5ea5f63922 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_to_scd_dimension__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multi_hop_to_scd_dimension__plan0_optimized.sql
@@ -9,9 +9,9 @@ sql_engine: DuckDB
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_11.metric_time__day AS metric_time__day
- , subq_16.lux_listing__is_confirmed_lux AS listing__lux_listing__is_confirmed_lux
- , SUM(subq_11.bookings) AS bookings
+ subq_14.metric_time__day AS metric_time__day
+ , subq_19.lux_listing__is_confirmed_lux AS listing__lux_listing__is_confirmed_lux
+ , SUM(subq_14.bookings) AS bookings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -20,7 +20,7 @@ FROM (
, listing_id AS listing
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_26000
-) subq_11
+) subq_14
LEFT OUTER JOIN (
-- Join Standard Outputs
-- Pass Only Elements: ['lux_listing__is_confirmed_lux', 'lux_listing__window_start__day', 'lux_listing__window_end__day', 'listing']
@@ -34,21 +34,21 @@ LEFT OUTER JOIN (
***************************.dim_lux_listings lux_listings_src_26000
ON
lux_listing_mapping_src_26000.lux_listing_id = lux_listings_src_26000.lux_listing_id
-) subq_16
+) subq_19
ON
(
- subq_11.listing = subq_16.listing
+ subq_14.listing = subq_19.listing
) AND (
(
- subq_11.metric_time__day >= subq_16.lux_listing__window_start__day
+ subq_14.metric_time__day >= subq_19.lux_listing__window_start__day
) AND (
(
- subq_11.metric_time__day < subq_16.lux_listing__window_end__day
+ subq_14.metric_time__day < subq_19.lux_listing__window_end__day
) OR (
- subq_16.lux_listing__window_end__day IS NULL
+ subq_19.lux_listing__window_end__day IS NULL
)
)
)
GROUP BY
- subq_11.metric_time__day
- , subq_16.lux_listing__is_confirmed_lux
+ subq_14.metric_time__day
+ , subq_19.lux_listing__is_confirmed_lux
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multihop_node__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multihop_node__plan0.sql
index 2f24b4f596..87fd2b7e7f 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multihop_node__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multihop_node__plan0.sql
@@ -6,144 +6,144 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_11.account_id__customer_id__customer_name
- , subq_11.txn_count
+ subq_14.account_id__customer_id__customer_name
+ , subq_14.txn_count
FROM (
-- Aggregate Measures
SELECT
- subq_10.account_id__customer_id__customer_name
- , SUM(subq_10.txn_count) AS txn_count
+ subq_13.account_id__customer_id__customer_name
+ , SUM(subq_13.txn_count) AS txn_count
FROM (
-- Pass Only Elements: ['txn_count', 'account_id__customer_id__customer_name']
SELECT
- subq_9.account_id__customer_id__customer_name
- , subq_9.txn_count
+ subq_12.account_id__customer_id__customer_name
+ , subq_12.txn_count
FROM (
-- Join Standard Outputs
SELECT
- subq_8.customer_id__customer_name AS account_id__customer_id__customer_name
- , subq_8.ds_partitioned__day AS account_id__ds_partitioned__day
- , subq_1.ds_partitioned__day AS ds_partitioned__day
- , subq_1.ds_partitioned__week AS ds_partitioned__week
- , subq_1.ds_partitioned__month AS ds_partitioned__month
- , subq_1.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_1.ds_partitioned__year AS ds_partitioned__year
- , subq_1.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_1.ds__day AS ds__day
- , subq_1.ds__week AS ds__week
- , subq_1.ds__month AS ds__month
- , subq_1.ds__quarter AS ds__quarter
- , subq_1.ds__year AS ds__year
- , subq_1.ds__extract_year AS ds__extract_year
- , subq_1.ds__extract_quarter AS ds__extract_quarter
- , subq_1.ds__extract_month AS ds__extract_month
- , subq_1.ds__extract_day AS ds__extract_day
- , subq_1.ds__extract_dow AS ds__extract_dow
- , subq_1.ds__extract_doy AS ds__extract_doy
- , subq_1.account_id__ds_partitioned__day AS account_id__ds_partitioned__day
- , subq_1.account_id__ds_partitioned__week AS account_id__ds_partitioned__week
- , subq_1.account_id__ds_partitioned__month AS account_id__ds_partitioned__month
- , subq_1.account_id__ds_partitioned__quarter AS account_id__ds_partitioned__quarter
- , subq_1.account_id__ds_partitioned__year AS account_id__ds_partitioned__year
- , subq_1.account_id__ds_partitioned__extract_year AS account_id__ds_partitioned__extract_year
- , subq_1.account_id__ds_partitioned__extract_quarter AS account_id__ds_partitioned__extract_quarter
- , subq_1.account_id__ds_partitioned__extract_month AS account_id__ds_partitioned__extract_month
- , subq_1.account_id__ds_partitioned__extract_day AS account_id__ds_partitioned__extract_day
- , subq_1.account_id__ds_partitioned__extract_dow AS account_id__ds_partitioned__extract_dow
- , subq_1.account_id__ds_partitioned__extract_doy AS account_id__ds_partitioned__extract_doy
- , subq_1.account_id__ds__day AS account_id__ds__day
- , subq_1.account_id__ds__week AS account_id__ds__week
- , subq_1.account_id__ds__month AS account_id__ds__month
- , subq_1.account_id__ds__quarter AS account_id__ds__quarter
- , subq_1.account_id__ds__year AS account_id__ds__year
- , subq_1.account_id__ds__extract_year AS account_id__ds__extract_year
- , subq_1.account_id__ds__extract_quarter AS account_id__ds__extract_quarter
- , subq_1.account_id__ds__extract_month AS account_id__ds__extract_month
- , subq_1.account_id__ds__extract_day AS account_id__ds__extract_day
- , subq_1.account_id__ds__extract_dow AS account_id__ds__extract_dow
- , subq_1.account_id__ds__extract_doy AS account_id__ds__extract_doy
- , subq_1.metric_time__day AS metric_time__day
- , subq_1.metric_time__week AS metric_time__week
- , subq_1.metric_time__month AS metric_time__month
- , subq_1.metric_time__quarter AS metric_time__quarter
- , subq_1.metric_time__year AS metric_time__year
- , subq_1.metric_time__extract_year AS metric_time__extract_year
- , subq_1.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_1.metric_time__extract_month AS metric_time__extract_month
- , subq_1.metric_time__extract_day AS metric_time__extract_day
- , subq_1.metric_time__extract_dow AS metric_time__extract_dow
- , subq_1.metric_time__extract_doy AS metric_time__extract_doy
- , subq_1.account_id AS account_id
- , subq_1.account_month AS account_month
- , subq_1.account_id__account_month AS account_id__account_month
- , subq_1.txn_count AS txn_count
+ subq_11.customer_id__customer_name AS account_id__customer_id__customer_name
+ , subq_11.ds_partitioned__day AS account_id__ds_partitioned__day
+ , subq_4.ds_partitioned__day AS ds_partitioned__day
+ , subq_4.ds_partitioned__week AS ds_partitioned__week
+ , subq_4.ds_partitioned__month AS ds_partitioned__month
+ , subq_4.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_4.ds_partitioned__year AS ds_partitioned__year
+ , subq_4.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_4.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_4.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_4.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_4.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_4.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_4.ds__day AS ds__day
+ , subq_4.ds__week AS ds__week
+ , subq_4.ds__month AS ds__month
+ , subq_4.ds__quarter AS ds__quarter
+ , subq_4.ds__year AS ds__year
+ , subq_4.ds__extract_year AS ds__extract_year
+ , subq_4.ds__extract_quarter AS ds__extract_quarter
+ , subq_4.ds__extract_month AS ds__extract_month
+ , subq_4.ds__extract_day AS ds__extract_day
+ , subq_4.ds__extract_dow AS ds__extract_dow
+ , subq_4.ds__extract_doy AS ds__extract_doy
+ , subq_4.account_id__ds_partitioned__day AS account_id__ds_partitioned__day
+ , subq_4.account_id__ds_partitioned__week AS account_id__ds_partitioned__week
+ , subq_4.account_id__ds_partitioned__month AS account_id__ds_partitioned__month
+ , subq_4.account_id__ds_partitioned__quarter AS account_id__ds_partitioned__quarter
+ , subq_4.account_id__ds_partitioned__year AS account_id__ds_partitioned__year
+ , subq_4.account_id__ds_partitioned__extract_year AS account_id__ds_partitioned__extract_year
+ , subq_4.account_id__ds_partitioned__extract_quarter AS account_id__ds_partitioned__extract_quarter
+ , subq_4.account_id__ds_partitioned__extract_month AS account_id__ds_partitioned__extract_month
+ , subq_4.account_id__ds_partitioned__extract_day AS account_id__ds_partitioned__extract_day
+ , subq_4.account_id__ds_partitioned__extract_dow AS account_id__ds_partitioned__extract_dow
+ , subq_4.account_id__ds_partitioned__extract_doy AS account_id__ds_partitioned__extract_doy
+ , subq_4.account_id__ds__day AS account_id__ds__day
+ , subq_4.account_id__ds__week AS account_id__ds__week
+ , subq_4.account_id__ds__month AS account_id__ds__month
+ , subq_4.account_id__ds__quarter AS account_id__ds__quarter
+ , subq_4.account_id__ds__year AS account_id__ds__year
+ , subq_4.account_id__ds__extract_year AS account_id__ds__extract_year
+ , subq_4.account_id__ds__extract_quarter AS account_id__ds__extract_quarter
+ , subq_4.account_id__ds__extract_month AS account_id__ds__extract_month
+ , subq_4.account_id__ds__extract_day AS account_id__ds__extract_day
+ , subq_4.account_id__ds__extract_dow AS account_id__ds__extract_dow
+ , subq_4.account_id__ds__extract_doy AS account_id__ds__extract_doy
+ , subq_4.metric_time__day AS metric_time__day
+ , subq_4.metric_time__week AS metric_time__week
+ , subq_4.metric_time__month AS metric_time__month
+ , subq_4.metric_time__quarter AS metric_time__quarter
+ , subq_4.metric_time__year AS metric_time__year
+ , subq_4.metric_time__extract_year AS metric_time__extract_year
+ , subq_4.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_4.metric_time__extract_month AS metric_time__extract_month
+ , subq_4.metric_time__extract_day AS metric_time__extract_day
+ , subq_4.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_4.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_4.account_id AS account_id
+ , subq_4.account_month AS account_month
+ , subq_4.account_id__account_month AS account_id__account_month
+ , subq_4.txn_count AS txn_count
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.account_id__ds_partitioned__day
- , subq_0.account_id__ds_partitioned__week
- , subq_0.account_id__ds_partitioned__month
- , subq_0.account_id__ds_partitioned__quarter
- , subq_0.account_id__ds_partitioned__year
- , subq_0.account_id__ds_partitioned__extract_year
- , subq_0.account_id__ds_partitioned__extract_quarter
- , subq_0.account_id__ds_partitioned__extract_month
- , subq_0.account_id__ds_partitioned__extract_day
- , subq_0.account_id__ds_partitioned__extract_dow
- , subq_0.account_id__ds_partitioned__extract_doy
- , subq_0.account_id__ds__day
- , subq_0.account_id__ds__week
- , subq_0.account_id__ds__month
- , subq_0.account_id__ds__quarter
- , subq_0.account_id__ds__year
- , subq_0.account_id__ds__extract_year
- , subq_0.account_id__ds__extract_quarter
- , subq_0.account_id__ds__extract_month
- , subq_0.account_id__ds__extract_day
- , subq_0.account_id__ds__extract_dow
- , subq_0.account_id__ds__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.account_id
- , subq_0.account_month
- , subq_0.account_id__account_month
- , subq_0.txn_count
+ subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.account_id__ds_partitioned__day
+ , subq_3.account_id__ds_partitioned__week
+ , subq_3.account_id__ds_partitioned__month
+ , subq_3.account_id__ds_partitioned__quarter
+ , subq_3.account_id__ds_partitioned__year
+ , subq_3.account_id__ds_partitioned__extract_year
+ , subq_3.account_id__ds_partitioned__extract_quarter
+ , subq_3.account_id__ds_partitioned__extract_month
+ , subq_3.account_id__ds_partitioned__extract_day
+ , subq_3.account_id__ds_partitioned__extract_dow
+ , subq_3.account_id__ds_partitioned__extract_doy
+ , subq_3.account_id__ds__day
+ , subq_3.account_id__ds__week
+ , subq_3.account_id__ds__month
+ , subq_3.account_id__ds__quarter
+ , subq_3.account_id__ds__year
+ , subq_3.account_id__ds__extract_year
+ , subq_3.account_id__ds__extract_quarter
+ , subq_3.account_id__ds__extract_month
+ , subq_3.account_id__ds__extract_day
+ , subq_3.account_id__ds__extract_dow
+ , subq_3.account_id__ds__extract_doy
+ , subq_3.ds__day AS metric_time__day
+ , subq_3.ds__week AS metric_time__week
+ , subq_3.ds__month AS metric_time__month
+ , subq_3.ds__quarter AS metric_time__quarter
+ , subq_3.ds__year AS metric_time__year
+ , subq_3.ds__extract_year AS metric_time__extract_year
+ , subq_3.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_3.ds__extract_month AS metric_time__extract_month
+ , subq_3.ds__extract_day AS metric_time__extract_day
+ , subq_3.ds__extract_dow AS metric_time__extract_dow
+ , subq_3.ds__extract_doy AS metric_time__extract_doy
+ , subq_3.account_id
+ , subq_3.account_month
+ , subq_3.account_id__account_month
+ , subq_3.txn_count
FROM (
-- Read Elements From Semantic Model 'account_month_txns'
SELECT
@@ -196,150 +196,150 @@ FROM (
, account_month_txns_src_22000.account_month AS account_id__account_month
, account_month_txns_src_22000.account_id
FROM ***************************.account_month_txns account_month_txns_src_22000
- ) subq_0
- ) subq_1
+ ) subq_3
+ ) subq_4
LEFT OUTER JOIN (
-- Pass Only Elements: ['customer_id__customer_name', 'ds_partitioned__day', 'account_id']
SELECT
- subq_7.ds_partitioned__day
- , subq_7.account_id
- , subq_7.customer_id__customer_name
+ subq_10.ds_partitioned__day
+ , subq_10.account_id
+ , subq_10.customer_id__customer_name
FROM (
-- Join Standard Outputs
SELECT
- subq_6.customer_name AS customer_id__customer_name
- , subq_6.customer_atomic_weight AS customer_id__customer_atomic_weight
- , subq_6.ds_partitioned__day AS customer_id__ds_partitioned__day
- , subq_6.ds_partitioned__week AS customer_id__ds_partitioned__week
- , subq_6.ds_partitioned__month AS customer_id__ds_partitioned__month
- , subq_6.ds_partitioned__quarter AS customer_id__ds_partitioned__quarter
- , subq_6.ds_partitioned__year AS customer_id__ds_partitioned__year
- , subq_6.ds_partitioned__extract_year AS customer_id__ds_partitioned__extract_year
- , subq_6.ds_partitioned__extract_quarter AS customer_id__ds_partitioned__extract_quarter
- , subq_6.ds_partitioned__extract_month AS customer_id__ds_partitioned__extract_month
- , subq_6.ds_partitioned__extract_day AS customer_id__ds_partitioned__extract_day
- , subq_6.ds_partitioned__extract_dow AS customer_id__ds_partitioned__extract_dow
- , subq_6.ds_partitioned__extract_doy AS customer_id__ds_partitioned__extract_doy
- , subq_6.metric_time__day AS customer_id__metric_time__day
- , subq_6.metric_time__week AS customer_id__metric_time__week
- , subq_6.metric_time__month AS customer_id__metric_time__month
- , subq_6.metric_time__quarter AS customer_id__metric_time__quarter
- , subq_6.metric_time__year AS customer_id__metric_time__year
- , subq_6.metric_time__extract_year AS customer_id__metric_time__extract_year
- , subq_6.metric_time__extract_quarter AS customer_id__metric_time__extract_quarter
- , subq_6.metric_time__extract_month AS customer_id__metric_time__extract_month
- , subq_6.metric_time__extract_day AS customer_id__metric_time__extract_day
- , subq_6.metric_time__extract_dow AS customer_id__metric_time__extract_dow
- , subq_6.metric_time__extract_doy AS customer_id__metric_time__extract_doy
- , subq_3.ds_partitioned__day AS ds_partitioned__day
- , subq_3.ds_partitioned__week AS ds_partitioned__week
- , subq_3.ds_partitioned__month AS ds_partitioned__month
- , subq_3.ds_partitioned__quarter AS ds_partitioned__quarter
- , subq_3.ds_partitioned__year AS ds_partitioned__year
- , subq_3.ds_partitioned__extract_year AS ds_partitioned__extract_year
- , subq_3.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
- , subq_3.ds_partitioned__extract_month AS ds_partitioned__extract_month
- , subq_3.ds_partitioned__extract_day AS ds_partitioned__extract_day
- , subq_3.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
- , subq_3.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
- , subq_3.account_id__ds_partitioned__day AS account_id__ds_partitioned__day
- , subq_3.account_id__ds_partitioned__week AS account_id__ds_partitioned__week
- , subq_3.account_id__ds_partitioned__month AS account_id__ds_partitioned__month
- , subq_3.account_id__ds_partitioned__quarter AS account_id__ds_partitioned__quarter
- , subq_3.account_id__ds_partitioned__year AS account_id__ds_partitioned__year
- , subq_3.account_id__ds_partitioned__extract_year AS account_id__ds_partitioned__extract_year
- , subq_3.account_id__ds_partitioned__extract_quarter AS account_id__ds_partitioned__extract_quarter
- , subq_3.account_id__ds_partitioned__extract_month AS account_id__ds_partitioned__extract_month
- , subq_3.account_id__ds_partitioned__extract_day AS account_id__ds_partitioned__extract_day
- , subq_3.account_id__ds_partitioned__extract_dow AS account_id__ds_partitioned__extract_dow
- , subq_3.account_id__ds_partitioned__extract_doy AS account_id__ds_partitioned__extract_doy
- , subq_3.bridge_account__ds_partitioned__day AS bridge_account__ds_partitioned__day
- , subq_3.bridge_account__ds_partitioned__week AS bridge_account__ds_partitioned__week
- , subq_3.bridge_account__ds_partitioned__month AS bridge_account__ds_partitioned__month
- , subq_3.bridge_account__ds_partitioned__quarter AS bridge_account__ds_partitioned__quarter
- , subq_3.bridge_account__ds_partitioned__year AS bridge_account__ds_partitioned__year
- , subq_3.bridge_account__ds_partitioned__extract_year AS bridge_account__ds_partitioned__extract_year
- , subq_3.bridge_account__ds_partitioned__extract_quarter AS bridge_account__ds_partitioned__extract_quarter
- , subq_3.bridge_account__ds_partitioned__extract_month AS bridge_account__ds_partitioned__extract_month
- , subq_3.bridge_account__ds_partitioned__extract_day AS bridge_account__ds_partitioned__extract_day
- , subq_3.bridge_account__ds_partitioned__extract_dow AS bridge_account__ds_partitioned__extract_dow
- , subq_3.bridge_account__ds_partitioned__extract_doy AS bridge_account__ds_partitioned__extract_doy
- , subq_3.metric_time__day AS metric_time__day
- , subq_3.metric_time__week AS metric_time__week
- , subq_3.metric_time__month AS metric_time__month
- , subq_3.metric_time__quarter AS metric_time__quarter
- , subq_3.metric_time__year AS metric_time__year
- , subq_3.metric_time__extract_year AS metric_time__extract_year
- , subq_3.metric_time__extract_quarter AS metric_time__extract_quarter
- , subq_3.metric_time__extract_month AS metric_time__extract_month
- , subq_3.metric_time__extract_day AS metric_time__extract_day
- , subq_3.metric_time__extract_dow AS metric_time__extract_dow
- , subq_3.metric_time__extract_doy AS metric_time__extract_doy
- , subq_3.account_id AS account_id
- , subq_3.customer_id AS customer_id
- , subq_3.account_id__customer_id AS account_id__customer_id
- , subq_3.bridge_account__account_id AS bridge_account__account_id
- , subq_3.bridge_account__customer_id AS bridge_account__customer_id
- , subq_3.extra_dim AS extra_dim
- , subq_3.account_id__extra_dim AS account_id__extra_dim
- , subq_3.bridge_account__extra_dim AS bridge_account__extra_dim
- , subq_3.account_customer_combos AS account_customer_combos
+ subq_9.customer_name AS customer_id__customer_name
+ , subq_9.customer_atomic_weight AS customer_id__customer_atomic_weight
+ , subq_9.ds_partitioned__day AS customer_id__ds_partitioned__day
+ , subq_9.ds_partitioned__week AS customer_id__ds_partitioned__week
+ , subq_9.ds_partitioned__month AS customer_id__ds_partitioned__month
+ , subq_9.ds_partitioned__quarter AS customer_id__ds_partitioned__quarter
+ , subq_9.ds_partitioned__year AS customer_id__ds_partitioned__year
+ , subq_9.ds_partitioned__extract_year AS customer_id__ds_partitioned__extract_year
+ , subq_9.ds_partitioned__extract_quarter AS customer_id__ds_partitioned__extract_quarter
+ , subq_9.ds_partitioned__extract_month AS customer_id__ds_partitioned__extract_month
+ , subq_9.ds_partitioned__extract_day AS customer_id__ds_partitioned__extract_day
+ , subq_9.ds_partitioned__extract_dow AS customer_id__ds_partitioned__extract_dow
+ , subq_9.ds_partitioned__extract_doy AS customer_id__ds_partitioned__extract_doy
+ , subq_9.metric_time__day AS customer_id__metric_time__day
+ , subq_9.metric_time__week AS customer_id__metric_time__week
+ , subq_9.metric_time__month AS customer_id__metric_time__month
+ , subq_9.metric_time__quarter AS customer_id__metric_time__quarter
+ , subq_9.metric_time__year AS customer_id__metric_time__year
+ , subq_9.metric_time__extract_year AS customer_id__metric_time__extract_year
+ , subq_9.metric_time__extract_quarter AS customer_id__metric_time__extract_quarter
+ , subq_9.metric_time__extract_month AS customer_id__metric_time__extract_month
+ , subq_9.metric_time__extract_day AS customer_id__metric_time__extract_day
+ , subq_9.metric_time__extract_dow AS customer_id__metric_time__extract_dow
+ , subq_9.metric_time__extract_doy AS customer_id__metric_time__extract_doy
+ , subq_6.ds_partitioned__day AS ds_partitioned__day
+ , subq_6.ds_partitioned__week AS ds_partitioned__week
+ , subq_6.ds_partitioned__month AS ds_partitioned__month
+ , subq_6.ds_partitioned__quarter AS ds_partitioned__quarter
+ , subq_6.ds_partitioned__year AS ds_partitioned__year
+ , subq_6.ds_partitioned__extract_year AS ds_partitioned__extract_year
+ , subq_6.ds_partitioned__extract_quarter AS ds_partitioned__extract_quarter
+ , subq_6.ds_partitioned__extract_month AS ds_partitioned__extract_month
+ , subq_6.ds_partitioned__extract_day AS ds_partitioned__extract_day
+ , subq_6.ds_partitioned__extract_dow AS ds_partitioned__extract_dow
+ , subq_6.ds_partitioned__extract_doy AS ds_partitioned__extract_doy
+ , subq_6.account_id__ds_partitioned__day AS account_id__ds_partitioned__day
+ , subq_6.account_id__ds_partitioned__week AS account_id__ds_partitioned__week
+ , subq_6.account_id__ds_partitioned__month AS account_id__ds_partitioned__month
+ , subq_6.account_id__ds_partitioned__quarter AS account_id__ds_partitioned__quarter
+ , subq_6.account_id__ds_partitioned__year AS account_id__ds_partitioned__year
+ , subq_6.account_id__ds_partitioned__extract_year AS account_id__ds_partitioned__extract_year
+ , subq_6.account_id__ds_partitioned__extract_quarter AS account_id__ds_partitioned__extract_quarter
+ , subq_6.account_id__ds_partitioned__extract_month AS account_id__ds_partitioned__extract_month
+ , subq_6.account_id__ds_partitioned__extract_day AS account_id__ds_partitioned__extract_day
+ , subq_6.account_id__ds_partitioned__extract_dow AS account_id__ds_partitioned__extract_dow
+ , subq_6.account_id__ds_partitioned__extract_doy AS account_id__ds_partitioned__extract_doy
+ , subq_6.bridge_account__ds_partitioned__day AS bridge_account__ds_partitioned__day
+ , subq_6.bridge_account__ds_partitioned__week AS bridge_account__ds_partitioned__week
+ , subq_6.bridge_account__ds_partitioned__month AS bridge_account__ds_partitioned__month
+ , subq_6.bridge_account__ds_partitioned__quarter AS bridge_account__ds_partitioned__quarter
+ , subq_6.bridge_account__ds_partitioned__year AS bridge_account__ds_partitioned__year
+ , subq_6.bridge_account__ds_partitioned__extract_year AS bridge_account__ds_partitioned__extract_year
+ , subq_6.bridge_account__ds_partitioned__extract_quarter AS bridge_account__ds_partitioned__extract_quarter
+ , subq_6.bridge_account__ds_partitioned__extract_month AS bridge_account__ds_partitioned__extract_month
+ , subq_6.bridge_account__ds_partitioned__extract_day AS bridge_account__ds_partitioned__extract_day
+ , subq_6.bridge_account__ds_partitioned__extract_dow AS bridge_account__ds_partitioned__extract_dow
+ , subq_6.bridge_account__ds_partitioned__extract_doy AS bridge_account__ds_partitioned__extract_doy
+ , subq_6.metric_time__day AS metric_time__day
+ , subq_6.metric_time__week AS metric_time__week
+ , subq_6.metric_time__month AS metric_time__month
+ , subq_6.metric_time__quarter AS metric_time__quarter
+ , subq_6.metric_time__year AS metric_time__year
+ , subq_6.metric_time__extract_year AS metric_time__extract_year
+ , subq_6.metric_time__extract_quarter AS metric_time__extract_quarter
+ , subq_6.metric_time__extract_month AS metric_time__extract_month
+ , subq_6.metric_time__extract_day AS metric_time__extract_day
+ , subq_6.metric_time__extract_dow AS metric_time__extract_dow
+ , subq_6.metric_time__extract_doy AS metric_time__extract_doy
+ , subq_6.account_id AS account_id
+ , subq_6.customer_id AS customer_id
+ , subq_6.account_id__customer_id AS account_id__customer_id
+ , subq_6.bridge_account__account_id AS bridge_account__account_id
+ , subq_6.bridge_account__customer_id AS bridge_account__customer_id
+ , subq_6.extra_dim AS extra_dim
+ , subq_6.account_id__extra_dim AS account_id__extra_dim
+ , subq_6.bridge_account__extra_dim AS bridge_account__extra_dim
+ , subq_6.account_customer_combos AS account_customer_combos
FROM (
-- Metric Time Dimension 'ds_partitioned'
SELECT
- subq_2.ds_partitioned__day
- , subq_2.ds_partitioned__week
- , subq_2.ds_partitioned__month
- , subq_2.ds_partitioned__quarter
- , subq_2.ds_partitioned__year
- , subq_2.ds_partitioned__extract_year
- , subq_2.ds_partitioned__extract_quarter
- , subq_2.ds_partitioned__extract_month
- , subq_2.ds_partitioned__extract_day
- , subq_2.ds_partitioned__extract_dow
- , subq_2.ds_partitioned__extract_doy
- , subq_2.account_id__ds_partitioned__day
- , subq_2.account_id__ds_partitioned__week
- , subq_2.account_id__ds_partitioned__month
- , subq_2.account_id__ds_partitioned__quarter
- , subq_2.account_id__ds_partitioned__year
- , subq_2.account_id__ds_partitioned__extract_year
- , subq_2.account_id__ds_partitioned__extract_quarter
- , subq_2.account_id__ds_partitioned__extract_month
- , subq_2.account_id__ds_partitioned__extract_day
- , subq_2.account_id__ds_partitioned__extract_dow
- , subq_2.account_id__ds_partitioned__extract_doy
- , subq_2.bridge_account__ds_partitioned__day
- , subq_2.bridge_account__ds_partitioned__week
- , subq_2.bridge_account__ds_partitioned__month
- , subq_2.bridge_account__ds_partitioned__quarter
- , subq_2.bridge_account__ds_partitioned__year
- , subq_2.bridge_account__ds_partitioned__extract_year
- , subq_2.bridge_account__ds_partitioned__extract_quarter
- , subq_2.bridge_account__ds_partitioned__extract_month
- , subq_2.bridge_account__ds_partitioned__extract_day
- , subq_2.bridge_account__ds_partitioned__extract_dow
- , subq_2.bridge_account__ds_partitioned__extract_doy
- , subq_2.ds_partitioned__day AS metric_time__day
- , subq_2.ds_partitioned__week AS metric_time__week
- , subq_2.ds_partitioned__month AS metric_time__month
- , subq_2.ds_partitioned__quarter AS metric_time__quarter
- , subq_2.ds_partitioned__year AS metric_time__year
- , subq_2.ds_partitioned__extract_year AS metric_time__extract_year
- , subq_2.ds_partitioned__extract_quarter AS metric_time__extract_quarter
- , subq_2.ds_partitioned__extract_month AS metric_time__extract_month
- , subq_2.ds_partitioned__extract_day AS metric_time__extract_day
- , subq_2.ds_partitioned__extract_dow AS metric_time__extract_dow
- , subq_2.ds_partitioned__extract_doy AS metric_time__extract_doy
- , subq_2.account_id
- , subq_2.customer_id
- , subq_2.account_id__customer_id
- , subq_2.bridge_account__account_id
- , subq_2.bridge_account__customer_id
- , subq_2.extra_dim
- , subq_2.account_id__extra_dim
- , subq_2.bridge_account__extra_dim
- , subq_2.account_customer_combos
+ subq_5.ds_partitioned__day
+ , subq_5.ds_partitioned__week
+ , subq_5.ds_partitioned__month
+ , subq_5.ds_partitioned__quarter
+ , subq_5.ds_partitioned__year
+ , subq_5.ds_partitioned__extract_year
+ , subq_5.ds_partitioned__extract_quarter
+ , subq_5.ds_partitioned__extract_month
+ , subq_5.ds_partitioned__extract_day
+ , subq_5.ds_partitioned__extract_dow
+ , subq_5.ds_partitioned__extract_doy
+ , subq_5.account_id__ds_partitioned__day
+ , subq_5.account_id__ds_partitioned__week
+ , subq_5.account_id__ds_partitioned__month
+ , subq_5.account_id__ds_partitioned__quarter
+ , subq_5.account_id__ds_partitioned__year
+ , subq_5.account_id__ds_partitioned__extract_year
+ , subq_5.account_id__ds_partitioned__extract_quarter
+ , subq_5.account_id__ds_partitioned__extract_month
+ , subq_5.account_id__ds_partitioned__extract_day
+ , subq_5.account_id__ds_partitioned__extract_dow
+ , subq_5.account_id__ds_partitioned__extract_doy
+ , subq_5.bridge_account__ds_partitioned__day
+ , subq_5.bridge_account__ds_partitioned__week
+ , subq_5.bridge_account__ds_partitioned__month
+ , subq_5.bridge_account__ds_partitioned__quarter
+ , subq_5.bridge_account__ds_partitioned__year
+ , subq_5.bridge_account__ds_partitioned__extract_year
+ , subq_5.bridge_account__ds_partitioned__extract_quarter
+ , subq_5.bridge_account__ds_partitioned__extract_month
+ , subq_5.bridge_account__ds_partitioned__extract_day
+ , subq_5.bridge_account__ds_partitioned__extract_dow
+ , subq_5.bridge_account__ds_partitioned__extract_doy
+ , subq_5.ds_partitioned__day AS metric_time__day
+ , subq_5.ds_partitioned__week AS metric_time__week
+ , subq_5.ds_partitioned__month AS metric_time__month
+ , subq_5.ds_partitioned__quarter AS metric_time__quarter
+ , subq_5.ds_partitioned__year AS metric_time__year
+ , subq_5.ds_partitioned__extract_year AS metric_time__extract_year
+ , subq_5.ds_partitioned__extract_quarter AS metric_time__extract_quarter
+ , subq_5.ds_partitioned__extract_month AS metric_time__extract_month
+ , subq_5.ds_partitioned__extract_day AS metric_time__extract_day
+ , subq_5.ds_partitioned__extract_dow AS metric_time__extract_dow
+ , subq_5.ds_partitioned__extract_doy AS metric_time__extract_doy
+ , subq_5.account_id
+ , subq_5.customer_id
+ , subq_5.account_id__customer_id
+ , subq_5.bridge_account__account_id
+ , subq_5.bridge_account__customer_id
+ , subq_5.extra_dim
+ , subq_5.account_id__extra_dim
+ , subq_5.bridge_account__extra_dim
+ , subq_5.account_customer_combos
FROM (
-- Read Elements From Semantic Model 'bridge_table'
SELECT
@@ -386,8 +386,8 @@ FROM (
, bridge_table_src_22000.account_id AS bridge_account__account_id
, bridge_table_src_22000.customer_id AS bridge_account__customer_id
FROM ***************************.bridge_table bridge_table_src_22000
- ) subq_2
- ) subq_3
+ ) subq_5
+ ) subq_6
LEFT OUTER JOIN (
-- Pass Only Elements: [
-- 'customer_name',
@@ -430,86 +430,86 @@ FROM (
-- 'customer_id',
-- ]
SELECT
- subq_5.ds_partitioned__day
- , subq_5.ds_partitioned__week
- , subq_5.ds_partitioned__month
- , subq_5.ds_partitioned__quarter
- , subq_5.ds_partitioned__year
- , subq_5.ds_partitioned__extract_year
- , subq_5.ds_partitioned__extract_quarter
- , subq_5.ds_partitioned__extract_month
- , subq_5.ds_partitioned__extract_day
- , subq_5.ds_partitioned__extract_dow
- , subq_5.ds_partitioned__extract_doy
- , subq_5.customer_id__ds_partitioned__day
- , subq_5.customer_id__ds_partitioned__week
- , subq_5.customer_id__ds_partitioned__month
- , subq_5.customer_id__ds_partitioned__quarter
- , subq_5.customer_id__ds_partitioned__year
- , subq_5.customer_id__ds_partitioned__extract_year
- , subq_5.customer_id__ds_partitioned__extract_quarter
- , subq_5.customer_id__ds_partitioned__extract_month
- , subq_5.customer_id__ds_partitioned__extract_day
- , subq_5.customer_id__ds_partitioned__extract_dow
- , subq_5.customer_id__ds_partitioned__extract_doy
- , subq_5.metric_time__day
- , subq_5.metric_time__week
- , subq_5.metric_time__month
- , subq_5.metric_time__quarter
- , subq_5.metric_time__year
- , subq_5.metric_time__extract_year
- , subq_5.metric_time__extract_quarter
- , subq_5.metric_time__extract_month
- , subq_5.metric_time__extract_day
- , subq_5.metric_time__extract_dow
- , subq_5.metric_time__extract_doy
- , subq_5.customer_id
- , subq_5.customer_name
- , subq_5.customer_atomic_weight
- , subq_5.customer_id__customer_name
- , subq_5.customer_id__customer_atomic_weight
+ subq_8.ds_partitioned__day
+ , subq_8.ds_partitioned__week
+ , subq_8.ds_partitioned__month
+ , subq_8.ds_partitioned__quarter
+ , subq_8.ds_partitioned__year
+ , subq_8.ds_partitioned__extract_year
+ , subq_8.ds_partitioned__extract_quarter
+ , subq_8.ds_partitioned__extract_month
+ , subq_8.ds_partitioned__extract_day
+ , subq_8.ds_partitioned__extract_dow
+ , subq_8.ds_partitioned__extract_doy
+ , subq_8.customer_id__ds_partitioned__day
+ , subq_8.customer_id__ds_partitioned__week
+ , subq_8.customer_id__ds_partitioned__month
+ , subq_8.customer_id__ds_partitioned__quarter
+ , subq_8.customer_id__ds_partitioned__year
+ , subq_8.customer_id__ds_partitioned__extract_year
+ , subq_8.customer_id__ds_partitioned__extract_quarter
+ , subq_8.customer_id__ds_partitioned__extract_month
+ , subq_8.customer_id__ds_partitioned__extract_day
+ , subq_8.customer_id__ds_partitioned__extract_dow
+ , subq_8.customer_id__ds_partitioned__extract_doy
+ , subq_8.metric_time__day
+ , subq_8.metric_time__week
+ , subq_8.metric_time__month
+ , subq_8.metric_time__quarter
+ , subq_8.metric_time__year
+ , subq_8.metric_time__extract_year
+ , subq_8.metric_time__extract_quarter
+ , subq_8.metric_time__extract_month
+ , subq_8.metric_time__extract_day
+ , subq_8.metric_time__extract_dow
+ , subq_8.metric_time__extract_doy
+ , subq_8.customer_id
+ , subq_8.customer_name
+ , subq_8.customer_atomic_weight
+ , subq_8.customer_id__customer_name
+ , subq_8.customer_id__customer_atomic_weight
FROM (
-- Metric Time Dimension 'ds_partitioned'
SELECT
- subq_4.ds_partitioned__day
- , subq_4.ds_partitioned__week
- , subq_4.ds_partitioned__month
- , subq_4.ds_partitioned__quarter
- , subq_4.ds_partitioned__year
- , subq_4.ds_partitioned__extract_year
- , subq_4.ds_partitioned__extract_quarter
- , subq_4.ds_partitioned__extract_month
- , subq_4.ds_partitioned__extract_day
- , subq_4.ds_partitioned__extract_dow
- , subq_4.ds_partitioned__extract_doy
- , subq_4.customer_id__ds_partitioned__day
- , subq_4.customer_id__ds_partitioned__week
- , subq_4.customer_id__ds_partitioned__month
- , subq_4.customer_id__ds_partitioned__quarter
- , subq_4.customer_id__ds_partitioned__year
- , subq_4.customer_id__ds_partitioned__extract_year
- , subq_4.customer_id__ds_partitioned__extract_quarter
- , subq_4.customer_id__ds_partitioned__extract_month
- , subq_4.customer_id__ds_partitioned__extract_day
- , subq_4.customer_id__ds_partitioned__extract_dow
- , subq_4.customer_id__ds_partitioned__extract_doy
- , subq_4.ds_partitioned__day AS metric_time__day
- , subq_4.ds_partitioned__week AS metric_time__week
- , subq_4.ds_partitioned__month AS metric_time__month
- , subq_4.ds_partitioned__quarter AS metric_time__quarter
- , subq_4.ds_partitioned__year AS metric_time__year
- , subq_4.ds_partitioned__extract_year AS metric_time__extract_year
- , subq_4.ds_partitioned__extract_quarter AS metric_time__extract_quarter
- , subq_4.ds_partitioned__extract_month AS metric_time__extract_month
- , subq_4.ds_partitioned__extract_day AS metric_time__extract_day
- , subq_4.ds_partitioned__extract_dow AS metric_time__extract_dow
- , subq_4.ds_partitioned__extract_doy AS metric_time__extract_doy
- , subq_4.customer_id
- , subq_4.customer_name
- , subq_4.customer_atomic_weight
- , subq_4.customer_id__customer_name
- , subq_4.customer_id__customer_atomic_weight
- , subq_4.customers
+ subq_7.ds_partitioned__day
+ , subq_7.ds_partitioned__week
+ , subq_7.ds_partitioned__month
+ , subq_7.ds_partitioned__quarter
+ , subq_7.ds_partitioned__year
+ , subq_7.ds_partitioned__extract_year
+ , subq_7.ds_partitioned__extract_quarter
+ , subq_7.ds_partitioned__extract_month
+ , subq_7.ds_partitioned__extract_day
+ , subq_7.ds_partitioned__extract_dow
+ , subq_7.ds_partitioned__extract_doy
+ , subq_7.customer_id__ds_partitioned__day
+ , subq_7.customer_id__ds_partitioned__week
+ , subq_7.customer_id__ds_partitioned__month
+ , subq_7.customer_id__ds_partitioned__quarter
+ , subq_7.customer_id__ds_partitioned__year
+ , subq_7.customer_id__ds_partitioned__extract_year
+ , subq_7.customer_id__ds_partitioned__extract_quarter
+ , subq_7.customer_id__ds_partitioned__extract_month
+ , subq_7.customer_id__ds_partitioned__extract_day
+ , subq_7.customer_id__ds_partitioned__extract_dow
+ , subq_7.customer_id__ds_partitioned__extract_doy
+ , subq_7.ds_partitioned__day AS metric_time__day
+ , subq_7.ds_partitioned__week AS metric_time__week
+ , subq_7.ds_partitioned__month AS metric_time__month
+ , subq_7.ds_partitioned__quarter AS metric_time__quarter
+ , subq_7.ds_partitioned__year AS metric_time__year
+ , subq_7.ds_partitioned__extract_year AS metric_time__extract_year
+ , subq_7.ds_partitioned__extract_quarter AS metric_time__extract_quarter
+ , subq_7.ds_partitioned__extract_month AS metric_time__extract_month
+ , subq_7.ds_partitioned__extract_day AS metric_time__extract_day
+ , subq_7.ds_partitioned__extract_dow AS metric_time__extract_dow
+ , subq_7.ds_partitioned__extract_doy AS metric_time__extract_doy
+ , subq_7.customer_id
+ , subq_7.customer_name
+ , subq_7.customer_atomic_weight
+ , subq_7.customer_id__customer_name
+ , subq_7.customer_id__customer_atomic_weight
+ , subq_7.customers
FROM (
-- Read Elements From Semantic Model 'customer_table'
SELECT
@@ -542,25 +542,25 @@ FROM (
, EXTRACT(doy FROM customer_table_src_22000.ds_partitioned) AS customer_id__ds_partitioned__extract_doy
, customer_table_src_22000.customer_id
FROM ***************************.customer_table customer_table_src_22000
- ) subq_4
- ) subq_5
- ) subq_6
+ ) subq_7
+ ) subq_8
+ ) subq_9
ON
(
- subq_3.customer_id = subq_6.customer_id
+ subq_6.customer_id = subq_9.customer_id
) AND (
- subq_3.ds_partitioned__day = subq_6.ds_partitioned__day
+ subq_6.ds_partitioned__day = subq_9.ds_partitioned__day
)
- ) subq_7
- ) subq_8
+ ) subq_10
+ ) subq_11
ON
(
- subq_1.account_id = subq_8.account_id
+ subq_4.account_id = subq_11.account_id
) AND (
- subq_1.ds_partitioned__day = subq_8.ds_partitioned__day
+ subq_4.ds_partitioned__day = subq_11.ds_partitioned__day
)
- ) subq_9
- ) subq_10
+ ) subq_12
+ ) subq_13
GROUP BY
- subq_10.account_id__customer_id__customer_name
-) subq_11
+ subq_13.account_id__customer_id__customer_name
+) subq_14
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multihop_node__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multihop_node__plan0_optimized.sql
index 8e437c20f2..f69cba73cf 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multihop_node__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multihop_node__plan0_optimized.sql
@@ -9,7 +9,7 @@ sql_engine: DuckDB
-- Aggregate Measures
-- Compute Metrics via Expressions
SELECT
- subq_20.customer_id__customer_name AS account_id__customer_id__customer_name
+ subq_23.customer_id__customer_name AS account_id__customer_id__customer_name
, SUM(account_month_txns_src_22000.txn_count) AS txn_count
FROM ***************************.account_month_txns account_month_txns_src_22000
LEFT OUTER JOIN (
@@ -28,12 +28,12 @@ LEFT OUTER JOIN (
) AND (
DATE_TRUNC('day', bridge_table_src_22000.ds_partitioned) = DATE_TRUNC('day', customer_table_src_22000.ds_partitioned)
)
-) subq_20
+) subq_23
ON
(
- account_month_txns_src_22000.account_id = subq_20.account_id
+ account_month_txns_src_22000.account_id = subq_23.account_id
) AND (
- DATE_TRUNC('day', account_month_txns_src_22000.ds_partitioned) = subq_20.ds_partitioned__day
+ DATE_TRUNC('day', account_month_txns_src_22000.ds_partitioned) = subq_23.ds_partitioned__day
)
GROUP BY
- subq_20.customer_id__customer_name
+ subq_23.customer_id__customer_name
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multiple_metrics_no_dimensions__plan0.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multiple_metrics_no_dimensions__plan0.sql
index d9f0c05bd6..4c72f4ed50 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multiple_metrics_no_dimensions__plan0.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multiple_metrics_no_dimensions__plan0.sql
@@ -4,222 +4,222 @@ sql_engine: DuckDB
---
-- Combine Aggregated Outputs
SELECT
- MAX(subq_5.bookings) AS bookings
- , MAX(subq_11.listings) AS listings
+ MAX(subq_7.bookings) AS bookings
+ , MAX(subq_13.listings) AS listings
FROM (
-- Compute Metrics via Expressions
SELECT
- subq_4.bookings
+ subq_6.bookings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_3.bookings) AS bookings
+ SUM(subq_5.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings',]
SELECT
- subq_2.bookings
+ subq_4.bookings
FROM (
-- Constrain Time Range to [2020-01-01T00:00:00, 2020-01-01T00:00:00]
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.ds_partitioned__day
- , subq_1.ds_partitioned__week
- , subq_1.ds_partitioned__month
- , subq_1.ds_partitioned__quarter
- , subq_1.ds_partitioned__year
- , subq_1.ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy
- , subq_1.paid_at__day
- , subq_1.paid_at__week
- , subq_1.paid_at__month
- , subq_1.paid_at__quarter
- , subq_1.paid_at__year
- , subq_1.paid_at__extract_year
- , subq_1.paid_at__extract_quarter
- , subq_1.paid_at__extract_month
- , subq_1.paid_at__extract_day
- , subq_1.paid_at__extract_dow
- , subq_1.paid_at__extract_doy
- , subq_1.booking__ds__day
- , subq_1.booking__ds__week
- , subq_1.booking__ds__month
- , subq_1.booking__ds__quarter
- , subq_1.booking__ds__year
- , subq_1.booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month
- , subq_1.booking__ds__extract_day
- , subq_1.booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day
- , subq_1.booking__paid_at__week
- , subq_1.booking__paid_at__month
- , subq_1.booking__paid_at__quarter
- , subq_1.booking__paid_at__year
- , subq_1.booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy
- , subq_1.metric_time__day
- , subq_1.metric_time__week
- , subq_1.metric_time__month
- , subq_1.metric_time__quarter
- , subq_1.metric_time__year
- , subq_1.metric_time__extract_year
- , subq_1.metric_time__extract_quarter
- , subq_1.metric_time__extract_month
- , subq_1.metric_time__extract_day
- , subq_1.metric_time__extract_dow
- , subq_1.metric_time__extract_doy
- , subq_1.listing
- , subq_1.guest
- , subq_1.host
- , subq_1.booking__listing
- , subq_1.booking__guest
- , subq_1.booking__host
- , subq_1.is_instant
- , subq_1.booking__is_instant
- , subq_1.bookings
- , subq_1.instant_bookings
- , subq_1.booking_value
- , subq_1.max_booking_value
- , subq_1.min_booking_value
- , subq_1.bookers
- , subq_1.average_booking_value
- , subq_1.referred_bookings
- , subq_1.median_booking_value
- , subq_1.booking_value_p99
- , subq_1.discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99
+ subq_3.ds__day
+ , subq_3.ds__week
+ , subq_3.ds__month
+ , subq_3.ds__quarter
+ , subq_3.ds__year
+ , subq_3.ds__extract_year
+ , subq_3.ds__extract_quarter
+ , subq_3.ds__extract_month
+ , subq_3.ds__extract_day
+ , subq_3.ds__extract_dow
+ , subq_3.ds__extract_doy
+ , subq_3.ds_partitioned__day
+ , subq_3.ds_partitioned__week
+ , subq_3.ds_partitioned__month
+ , subq_3.ds_partitioned__quarter
+ , subq_3.ds_partitioned__year
+ , subq_3.ds_partitioned__extract_year
+ , subq_3.ds_partitioned__extract_quarter
+ , subq_3.ds_partitioned__extract_month
+ , subq_3.ds_partitioned__extract_day
+ , subq_3.ds_partitioned__extract_dow
+ , subq_3.ds_partitioned__extract_doy
+ , subq_3.paid_at__day
+ , subq_3.paid_at__week
+ , subq_3.paid_at__month
+ , subq_3.paid_at__quarter
+ , subq_3.paid_at__year
+ , subq_3.paid_at__extract_year
+ , subq_3.paid_at__extract_quarter
+ , subq_3.paid_at__extract_month
+ , subq_3.paid_at__extract_day
+ , subq_3.paid_at__extract_dow
+ , subq_3.paid_at__extract_doy
+ , subq_3.booking__ds__day
+ , subq_3.booking__ds__week
+ , subq_3.booking__ds__month
+ , subq_3.booking__ds__quarter
+ , subq_3.booking__ds__year
+ , subq_3.booking__ds__extract_year
+ , subq_3.booking__ds__extract_quarter
+ , subq_3.booking__ds__extract_month
+ , subq_3.booking__ds__extract_day
+ , subq_3.booking__ds__extract_dow
+ , subq_3.booking__ds__extract_doy
+ , subq_3.booking__ds_partitioned__day
+ , subq_3.booking__ds_partitioned__week
+ , subq_3.booking__ds_partitioned__month
+ , subq_3.booking__ds_partitioned__quarter
+ , subq_3.booking__ds_partitioned__year
+ , subq_3.booking__ds_partitioned__extract_year
+ , subq_3.booking__ds_partitioned__extract_quarter
+ , subq_3.booking__ds_partitioned__extract_month
+ , subq_3.booking__ds_partitioned__extract_day
+ , subq_3.booking__ds_partitioned__extract_dow
+ , subq_3.booking__ds_partitioned__extract_doy
+ , subq_3.booking__paid_at__day
+ , subq_3.booking__paid_at__week
+ , subq_3.booking__paid_at__month
+ , subq_3.booking__paid_at__quarter
+ , subq_3.booking__paid_at__year
+ , subq_3.booking__paid_at__extract_year
+ , subq_3.booking__paid_at__extract_quarter
+ , subq_3.booking__paid_at__extract_month
+ , subq_3.booking__paid_at__extract_day
+ , subq_3.booking__paid_at__extract_dow
+ , subq_3.booking__paid_at__extract_doy
+ , subq_3.metric_time__day
+ , subq_3.metric_time__week
+ , subq_3.metric_time__month
+ , subq_3.metric_time__quarter
+ , subq_3.metric_time__year
+ , subq_3.metric_time__extract_year
+ , subq_3.metric_time__extract_quarter
+ , subq_3.metric_time__extract_month
+ , subq_3.metric_time__extract_day
+ , subq_3.metric_time__extract_dow
+ , subq_3.metric_time__extract_doy
+ , subq_3.listing
+ , subq_3.guest
+ , subq_3.host
+ , subq_3.booking__listing
+ , subq_3.booking__guest
+ , subq_3.booking__host
+ , subq_3.is_instant
+ , subq_3.booking__is_instant
+ , subq_3.bookings
+ , subq_3.instant_bookings
+ , subq_3.booking_value
+ , subq_3.max_booking_value
+ , subq_3.min_booking_value
+ , subq_3.bookers
+ , subq_3.average_booking_value
+ , subq_3.referred_bookings
+ , subq_3.median_booking_value
+ , subq_3.booking_value_p99
+ , subq_3.discrete_booking_value_p99
+ , subq_3.approximate_continuous_booking_value_p99
+ , subq_3.approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.ds_partitioned__day
+ , subq_2.ds_partitioned__week
+ , subq_2.ds_partitioned__month
+ , subq_2.ds_partitioned__quarter
+ , subq_2.ds_partitioned__year
+ , subq_2.ds_partitioned__extract_year
+ , subq_2.ds_partitioned__extract_quarter
+ , subq_2.ds_partitioned__extract_month
+ , subq_2.ds_partitioned__extract_day
+ , subq_2.ds_partitioned__extract_dow
+ , subq_2.ds_partitioned__extract_doy
+ , subq_2.paid_at__day
+ , subq_2.paid_at__week
+ , subq_2.paid_at__month
+ , subq_2.paid_at__quarter
+ , subq_2.paid_at__year
+ , subq_2.paid_at__extract_year
+ , subq_2.paid_at__extract_quarter
+ , subq_2.paid_at__extract_month
+ , subq_2.paid_at__extract_day
+ , subq_2.paid_at__extract_dow
+ , subq_2.paid_at__extract_doy
+ , subq_2.booking__ds__day
+ , subq_2.booking__ds__week
+ , subq_2.booking__ds__month
+ , subq_2.booking__ds__quarter
+ , subq_2.booking__ds__year
+ , subq_2.booking__ds__extract_year
+ , subq_2.booking__ds__extract_quarter
+ , subq_2.booking__ds__extract_month
+ , subq_2.booking__ds__extract_day
+ , subq_2.booking__ds__extract_dow
+ , subq_2.booking__ds__extract_doy
+ , subq_2.booking__ds_partitioned__day
+ , subq_2.booking__ds_partitioned__week
+ , subq_2.booking__ds_partitioned__month
+ , subq_2.booking__ds_partitioned__quarter
+ , subq_2.booking__ds_partitioned__year
+ , subq_2.booking__ds_partitioned__extract_year
+ , subq_2.booking__ds_partitioned__extract_quarter
+ , subq_2.booking__ds_partitioned__extract_month
+ , subq_2.booking__ds_partitioned__extract_day
+ , subq_2.booking__ds_partitioned__extract_dow
+ , subq_2.booking__ds_partitioned__extract_doy
+ , subq_2.booking__paid_at__day
+ , subq_2.booking__paid_at__week
+ , subq_2.booking__paid_at__month
+ , subq_2.booking__paid_at__quarter
+ , subq_2.booking__paid_at__year
+ , subq_2.booking__paid_at__extract_year
+ , subq_2.booking__paid_at__extract_quarter
+ , subq_2.booking__paid_at__extract_month
+ , subq_2.booking__paid_at__extract_day
+ , subq_2.booking__paid_at__extract_dow
+ , subq_2.booking__paid_at__extract_doy
+ , subq_2.ds__day AS metric_time__day
+ , subq_2.ds__week AS metric_time__week
+ , subq_2.ds__month AS metric_time__month
+ , subq_2.ds__quarter AS metric_time__quarter
+ , subq_2.ds__year AS metric_time__year
+ , subq_2.ds__extract_year AS metric_time__extract_year
+ , subq_2.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_2.ds__extract_month AS metric_time__extract_month
+ , subq_2.ds__extract_day AS metric_time__extract_day
+ , subq_2.ds__extract_dow AS metric_time__extract_dow
+ , subq_2.ds__extract_doy AS metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.guest
+ , subq_2.host
+ , subq_2.booking__listing
+ , subq_2.booking__guest
+ , subq_2.booking__host
+ , subq_2.is_instant
+ , subq_2.booking__is_instant
+ , subq_2.bookings
+ , subq_2.instant_bookings
+ , subq_2.booking_value
+ , subq_2.max_booking_value
+ , subq_2.min_booking_value
+ , subq_2.bookers
+ , subq_2.average_booking_value
+ , subq_2.referred_bookings
+ , subq_2.median_booking_value
+ , subq_2.booking_value_p99
+ , subq_2.discrete_booking_value_p99
+ , subq_2.approximate_continuous_booking_value_p99
+ , subq_2.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -312,165 +312,165 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
- WHERE subq_1.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
- ) subq_2
- ) subq_3
- ) subq_4
-) subq_5
+ ) subq_2
+ ) subq_3
+ WHERE subq_3.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
+ ) subq_4
+ ) subq_5
+ ) subq_6
+) subq_7
CROSS JOIN (
-- Compute Metrics via Expressions
SELECT
- subq_10.listings
+ subq_12.listings
FROM (
-- Aggregate Measures
SELECT
- SUM(subq_9.listings) AS listings
+ SUM(subq_11.listings) AS listings
FROM (
-- Pass Only Elements: ['listings',]
SELECT
- subq_8.listings
+ subq_10.listings
FROM (
-- Constrain Time Range to [2020-01-01T00:00:00, 2020-01-01T00:00:00]
SELECT
- subq_7.ds__day
- , subq_7.ds__week
- , subq_7.ds__month
- , subq_7.ds__quarter
- , subq_7.ds__year
- , subq_7.ds__extract_year
- , subq_7.ds__extract_quarter
- , subq_7.ds__extract_month
- , subq_7.ds__extract_day
- , subq_7.ds__extract_dow
- , subq_7.ds__extract_doy
- , subq_7.created_at__day
- , subq_7.created_at__week
- , subq_7.created_at__month
- , subq_7.created_at__quarter
- , subq_7.created_at__year
- , subq_7.created_at__extract_year
- , subq_7.created_at__extract_quarter
- , subq_7.created_at__extract_month
- , subq_7.created_at__extract_day
- , subq_7.created_at__extract_dow
- , subq_7.created_at__extract_doy
- , subq_7.listing__ds__day
- , subq_7.listing__ds__week
- , subq_7.listing__ds__month
- , subq_7.listing__ds__quarter
- , subq_7.listing__ds__year
- , subq_7.listing__ds__extract_year
- , subq_7.listing__ds__extract_quarter
- , subq_7.listing__ds__extract_month
- , subq_7.listing__ds__extract_day
- , subq_7.listing__ds__extract_dow
- , subq_7.listing__ds__extract_doy
- , subq_7.listing__created_at__day
- , subq_7.listing__created_at__week
- , subq_7.listing__created_at__month
- , subq_7.listing__created_at__quarter
- , subq_7.listing__created_at__year
- , subq_7.listing__created_at__extract_year
- , subq_7.listing__created_at__extract_quarter
- , subq_7.listing__created_at__extract_month
- , subq_7.listing__created_at__extract_day
- , subq_7.listing__created_at__extract_dow
- , subq_7.listing__created_at__extract_doy
- , subq_7.metric_time__day
- , subq_7.metric_time__week
- , subq_7.metric_time__month
- , subq_7.metric_time__quarter
- , subq_7.metric_time__year
- , subq_7.metric_time__extract_year
- , subq_7.metric_time__extract_quarter
- , subq_7.metric_time__extract_month
- , subq_7.metric_time__extract_day
- , subq_7.metric_time__extract_dow
- , subq_7.metric_time__extract_doy
- , subq_7.listing
- , subq_7.user
- , subq_7.listing__user
- , subq_7.country_latest
- , subq_7.is_lux_latest
- , subq_7.capacity_latest
- , subq_7.listing__country_latest
- , subq_7.listing__is_lux_latest
- , subq_7.listing__capacity_latest
- , subq_7.listings
- , subq_7.largest_listing
- , subq_7.smallest_listing
+ subq_9.ds__day
+ , subq_9.ds__week
+ , subq_9.ds__month
+ , subq_9.ds__quarter
+ , subq_9.ds__year
+ , subq_9.ds__extract_year
+ , subq_9.ds__extract_quarter
+ , subq_9.ds__extract_month
+ , subq_9.ds__extract_day
+ , subq_9.ds__extract_dow
+ , subq_9.ds__extract_doy
+ , subq_9.created_at__day
+ , subq_9.created_at__week
+ , subq_9.created_at__month
+ , subq_9.created_at__quarter
+ , subq_9.created_at__year
+ , subq_9.created_at__extract_year
+ , subq_9.created_at__extract_quarter
+ , subq_9.created_at__extract_month
+ , subq_9.created_at__extract_day
+ , subq_9.created_at__extract_dow
+ , subq_9.created_at__extract_doy
+ , subq_9.listing__ds__day
+ , subq_9.listing__ds__week
+ , subq_9.listing__ds__month
+ , subq_9.listing__ds__quarter
+ , subq_9.listing__ds__year
+ , subq_9.listing__ds__extract_year
+ , subq_9.listing__ds__extract_quarter
+ , subq_9.listing__ds__extract_month
+ , subq_9.listing__ds__extract_day
+ , subq_9.listing__ds__extract_dow
+ , subq_9.listing__ds__extract_doy
+ , subq_9.listing__created_at__day
+ , subq_9.listing__created_at__week
+ , subq_9.listing__created_at__month
+ , subq_9.listing__created_at__quarter
+ , subq_9.listing__created_at__year
+ , subq_9.listing__created_at__extract_year
+ , subq_9.listing__created_at__extract_quarter
+ , subq_9.listing__created_at__extract_month
+ , subq_9.listing__created_at__extract_day
+ , subq_9.listing__created_at__extract_dow
+ , subq_9.listing__created_at__extract_doy
+ , subq_9.metric_time__day
+ , subq_9.metric_time__week
+ , subq_9.metric_time__month
+ , subq_9.metric_time__quarter
+ , subq_9.metric_time__year
+ , subq_9.metric_time__extract_year
+ , subq_9.metric_time__extract_quarter
+ , subq_9.metric_time__extract_month
+ , subq_9.metric_time__extract_day
+ , subq_9.metric_time__extract_dow
+ , subq_9.metric_time__extract_doy
+ , subq_9.listing
+ , subq_9.user
+ , subq_9.listing__user
+ , subq_9.country_latest
+ , subq_9.is_lux_latest
+ , subq_9.capacity_latest
+ , subq_9.listing__country_latest
+ , subq_9.listing__is_lux_latest
+ , subq_9.listing__capacity_latest
+ , subq_9.listings
+ , subq_9.largest_listing
+ , subq_9.smallest_listing
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_6.ds__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.created_at__day
- , subq_6.created_at__week
- , subq_6.created_at__month
- , subq_6.created_at__quarter
- , subq_6.created_at__year
- , subq_6.created_at__extract_year
- , subq_6.created_at__extract_quarter
- , subq_6.created_at__extract_month
- , subq_6.created_at__extract_day
- , subq_6.created_at__extract_dow
- , subq_6.created_at__extract_doy
- , subq_6.listing__ds__day
- , subq_6.listing__ds__week
- , subq_6.listing__ds__month
- , subq_6.listing__ds__quarter
- , subq_6.listing__ds__year
- , subq_6.listing__ds__extract_year
- , subq_6.listing__ds__extract_quarter
- , subq_6.listing__ds__extract_month
- , subq_6.listing__ds__extract_day
- , subq_6.listing__ds__extract_dow
- , subq_6.listing__ds__extract_doy
- , subq_6.listing__created_at__day
- , subq_6.listing__created_at__week
- , subq_6.listing__created_at__month
- , subq_6.listing__created_at__quarter
- , subq_6.listing__created_at__year
- , subq_6.listing__created_at__extract_year
- , subq_6.listing__created_at__extract_quarter
- , subq_6.listing__created_at__extract_month
- , subq_6.listing__created_at__extract_day
- , subq_6.listing__created_at__extract_dow
- , subq_6.listing__created_at__extract_doy
- , subq_6.ds__day AS metric_time__day
- , subq_6.ds__week AS metric_time__week
- , subq_6.ds__month AS metric_time__month
- , subq_6.ds__quarter AS metric_time__quarter
- , subq_6.ds__year AS metric_time__year
- , subq_6.ds__extract_year AS metric_time__extract_year
- , subq_6.ds__extract_quarter AS metric_time__extract_quarter
- , subq_6.ds__extract_month AS metric_time__extract_month
- , subq_6.ds__extract_day AS metric_time__extract_day
- , subq_6.ds__extract_dow AS metric_time__extract_dow
- , subq_6.ds__extract_doy AS metric_time__extract_doy
- , subq_6.listing
- , subq_6.user
- , subq_6.listing__user
- , subq_6.country_latest
- , subq_6.is_lux_latest
- , subq_6.capacity_latest
- , subq_6.listing__country_latest
- , subq_6.listing__is_lux_latest
- , subq_6.listing__capacity_latest
- , subq_6.listings
- , subq_6.largest_listing
- , subq_6.smallest_listing
+ subq_8.ds__day
+ , subq_8.ds__week
+ , subq_8.ds__month
+ , subq_8.ds__quarter
+ , subq_8.ds__year
+ , subq_8.ds__extract_year
+ , subq_8.ds__extract_quarter
+ , subq_8.ds__extract_month
+ , subq_8.ds__extract_day
+ , subq_8.ds__extract_dow
+ , subq_8.ds__extract_doy
+ , subq_8.created_at__day
+ , subq_8.created_at__week
+ , subq_8.created_at__month
+ , subq_8.created_at__quarter
+ , subq_8.created_at__year
+ , subq_8.created_at__extract_year
+ , subq_8.created_at__extract_quarter
+ , subq_8.created_at__extract_month
+ , subq_8.created_at__extract_day
+ , subq_8.created_at__extract_dow
+ , subq_8.created_at__extract_doy
+ , subq_8.listing__ds__day
+ , subq_8.listing__ds__week
+ , subq_8.listing__ds__month
+ , subq_8.listing__ds__quarter
+ , subq_8.listing__ds__year
+ , subq_8.listing__ds__extract_year
+ , subq_8.listing__ds__extract_quarter
+ , subq_8.listing__ds__extract_month
+ , subq_8.listing__ds__extract_day
+ , subq_8.listing__ds__extract_dow
+ , subq_8.listing__ds__extract_doy
+ , subq_8.listing__created_at__day
+ , subq_8.listing__created_at__week
+ , subq_8.listing__created_at__month
+ , subq_8.listing__created_at__quarter
+ , subq_8.listing__created_at__year
+ , subq_8.listing__created_at__extract_year
+ , subq_8.listing__created_at__extract_quarter
+ , subq_8.listing__created_at__extract_month
+ , subq_8.listing__created_at__extract_day
+ , subq_8.listing__created_at__extract_dow
+ , subq_8.listing__created_at__extract_doy
+ , subq_8.ds__day AS metric_time__day
+ , subq_8.ds__week AS metric_time__week
+ , subq_8.ds__month AS metric_time__month
+ , subq_8.ds__quarter AS metric_time__quarter
+ , subq_8.ds__year AS metric_time__year
+ , subq_8.ds__extract_year AS metric_time__extract_year
+ , subq_8.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_8.ds__extract_month AS metric_time__extract_month
+ , subq_8.ds__extract_day AS metric_time__extract_day
+ , subq_8.ds__extract_dow AS metric_time__extract_dow
+ , subq_8.ds__extract_doy AS metric_time__extract_doy
+ , subq_8.listing
+ , subq_8.user
+ , subq_8.listing__user
+ , subq_8.country_latest
+ , subq_8.is_lux_latest
+ , subq_8.capacity_latest
+ , subq_8.listing__country_latest
+ , subq_8.listing__is_lux_latest
+ , subq_8.listing__capacity_latest
+ , subq_8.listings
+ , subq_8.largest_listing
+ , subq_8.smallest_listing
FROM (
-- Read Elements From Semantic Model 'listings_latest'
SELECT
@@ -531,10 +531,10 @@ CROSS JOIN (
, listings_latest_src_28000.user_id AS user
, listings_latest_src_28000.user_id AS listing__user
FROM ***************************.dim_listings_latest listings_latest_src_28000
- ) subq_6
- ) subq_7
- WHERE subq_7.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
- ) subq_8
- ) subq_9
- ) subq_10
-) subq_11
+ ) subq_8
+ ) subq_9
+ WHERE subq_9.metric_time__day BETWEEN '2020-01-01' AND '2020-01-01'
+ ) subq_10
+ ) subq_11
+ ) subq_12
+) subq_13
diff --git a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multiple_metrics_no_dimensions__plan0_optimized.sql b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multiple_metrics_no_dimensions__plan0_optimized.sql
index 22bd2f889f..03619e2700 100644
--- a/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multiple_metrics_no_dimensions__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_query_rendering.py/SqlPlan/DuckDB/test_multiple_metrics_no_dimensions__plan0_optimized.sql
@@ -4,8 +4,8 @@ sql_engine: DuckDB
---
-- Combine Aggregated Outputs
SELECT
- MAX(subq_17.bookings) AS bookings
- , MAX(subq_23.listings) AS listings
+ MAX(subq_19.bookings) AS bookings
+ , MAX(subq_25.listings) AS listings
FROM (
-- Read Elements From Semantic Model 'bookings_source'
-- Metric Time Dimension 'ds'
@@ -17,7 +17,7 @@ FROM (
SUM(1) AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
WHERE DATE_TRUNC('day', ds) BETWEEN '2020-01-01' AND '2020-01-01'
-) subq_17
+) subq_19
CROSS JOIN (
-- Read Elements From Semantic Model 'listings_latest'
-- Metric Time Dimension 'ds'
@@ -29,4 +29,4 @@ CROSS JOIN (
SUM(1) AS listings
FROM ***************************.dim_listings_latest listings_latest_src_28000
WHERE DATE_TRUNC('day', created_at) BETWEEN '2020-01-01' AND '2020-01-01'
-) subq_23
+) subq_25
diff --git a/tests_metricflow/snapshots/test_time_spine_join_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_queried_time_constraint__plan0.sql b/tests_metricflow/snapshots/test_time_spine_join_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_queried_time_constraint__plan0.sql
index aafef7d451..ce28eb2ed8 100644
--- a/tests_metricflow/snapshots/test_time_spine_join_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_queried_time_constraint__plan0.sql
+++ b/tests_metricflow/snapshots/test_time_spine_join_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_queried_time_constraint__plan0.sql
@@ -6,52 +6,52 @@ sql_engine: DuckDB
---
-- Compute Metrics via Expressions
SELECT
- subq_10.metric_time__day
- , COALESCE(subq_10.bookings, 0) AS bookings_fill_nulls_with_0
+ subq_11.metric_time__day
+ , COALESCE(subq_11.bookings, 0) AS bookings_fill_nulls_with_0
FROM (
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
SELECT
- subq_9.metric_time__day
- , subq_9.bookings
+ subq_10.metric_time__day
+ , subq_10.bookings
FROM (
-- Join to Time Spine Dataset
SELECT
- subq_8.metric_time__day AS metric_time__day
- , subq_4.bookings AS bookings
+ subq_9.metric_time__day AS metric_time__day
+ , subq_5.bookings AS bookings
FROM (
-- Pass Only Elements: ['metric_time__day',]
SELECT
- subq_7.metric_time__day
+ subq_8.metric_time__day
FROM (
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
SELECT
- subq_6.metric_time__day
- , subq_6.ds__week
- , subq_6.ds__month
- , subq_6.ds__quarter
- , subq_6.ds__year
- , subq_6.ds__extract_year
- , subq_6.ds__extract_quarter
- , subq_6.ds__extract_month
- , subq_6.ds__extract_day
- , subq_6.ds__extract_dow
- , subq_6.ds__extract_doy
- , subq_6.ds__martian_day
+ subq_7.metric_time__day
+ , subq_7.ds__week
+ , subq_7.ds__month
+ , subq_7.ds__quarter
+ , subq_7.ds__year
+ , subq_7.ds__extract_year
+ , subq_7.ds__extract_quarter
+ , subq_7.ds__extract_month
+ , subq_7.ds__extract_day
+ , subq_7.ds__extract_dow
+ , subq_7.ds__extract_doy
+ , subq_7.ds__martian_day
FROM (
-- Change Column Aliases
SELECT
- subq_5.ds__day AS metric_time__day
- , subq_5.ds__week
- , subq_5.ds__month
- , subq_5.ds__quarter
- , subq_5.ds__year
- , subq_5.ds__extract_year
- , subq_5.ds__extract_quarter
- , subq_5.ds__extract_month
- , subq_5.ds__extract_day
- , subq_5.ds__extract_dow
- , subq_5.ds__extract_doy
- , subq_5.ds__martian_day
+ subq_6.ds__day AS metric_time__day
+ , subq_6.ds__week
+ , subq_6.ds__month
+ , subq_6.ds__quarter
+ , subq_6.ds__year
+ , subq_6.ds__extract_year
+ , subq_6.ds__extract_quarter
+ , subq_6.ds__extract_month
+ , subq_6.ds__extract_day
+ , subq_6.ds__extract_dow
+ , subq_6.ds__extract_doy
+ , subq_6.ds__martian_day
FROM (
-- Read From Time Spine 'mf_time_spine'
SELECT
@@ -68,223 +68,223 @@ FROM (
, EXTRACT(doy FROM time_spine_src_28006.ds) AS ds__extract_doy
, time_spine_src_28006.martian_day AS ds__martian_day
FROM ***************************.mf_time_spine time_spine_src_28006
- ) subq_5
- ) subq_6
- WHERE subq_6.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
- ) subq_7
- ) subq_8
+ ) subq_6
+ ) subq_7
+ WHERE subq_7.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
+ ) subq_8
+ ) subq_9
LEFT OUTER JOIN (
-- Aggregate Measures
SELECT
- subq_3.metric_time__day
- , SUM(subq_3.bookings) AS bookings
+ subq_4.metric_time__day
+ , SUM(subq_4.bookings) AS bookings
FROM (
-- Pass Only Elements: ['bookings', 'metric_time__day']
SELECT
- subq_2.metric_time__day
- , subq_2.bookings
+ subq_3.metric_time__day
+ , subq_3.bookings
FROM (
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
SELECT
- subq_1.ds__day
- , subq_1.ds__week
- , subq_1.ds__month
- , subq_1.ds__quarter
- , subq_1.ds__year
- , subq_1.ds__extract_year
- , subq_1.ds__extract_quarter
- , subq_1.ds__extract_month
- , subq_1.ds__extract_day
- , subq_1.ds__extract_dow
- , subq_1.ds__extract_doy
- , subq_1.ds_partitioned__day
- , subq_1.ds_partitioned__week
- , subq_1.ds_partitioned__month
- , subq_1.ds_partitioned__quarter
- , subq_1.ds_partitioned__year
- , subq_1.ds_partitioned__extract_year
- , subq_1.ds_partitioned__extract_quarter
- , subq_1.ds_partitioned__extract_month
- , subq_1.ds_partitioned__extract_day
- , subq_1.ds_partitioned__extract_dow
- , subq_1.ds_partitioned__extract_doy
- , subq_1.paid_at__day
- , subq_1.paid_at__week
- , subq_1.paid_at__month
- , subq_1.paid_at__quarter
- , subq_1.paid_at__year
- , subq_1.paid_at__extract_year
- , subq_1.paid_at__extract_quarter
- , subq_1.paid_at__extract_month
- , subq_1.paid_at__extract_day
- , subq_1.paid_at__extract_dow
- , subq_1.paid_at__extract_doy
- , subq_1.booking__ds__day
- , subq_1.booking__ds__week
- , subq_1.booking__ds__month
- , subq_1.booking__ds__quarter
- , subq_1.booking__ds__year
- , subq_1.booking__ds__extract_year
- , subq_1.booking__ds__extract_quarter
- , subq_1.booking__ds__extract_month
- , subq_1.booking__ds__extract_day
- , subq_1.booking__ds__extract_dow
- , subq_1.booking__ds__extract_doy
- , subq_1.booking__ds_partitioned__day
- , subq_1.booking__ds_partitioned__week
- , subq_1.booking__ds_partitioned__month
- , subq_1.booking__ds_partitioned__quarter
- , subq_1.booking__ds_partitioned__year
- , subq_1.booking__ds_partitioned__extract_year
- , subq_1.booking__ds_partitioned__extract_quarter
- , subq_1.booking__ds_partitioned__extract_month
- , subq_1.booking__ds_partitioned__extract_day
- , subq_1.booking__ds_partitioned__extract_dow
- , subq_1.booking__ds_partitioned__extract_doy
- , subq_1.booking__paid_at__day
- , subq_1.booking__paid_at__week
- , subq_1.booking__paid_at__month
- , subq_1.booking__paid_at__quarter
- , subq_1.booking__paid_at__year
- , subq_1.booking__paid_at__extract_year
- , subq_1.booking__paid_at__extract_quarter
- , subq_1.booking__paid_at__extract_month
- , subq_1.booking__paid_at__extract_day
- , subq_1.booking__paid_at__extract_dow
- , subq_1.booking__paid_at__extract_doy
- , subq_1.metric_time__day
- , subq_1.metric_time__week
- , subq_1.metric_time__month
- , subq_1.metric_time__quarter
- , subq_1.metric_time__year
- , subq_1.metric_time__extract_year
- , subq_1.metric_time__extract_quarter
- , subq_1.metric_time__extract_month
- , subq_1.metric_time__extract_day
- , subq_1.metric_time__extract_dow
- , subq_1.metric_time__extract_doy
- , subq_1.listing
- , subq_1.guest
- , subq_1.host
- , subq_1.booking__listing
- , subq_1.booking__guest
- , subq_1.booking__host
- , subq_1.is_instant
- , subq_1.booking__is_instant
- , subq_1.bookings
- , subq_1.instant_bookings
- , subq_1.booking_value
- , subq_1.max_booking_value
- , subq_1.min_booking_value
- , subq_1.bookers
- , subq_1.average_booking_value
- , subq_1.referred_bookings
- , subq_1.median_booking_value
- , subq_1.booking_value_p99
- , subq_1.discrete_booking_value_p99
- , subq_1.approximate_continuous_booking_value_p99
- , subq_1.approximate_discrete_booking_value_p99
+ subq_2.ds__day
+ , subq_2.ds__week
+ , subq_2.ds__month
+ , subq_2.ds__quarter
+ , subq_2.ds__year
+ , subq_2.ds__extract_year
+ , subq_2.ds__extract_quarter
+ , subq_2.ds__extract_month
+ , subq_2.ds__extract_day
+ , subq_2.ds__extract_dow
+ , subq_2.ds__extract_doy
+ , subq_2.ds_partitioned__day
+ , subq_2.ds_partitioned__week
+ , subq_2.ds_partitioned__month
+ , subq_2.ds_partitioned__quarter
+ , subq_2.ds_partitioned__year
+ , subq_2.ds_partitioned__extract_year
+ , subq_2.ds_partitioned__extract_quarter
+ , subq_2.ds_partitioned__extract_month
+ , subq_2.ds_partitioned__extract_day
+ , subq_2.ds_partitioned__extract_dow
+ , subq_2.ds_partitioned__extract_doy
+ , subq_2.paid_at__day
+ , subq_2.paid_at__week
+ , subq_2.paid_at__month
+ , subq_2.paid_at__quarter
+ , subq_2.paid_at__year
+ , subq_2.paid_at__extract_year
+ , subq_2.paid_at__extract_quarter
+ , subq_2.paid_at__extract_month
+ , subq_2.paid_at__extract_day
+ , subq_2.paid_at__extract_dow
+ , subq_2.paid_at__extract_doy
+ , subq_2.booking__ds__day
+ , subq_2.booking__ds__week
+ , subq_2.booking__ds__month
+ , subq_2.booking__ds__quarter
+ , subq_2.booking__ds__year
+ , subq_2.booking__ds__extract_year
+ , subq_2.booking__ds__extract_quarter
+ , subq_2.booking__ds__extract_month
+ , subq_2.booking__ds__extract_day
+ , subq_2.booking__ds__extract_dow
+ , subq_2.booking__ds__extract_doy
+ , subq_2.booking__ds_partitioned__day
+ , subq_2.booking__ds_partitioned__week
+ , subq_2.booking__ds_partitioned__month
+ , subq_2.booking__ds_partitioned__quarter
+ , subq_2.booking__ds_partitioned__year
+ , subq_2.booking__ds_partitioned__extract_year
+ , subq_2.booking__ds_partitioned__extract_quarter
+ , subq_2.booking__ds_partitioned__extract_month
+ , subq_2.booking__ds_partitioned__extract_day
+ , subq_2.booking__ds_partitioned__extract_dow
+ , subq_2.booking__ds_partitioned__extract_doy
+ , subq_2.booking__paid_at__day
+ , subq_2.booking__paid_at__week
+ , subq_2.booking__paid_at__month
+ , subq_2.booking__paid_at__quarter
+ , subq_2.booking__paid_at__year
+ , subq_2.booking__paid_at__extract_year
+ , subq_2.booking__paid_at__extract_quarter
+ , subq_2.booking__paid_at__extract_month
+ , subq_2.booking__paid_at__extract_day
+ , subq_2.booking__paid_at__extract_dow
+ , subq_2.booking__paid_at__extract_doy
+ , subq_2.metric_time__day
+ , subq_2.metric_time__week
+ , subq_2.metric_time__month
+ , subq_2.metric_time__quarter
+ , subq_2.metric_time__year
+ , subq_2.metric_time__extract_year
+ , subq_2.metric_time__extract_quarter
+ , subq_2.metric_time__extract_month
+ , subq_2.metric_time__extract_day
+ , subq_2.metric_time__extract_dow
+ , subq_2.metric_time__extract_doy
+ , subq_2.listing
+ , subq_2.guest
+ , subq_2.host
+ , subq_2.booking__listing
+ , subq_2.booking__guest
+ , subq_2.booking__host
+ , subq_2.is_instant
+ , subq_2.booking__is_instant
+ , subq_2.bookings
+ , subq_2.instant_bookings
+ , subq_2.booking_value
+ , subq_2.max_booking_value
+ , subq_2.min_booking_value
+ , subq_2.bookers
+ , subq_2.average_booking_value
+ , subq_2.referred_bookings
+ , subq_2.median_booking_value
+ , subq_2.booking_value_p99
+ , subq_2.discrete_booking_value_p99
+ , subq_2.approximate_continuous_booking_value_p99
+ , subq_2.approximate_discrete_booking_value_p99
FROM (
-- Metric Time Dimension 'ds'
SELECT
- subq_0.ds__day
- , subq_0.ds__week
- , subq_0.ds__month
- , subq_0.ds__quarter
- , subq_0.ds__year
- , subq_0.ds__extract_year
- , subq_0.ds__extract_quarter
- , subq_0.ds__extract_month
- , subq_0.ds__extract_day
- , subq_0.ds__extract_dow
- , subq_0.ds__extract_doy
- , subq_0.ds_partitioned__day
- , subq_0.ds_partitioned__week
- , subq_0.ds_partitioned__month
- , subq_0.ds_partitioned__quarter
- , subq_0.ds_partitioned__year
- , subq_0.ds_partitioned__extract_year
- , subq_0.ds_partitioned__extract_quarter
- , subq_0.ds_partitioned__extract_month
- , subq_0.ds_partitioned__extract_day
- , subq_0.ds_partitioned__extract_dow
- , subq_0.ds_partitioned__extract_doy
- , subq_0.paid_at__day
- , subq_0.paid_at__week
- , subq_0.paid_at__month
- , subq_0.paid_at__quarter
- , subq_0.paid_at__year
- , subq_0.paid_at__extract_year
- , subq_0.paid_at__extract_quarter
- , subq_0.paid_at__extract_month
- , subq_0.paid_at__extract_day
- , subq_0.paid_at__extract_dow
- , subq_0.paid_at__extract_doy
- , subq_0.booking__ds__day
- , subq_0.booking__ds__week
- , subq_0.booking__ds__month
- , subq_0.booking__ds__quarter
- , subq_0.booking__ds__year
- , subq_0.booking__ds__extract_year
- , subq_0.booking__ds__extract_quarter
- , subq_0.booking__ds__extract_month
- , subq_0.booking__ds__extract_day
- , subq_0.booking__ds__extract_dow
- , subq_0.booking__ds__extract_doy
- , subq_0.booking__ds_partitioned__day
- , subq_0.booking__ds_partitioned__week
- , subq_0.booking__ds_partitioned__month
- , subq_0.booking__ds_partitioned__quarter
- , subq_0.booking__ds_partitioned__year
- , subq_0.booking__ds_partitioned__extract_year
- , subq_0.booking__ds_partitioned__extract_quarter
- , subq_0.booking__ds_partitioned__extract_month
- , subq_0.booking__ds_partitioned__extract_day
- , subq_0.booking__ds_partitioned__extract_dow
- , subq_0.booking__ds_partitioned__extract_doy
- , subq_0.booking__paid_at__day
- , subq_0.booking__paid_at__week
- , subq_0.booking__paid_at__month
- , subq_0.booking__paid_at__quarter
- , subq_0.booking__paid_at__year
- , subq_0.booking__paid_at__extract_year
- , subq_0.booking__paid_at__extract_quarter
- , subq_0.booking__paid_at__extract_month
- , subq_0.booking__paid_at__extract_day
- , subq_0.booking__paid_at__extract_dow
- , subq_0.booking__paid_at__extract_doy
- , subq_0.ds__day AS metric_time__day
- , subq_0.ds__week AS metric_time__week
- , subq_0.ds__month AS metric_time__month
- , subq_0.ds__quarter AS metric_time__quarter
- , subq_0.ds__year AS metric_time__year
- , subq_0.ds__extract_year AS metric_time__extract_year
- , subq_0.ds__extract_quarter AS metric_time__extract_quarter
- , subq_0.ds__extract_month AS metric_time__extract_month
- , subq_0.ds__extract_day AS metric_time__extract_day
- , subq_0.ds__extract_dow AS metric_time__extract_dow
- , subq_0.ds__extract_doy AS metric_time__extract_doy
- , subq_0.listing
- , subq_0.guest
- , subq_0.host
- , subq_0.booking__listing
- , subq_0.booking__guest
- , subq_0.booking__host
- , subq_0.is_instant
- , subq_0.booking__is_instant
- , subq_0.bookings
- , subq_0.instant_bookings
- , subq_0.booking_value
- , subq_0.max_booking_value
- , subq_0.min_booking_value
- , subq_0.bookers
- , subq_0.average_booking_value
- , subq_0.referred_bookings
- , subq_0.median_booking_value
- , subq_0.booking_value_p99
- , subq_0.discrete_booking_value_p99
- , subq_0.approximate_continuous_booking_value_p99
- , subq_0.approximate_discrete_booking_value_p99
+ subq_1.ds__day
+ , subq_1.ds__week
+ , subq_1.ds__month
+ , subq_1.ds__quarter
+ , subq_1.ds__year
+ , subq_1.ds__extract_year
+ , subq_1.ds__extract_quarter
+ , subq_1.ds__extract_month
+ , subq_1.ds__extract_day
+ , subq_1.ds__extract_dow
+ , subq_1.ds__extract_doy
+ , subq_1.ds_partitioned__day
+ , subq_1.ds_partitioned__week
+ , subq_1.ds_partitioned__month
+ , subq_1.ds_partitioned__quarter
+ , subq_1.ds_partitioned__year
+ , subq_1.ds_partitioned__extract_year
+ , subq_1.ds_partitioned__extract_quarter
+ , subq_1.ds_partitioned__extract_month
+ , subq_1.ds_partitioned__extract_day
+ , subq_1.ds_partitioned__extract_dow
+ , subq_1.ds_partitioned__extract_doy
+ , subq_1.paid_at__day
+ , subq_1.paid_at__week
+ , subq_1.paid_at__month
+ , subq_1.paid_at__quarter
+ , subq_1.paid_at__year
+ , subq_1.paid_at__extract_year
+ , subq_1.paid_at__extract_quarter
+ , subq_1.paid_at__extract_month
+ , subq_1.paid_at__extract_day
+ , subq_1.paid_at__extract_dow
+ , subq_1.paid_at__extract_doy
+ , subq_1.booking__ds__day
+ , subq_1.booking__ds__week
+ , subq_1.booking__ds__month
+ , subq_1.booking__ds__quarter
+ , subq_1.booking__ds__year
+ , subq_1.booking__ds__extract_year
+ , subq_1.booking__ds__extract_quarter
+ , subq_1.booking__ds__extract_month
+ , subq_1.booking__ds__extract_day
+ , subq_1.booking__ds__extract_dow
+ , subq_1.booking__ds__extract_doy
+ , subq_1.booking__ds_partitioned__day
+ , subq_1.booking__ds_partitioned__week
+ , subq_1.booking__ds_partitioned__month
+ , subq_1.booking__ds_partitioned__quarter
+ , subq_1.booking__ds_partitioned__year
+ , subq_1.booking__ds_partitioned__extract_year
+ , subq_1.booking__ds_partitioned__extract_quarter
+ , subq_1.booking__ds_partitioned__extract_month
+ , subq_1.booking__ds_partitioned__extract_day
+ , subq_1.booking__ds_partitioned__extract_dow
+ , subq_1.booking__ds_partitioned__extract_doy
+ , subq_1.booking__paid_at__day
+ , subq_1.booking__paid_at__week
+ , subq_1.booking__paid_at__month
+ , subq_1.booking__paid_at__quarter
+ , subq_1.booking__paid_at__year
+ , subq_1.booking__paid_at__extract_year
+ , subq_1.booking__paid_at__extract_quarter
+ , subq_1.booking__paid_at__extract_month
+ , subq_1.booking__paid_at__extract_day
+ , subq_1.booking__paid_at__extract_dow
+ , subq_1.booking__paid_at__extract_doy
+ , subq_1.ds__day AS metric_time__day
+ , subq_1.ds__week AS metric_time__week
+ , subq_1.ds__month AS metric_time__month
+ , subq_1.ds__quarter AS metric_time__quarter
+ , subq_1.ds__year AS metric_time__year
+ , subq_1.ds__extract_year AS metric_time__extract_year
+ , subq_1.ds__extract_quarter AS metric_time__extract_quarter
+ , subq_1.ds__extract_month AS metric_time__extract_month
+ , subq_1.ds__extract_day AS metric_time__extract_day
+ , subq_1.ds__extract_dow AS metric_time__extract_dow
+ , subq_1.ds__extract_doy AS metric_time__extract_doy
+ , subq_1.listing
+ , subq_1.guest
+ , subq_1.host
+ , subq_1.booking__listing
+ , subq_1.booking__guest
+ , subq_1.booking__host
+ , subq_1.is_instant
+ , subq_1.booking__is_instant
+ , subq_1.bookings
+ , subq_1.instant_bookings
+ , subq_1.booking_value
+ , subq_1.max_booking_value
+ , subq_1.min_booking_value
+ , subq_1.bookers
+ , subq_1.average_booking_value
+ , subq_1.referred_bookings
+ , subq_1.median_booking_value
+ , subq_1.booking_value_p99
+ , subq_1.discrete_booking_value_p99
+ , subq_1.approximate_continuous_booking_value_p99
+ , subq_1.approximate_discrete_booking_value_p99
FROM (
-- Read Elements From Semantic Model 'bookings_source'
SELECT
@@ -377,16 +377,16 @@ FROM (
, bookings_source_src_28000.guest_id AS booking__guest
, bookings_source_src_28000.host_id AS booking__host
FROM ***************************.fct_bookings bookings_source_src_28000
- ) subq_0
- ) subq_1
- WHERE subq_1.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
- ) subq_2
- ) subq_3
+ ) subq_1
+ ) subq_2
+ WHERE subq_2.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
+ ) subq_3
+ ) subq_4
GROUP BY
- subq_3.metric_time__day
- ) subq_4
+ subq_4.metric_time__day
+ ) subq_5
ON
- subq_8.metric_time__day = subq_4.metric_time__day
- ) subq_9
- WHERE subq_9.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
-) subq_10
+ subq_9.metric_time__day = subq_5.metric_time__day
+ ) subq_10
+ WHERE subq_10.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
+) subq_11
diff --git a/tests_metricflow/snapshots/test_time_spine_join_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_queried_time_constraint__plan0_optimized.sql b/tests_metricflow/snapshots/test_time_spine_join_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_queried_time_constraint__plan0_optimized.sql
index b77e3140dd..42d3eaa887 100644
--- a/tests_metricflow/snapshots/test_time_spine_join_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_queried_time_constraint__plan0_optimized.sql
+++ b/tests_metricflow/snapshots/test_time_spine_join_rendering.py/SqlPlan/DuckDB/test_join_to_time_spine_with_queried_time_constraint__plan0_optimized.sql
@@ -12,8 +12,8 @@ FROM (
-- Join to Time Spine Dataset
-- Constrain Time Range to [2020-01-03T00:00:00, 2020-01-05T00:00:00]
SELECT
- subq_19.metric_time__day AS metric_time__day
- , subq_15.bookings AS bookings
+ subq_20.metric_time__day AS metric_time__day
+ , subq_16.bookings AS bookings
FROM (
-- Read From Time Spine 'mf_time_spine'
-- Change Column Aliases
@@ -23,7 +23,7 @@ FROM (
ds AS metric_time__day
FROM ***************************.mf_time_spine time_spine_src_28006
WHERE ds BETWEEN '2020-01-03' AND '2020-01-05'
- ) subq_19
+ ) subq_20
LEFT OUTER JOIN (
-- Aggregate Measures
SELECT
@@ -39,11 +39,11 @@ FROM (
, 1 AS bookings
FROM ***************************.fct_bookings bookings_source_src_28000
WHERE DATE_TRUNC('day', ds) BETWEEN '2020-01-03' AND '2020-01-05'
- ) subq_14
+ ) subq_15
GROUP BY
metric_time__day
- ) subq_15
+ ) subq_16
ON
- subq_19.metric_time__day = subq_15.metric_time__day
- WHERE subq_19.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
-) subq_21
+ subq_20.metric_time__day = subq_16.metric_time__day
+ WHERE subq_20.metric_time__day BETWEEN '2020-01-03' AND '2020-01-05'
+) subq_22