From 3afe16846e77c80009847dd39c781d3d87521f52 Mon Sep 17 00:00:00 2001 From: tlento Date: Tue, 27 Aug 2024 17:42:21 -0700 Subject: [PATCH] Add ExpandedTimeGranularity struct to linkable elements With the impending introduction of custom granularities, which are named granularities accessed via a lookup keyed by a date/time value with a specified base grain, our reliance on raw TimeGranularity enumeration elements will no longer be sufficient for managing dataflow plans or queries. In order to be able to reference custom granularities in our TimeDimensionSpec and associated ElementPathKey and LinkableElement subclasses we need to make space for both the granularity name and a base grain value. This change adds an ExpandedTimeGranularity struct to encapsulate both of these pieces of information in a single object value, and switches the LinkableDimension time granularity property to use it in place of the bare TimeGranularity enum value. This is just the first step. Later changes will migrate most internal TimeGranularity-typed properties to the new ExpandedTimeGranularity construct. Once we have a proof of concept for this working we will decide whether this construct belongs in dbt-semantic-interfaces or if we can keep this internal to MetricFlow. The main reason to expand this is for more natural support for time windows and offsets, but we may be able to simply allow strings in the protocol spec and convert them to the struct types inside of MetricFlow. --- .../model/semantics/linkable_element.py | 8 +- .../model/semantics/linkable_element_set.py | 4 +- .../model/semantics/linkable_spec_resolver.py | 9 +- .../specs/time_dimension_spec.py | 3 +- .../metricflow_semantics/time/granularity.py | 32 + .../semantics/test_linkable_element_set.py | 7 +- .../model/test_where_filter_spec.py | 37 +- .../str/test_all_properties__result0.txt | 1160 ++++++++--------- ...le_element_set_from_join_path__result0.txt | 80 +- ..._set_from_join_path_multi_hop__result0.txt | 80 +- .../test_cyclic_join_manifest__result0.txt | 120 +- ...roperty_for_cumulative_metric__result0.txt | 2 +- ..._property_for_derived_metrics__result0.txt | 80 +- ...ccumulate_last_2_months_metric__result.txt | 10 +- ...h_different_parent_time_grains__result.txt | 15 +- ...c_with_same_parent_time_grains__result.txt | 10 +- ...ics_with_different_time_grains__result.txt | 15 +- ..._metrics_with_same_time_grains__result.txt | 10 +- ...me_in_query_filter__no_metrics__result.txt | 10 +- ...in_query_filter__simple_metric__result.txt | 10 +- ...h_defined_metric_time_filter__result_0.txt | 10 +- ..._time_filter_on_input_metric__result_0.txt | 20 +- ...h_defined_metric_time_filter__result_0.txt | 10 +- ...linkable_elements_for_measure__result0.txt | 580 ++++----- ...s_for_measure_multi_hop_model__result0.txt | 80 +- ...linkable_elements_for_metrics__result0.txt | 280 ++-- ...imensions_in_different_models__result0.txt | 284 ++-- ...cs_with_common_filtered_metric__result.txt | 20 +- ...tion_for_invalid_metric_filter__result.txt | 15 +- ...or_invalid_metric_input_filter__result.txt | 15 +- ...lution_for_valid_metric_filter__result.txt | 10 +- ..._for_valid_metric_input_filter__result.txt | 10 +- ...ccumulate_last_2_months_metric__result.txt | 10 +- ...h_different_parent_time_grains__result.txt | 15 +- ...c_with_same_parent_time_grains__result.txt | 10 +- ...ics_with_different_time_grains__result.txt | 15 +- ..._metrics_with_same_time_grains__result.txt | 10 +- ...spec_resolution__simple_metric__result.txt | 10 +- .../specs/test_spec_serialization.py | 3 +- metricflow/engine/metricflow_engine.py | 13 +- .../test_dataflow_to_sql_plan.py | 3 +- ...join_to_time_spine_with_filters__dfp_0.xml | 15 +- ...ry_have_different_granularities__dfp_0.xml | 15 +- ...ry_have_different_granularities__dfp_0.xml | 25 +- ...constrained_plan_time_dimension__dfp_0.xml | 10 +- ..._time_pushdown_with_two_targets__dfp_0.xml | 10 +- ...time_pushdown_with_two_targets__dfpo_0.xml | 10 +- 47 files changed, 1734 insertions(+), 1476 deletions(-) create mode 100644 metricflow-semantics/metricflow_semantics/time/granularity.py diff --git a/metricflow-semantics/metricflow_semantics/model/semantics/linkable_element.py b/metricflow-semantics/metricflow_semantics/model/semantics/linkable_element.py index aa0b489437..c477739970 100644 --- a/metricflow-semantics/metricflow_semantics/model/semantics/linkable_element.py +++ b/metricflow-semantics/metricflow_semantics/model/semantics/linkable_element.py @@ -19,12 +19,12 @@ SemanticModelReference, ) from dbt_semantic_interfaces.type_enums.date_part import DatePart -from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity from typing_extensions import override from metricflow_semantics.assert_one_arg import assert_exactly_one_arg_set from metricflow_semantics.model.linkable_element_property import LinkableElementProperty from metricflow_semantics.model.semantic_model_derivation import SemanticModelDerivation +from metricflow_semantics.time.granularity import ExpandedTimeGranularity from metricflow_semantics.workarounds.reference import sorted_semantic_model_references logger = logging.getLogger(__name__) @@ -64,7 +64,7 @@ class ElementPathKey: element_name: str element_type: LinkableElementType entity_links: Tuple[EntityReference, ...] - time_granularity: Optional[TimeGranularity] = None + time_granularity: Optional[ExpandedTimeGranularity] = None date_part: Optional[DatePart] = None metric_subquery_entity_links: Tuple[EntityReference, ...] = () @@ -148,7 +148,7 @@ class LinkableDimension(LinkableElement, SerializableDataclass): dimension_type: DimensionType entity_links: Tuple[EntityReference, ...] join_path: SemanticModelJoinPath - time_granularity: Optional[TimeGranularity] + time_granularity: Optional[ExpandedTimeGranularity] date_part: Optional[DatePart] @staticmethod @@ -159,7 +159,7 @@ def create( # noqa: D102 dimension_type: DimensionType, entity_links: Tuple[EntityReference, ...], join_path: SemanticModelJoinPath, - time_granularity: Optional[TimeGranularity], + time_granularity: Optional[ExpandedTimeGranularity], date_part: Optional[DatePart], ) -> LinkableDimension: return LinkableDimension( diff --git a/metricflow-semantics/metricflow_semantics/model/semantics/linkable_element_set.py b/metricflow-semantics/metricflow_semantics/model/semantics/linkable_element_set.py index 1c1a8aa6f5..b82af877fa 100644 --- a/metricflow-semantics/metricflow_semantics/model/semantics/linkable_element_set.py +++ b/metricflow-semantics/metricflow_semantics/model/semantics/linkable_element_set.py @@ -355,10 +355,12 @@ def _path_key_to_spec(path_key: ElementPathKey) -> LinkableInstanceSpec: ) elif path_key.element_type is LinkableElementType.TIME_DIMENSION: assert path_key.time_granularity is not None + # TODO: [custom granularity] Remove block against custom granularity values + assert not path_key.time_granularity.is_custom_granularity, "Custom granularities are not yet supported!" return TimeDimensionSpec( element_name=path_key.element_name, entity_links=path_key.entity_links, - time_granularity=path_key.time_granularity, + time_granularity=path_key.time_granularity.base_granularity, date_part=path_key.date_part, ) elif path_key.element_type is LinkableElementType.ENTITY: diff --git a/metricflow-semantics/metricflow_semantics/model/semantics/linkable_spec_resolver.py b/metricflow-semantics/metricflow_semantics/model/semantics/linkable_spec_resolver.py index 3afb0ea84a..80df48bf6c 100644 --- a/metricflow-semantics/metricflow_semantics/model/semantics/linkable_spec_resolver.py +++ b/metricflow-semantics/metricflow_semantics/model/semantics/linkable_spec_resolver.py @@ -40,6 +40,7 @@ from metricflow_semantics.model.semantics.linkable_element_set import LinkableElementSet from metricflow_semantics.model.semantics.semantic_model_join_evaluator import SemanticModelJoinEvaluator from metricflow_semantics.specs.time_dimension_spec import DEFAULT_TIME_GRANULARITY +from metricflow_semantics.time.granularity import ExpandedTimeGranularity from metricflow_semantics.time.time_spine_source import TimeSpineSource if TYPE_CHECKING: @@ -76,7 +77,7 @@ def _generate_linkable_time_dimensions( dimension_type=DimensionType.TIME, entity_links=entity_links, join_path=join_path, - time_granularity=time_granularity, + time_granularity=ExpandedTimeGranularity.from_time_granularity(time_granularity), date_part=None, properties=tuple(sorted(properties)), ) @@ -92,7 +93,7 @@ def _generate_linkable_time_dimensions( dimension_type=DimensionType.TIME, entity_links=entity_links, join_path=join_path, - time_granularity=time_granularity, + time_granularity=ExpandedTimeGranularity.from_time_granularity(time_granularity), date_part=date_part, properties=frozenset(properties), ) @@ -496,7 +497,7 @@ def _get_metric_time_elements(self, measure_reference: Optional[MeasureReference element_name=MetricFlowReservedKeywords.METRIC_TIME.value, element_type=LinkableElementType.TIME_DIMENSION, entity_links=(), - time_granularity=time_granularity, + time_granularity=ExpandedTimeGranularity.from_time_granularity(time_granularity), date_part=date_part, ) path_key_to_linkable_dimensions[path_key].append( @@ -524,7 +525,7 @@ def _get_metric_time_elements(self, measure_reference: Optional[MeasureReference } ) ), - time_granularity=time_granularity, + time_granularity=ExpandedTimeGranularity.from_time_granularity(time_granularity), date_part=date_part, ) ) diff --git a/metricflow-semantics/metricflow_semantics/specs/time_dimension_spec.py b/metricflow-semantics/metricflow_semantics/specs/time_dimension_spec.py index 4212bfef01..398f60d0fe 100644 --- a/metricflow-semantics/metricflow_semantics/specs/time_dimension_spec.py +++ b/metricflow-semantics/metricflow_semantics/specs/time_dimension_spec.py @@ -14,6 +14,7 @@ from metricflow_semantics.naming.linkable_spec_name import StructuredLinkableSpecName from metricflow_semantics.specs.dimension_spec import DimensionSpec from metricflow_semantics.specs.instance_spec import InstanceSpecVisitor +from metricflow_semantics.time.granularity import ExpandedTimeGranularity from metricflow_semantics.visitor import VisitorOutputT @@ -141,7 +142,7 @@ def element_path_key(self) -> ElementPathKey: element_name=self.element_name, element_type=LinkableElementType.TIME_DIMENSION, entity_links=self.entity_links, - time_granularity=self.time_granularity, + time_granularity=ExpandedTimeGranularity.from_time_granularity(self.time_granularity), date_part=self.date_part, ) diff --git a/metricflow-semantics/metricflow_semantics/time/granularity.py b/metricflow-semantics/metricflow_semantics/time/granularity.py new file mode 100644 index 0000000000..872b7c7ee3 --- /dev/null +++ b/metricflow-semantics/metricflow_semantics/time/granularity.py @@ -0,0 +1,32 @@ +from __future__ import annotations + +from dataclasses import dataclass + +from dbt_semantic_interfaces.dataclass_serialization import SerializableDataclass +from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity + + +@dataclass(frozen=True) +class ExpandedTimeGranularity(SerializableDataclass): + """Dataclass container for custom granularity extensions to the base TimeGranularity enumeration. + + This includes the granularity name, which is either the custom granularity or the TimeGranularity string value, + and an associated base time granularity value which we use as a pointer to the base grain used to look up the + time spine. This will allow for some level of comparison between custom granularities. + + Note: this assumes that any base TimeGranularity value will derive the name from the TimeGranularity. It might be + worth adding validation to ensure that is always the case, meaning that no `name` value can be a value in the + TimeGranularity enumeration. + """ + + name: str + base_granularity: TimeGranularity + + @property + def is_custom_granularity(self) -> bool: # noqa: D102 + return self.base_granularity.value != self.name + + @classmethod + def from_time_granularity(cls, granularity: TimeGranularity) -> ExpandedTimeGranularity: + """Factory method for creating an ExpandedTimeGranularity from a standard TimeGranularity enumeration value.""" + return ExpandedTimeGranularity(name=granularity.value, base_granularity=granularity) diff --git a/metricflow-semantics/tests_metricflow_semantics/model/semantics/test_linkable_element_set.py b/metricflow-semantics/tests_metricflow_semantics/model/semantics/test_linkable_element_set.py index b0af974a6a..936a51519b 100644 --- a/metricflow-semantics/tests_metricflow_semantics/model/semantics/test_linkable_element_set.py +++ b/metricflow-semantics/tests_metricflow_semantics/model/semantics/test_linkable_element_set.py @@ -40,6 +40,7 @@ ParameterSetField, ) from metricflow_semantics.specs.time_dimension_spec import TimeDimensionSpec +from metricflow_semantics.time.granularity import ExpandedTimeGranularity from more_itertools import bucket AMBIGUOUS_NAME = "ambiguous" @@ -105,7 +106,7 @@ defined_in_semantic_model=_base_semantic_model, join_path=SemanticModelJoinPath(left_semantic_model_reference=_measure_semantic_model), properties=frozenset([LinkableElementProperty.LOCAL_LINKED]), - time_granularity=TimeGranularity.DAY, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.DAY), date_part=None, ) # Resolves to the same local linked name name as _ambiguous_entity @@ -598,7 +599,7 @@ def linkable_set() -> LinkableElementSet: # noqa: D103 element_name="time_dimension_element", entity_links=(entity_1,), element_type=LinkableElementType.TIME_DIMENSION, - time_granularity=TimeGranularity.DAY, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.DAY), ): ( LinkableDimension.create( defined_in_semantic_model=SemanticModelReference("time_dimension_source"), @@ -615,7 +616,7 @@ def linkable_set() -> LinkableElementSet: # noqa: D103 ), ), properties=frozenset(), - time_granularity=TimeGranularity.DAY, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.DAY), date_part=None, ), ), diff --git a/metricflow-semantics/tests_metricflow_semantics/model/test_where_filter_spec.py b/metricflow-semantics/tests_metricflow_semantics/model/test_where_filter_spec.py index 48bae8d141..154955b459 100644 --- a/metricflow-semantics/tests_metricflow_semantics/model/test_where_filter_spec.py +++ b/metricflow-semantics/tests_metricflow_semantics/model/test_where_filter_spec.py @@ -56,6 +56,7 @@ from metricflow_semantics.specs.time_dimension_spec import TimeDimensionSpec from metricflow_semantics.specs.where_filter.where_filter_spec import WhereFilterSpec from metricflow_semantics.specs.where_filter.where_filter_transform import WhereSpecFactory +from metricflow_semantics.time.granularity import ExpandedTimeGranularity from tests_metricflow_semantics.specs.conftest import EXAMPLE_FILTER_LOCATION @@ -167,7 +168,7 @@ def test_dimension_in_filter_with_grain( # noqa: D103 element_name="created_at", element_type=LinkableElementType.TIME_DIMENSION, entity_links=(EntityReference("listing"),), - time_granularity=TimeGranularity.WEEK, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.WEEK), date_part=None, ): ( LinkableDimension.create( @@ -179,7 +180,7 @@ def test_dimension_in_filter_with_grain( # noqa: D103 left_semantic_model_reference=SemanticModelReference("bookings_source"), ), properties=frozenset(), - time_granularity=TimeGranularity.WEEK, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.WEEK), date_part=None, ), ) @@ -231,19 +232,19 @@ def test_time_dimension_in_filter( # noqa: D103 element_name="created_at", element_type=LinkableElementType.TIME_DIMENSION, entity_links=(EntityReference("listing"),), - time_granularity=TimeGranularity.MONTH, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.MONTH), date_part=None, ): ( LinkableDimension.create( defined_in_semantic_model=SemanticModelReference("listings_source"), - dimension_type=DimensionType.CATEGORICAL, + dimension_type=DimensionType.TIME, element_name="created_at", entity_links=(EntityReference("listing"),), join_path=SemanticModelJoinPath( left_semantic_model_reference=SemanticModelReference("bookings_source"), ), properties=frozenset(), - time_granularity=TimeGranularity.MONTH, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.MONTH), date_part=None, ), ) @@ -295,19 +296,19 @@ def test_time_dimension_with_grain_in_name( # noqa: D103 element_name="created_at", element_type=LinkableElementType.TIME_DIMENSION, entity_links=(EntityReference("listing"),), - time_granularity=TimeGranularity.MONTH, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.MONTH), date_part=None, ): ( LinkableDimension.create( defined_in_semantic_model=SemanticModelReference("listings_source"), - dimension_type=DimensionType.CATEGORICAL, + dimension_type=DimensionType.TIME, element_name="created_at", entity_links=(EntityReference("listing"),), join_path=SemanticModelJoinPath( left_semantic_model_reference=SemanticModelReference("bookings_source"), ), properties=frozenset(), - time_granularity=TimeGranularity.MONTH, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.MONTH), date_part=None, ), ) @@ -360,7 +361,7 @@ def test_date_part_in_filter( # noqa: D103 element_name="metric_time", element_type=LinkableElementType.TIME_DIMENSION, entity_links=(), - time_granularity=TimeGranularity.DAY, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.DAY), date_part=DatePart.YEAR, ): ( LinkableDimension.create( @@ -372,7 +373,7 @@ def test_date_part_in_filter( # noqa: D103 left_semantic_model_reference=SemanticModelReference("bookings_source"), ), properties=frozenset(), - time_granularity=TimeGranularity.DAY, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.DAY), date_part=DatePart.YEAR, ), ) @@ -428,7 +429,7 @@ def resolved_spec_lookup() -> FilterSpecResolutionLookUp: element_name="metric_time", element_type=LinkableElementType.TIME_DIMENSION, entity_links=(), - time_granularity=TimeGranularity.WEEK, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.WEEK), date_part=DatePart.YEAR, ): ( LinkableDimension.create( @@ -440,7 +441,7 @@ def resolved_spec_lookup() -> FilterSpecResolutionLookUp: left_semantic_model_reference=SemanticModelReference("bookings_source"), ), properties=frozenset(), - time_granularity=TimeGranularity.WEEK, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.WEEK), date_part=DatePart.YEAR, ), ) @@ -550,8 +551,8 @@ def test_entity_in_filter( # noqa: D103 element_name="user", element_type=LinkableElementType.ENTITY, entity_links=(EntityReference("listing"),), - time_granularity=TimeGranularity.DAY, - date_part=DatePart.YEAR, + time_granularity=None, + date_part=None, ): ( LinkableEntity.create( defined_in_semantic_model=SemanticModelReference("bookings"), @@ -659,9 +660,9 @@ def get_spec(dimension: str) -> WhereFilterSpec: path_key_to_linkable_dimensions={ ElementPathKey( element_name=METRIC_TIME_ELEMENT_NAME, - element_type=LinkableElementType.DIMENSION, + element_type=LinkableElementType.TIME_DIMENSION, entity_links=(EntityReference("listing"),), - time_granularity=TimeGranularity.DAY, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.DAY), date_part=DatePart.YEAR, ): ( LinkableDimension.create( @@ -673,7 +674,9 @@ def get_spec(dimension: str) -> WhereFilterSpec: left_semantic_model_reference=SemanticModelReference("bookings_source"), ), properties=frozenset(), - time_granularity=TimeGranularity.WEEK, + time_granularity=ExpandedTimeGranularity.from_time_granularity( + TimeGranularity.WEEK + ), date_part=DatePart.YEAR, ), ) diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_all_properties__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_all_properties__result0.txt index cba715b557..c5ca278926 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_all_properties__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_all_properties__result0.txt @@ -1,602 +1,602 @@ Model Join-Path Entity Links Name Time Granularity Date Part Properties --------------------------------------------------------- ------------------- -------------------- ------------------ ----------- --------------------------------------------------- ('bookings_source',) () listing ['ENTITY', 'LOCAL'] -('bookings_source',) () metric_time DAY ['METRIC_TIME'] -('bookings_source',) () metric_time DAY DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time WEEK ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day ['METRIC_TIME'] +('bookings_source',) () metric_time day DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time month ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time month MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time month QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time month YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time quarter ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time quarter YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time week ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time week MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time week QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time week YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time year ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time year YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] ('bookings_source', 'listings_latest') ('listing',) capacity_latest ['JOINED'] ('bookings_source', 'listings_latest') ('listing',) country_latest ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DOW ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DOY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY MONTH ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY QUARTER ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY YEAR ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DOW ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DOY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY MONTH ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY QUARTER ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY YEAR ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DAY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DOW ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DOY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day MONTH ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day QUARTER ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day YEAR ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DAY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DOW ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DOY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day MONTH ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day QUARTER ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day YEAR ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] ('bookings_source', 'listings_latest') ('listing',) is_lux_latest ['JOINED'] ('bookings_source', 'listings_latest') ('listing',) user ['ENTITY', 'JOINED'] ('bookings_source', 'listings_latest', 'companies') ('listing', 'user') company ['ENTITY', 'JOINED', 'MULTI_HOP'] ('bookings_source', 'listings_latest', 'companies') ('listing', 'user') company_name ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] ('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') home_state ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] ('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') home_state_latest ['JOINED', 'MULTI_HOP'] ('bookings_source', 'lux_listing_mapping') ('listing',) lux_listing ['ENTITY', 'JOINED'] ('views_source',) () listing ['ENTITY', 'LOCAL'] -('views_source',) () metric_time DAY ['METRIC_TIME'] -('views_source',) () metric_time DAY DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time WEEK ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day ['METRIC_TIME'] +('views_source',) () metric_time day DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time month ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time month MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time month QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time month YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time quarter ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time quarter YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time week ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time week MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time week QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time week YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time year ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time year YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] ('views_source', 'listings_latest') ('listing',) capacity_latest ['JOINED'] ('views_source', 'listings_latest') ('listing',) country_latest ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DOW ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DOY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY MONTH ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY QUARTER ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY YEAR ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) created_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DOW ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DOY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY MONTH ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY QUARTER ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY YEAR ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('views_source', 'listings_latest') ('listing',) ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DAY ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DOW ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DOY ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day MONTH ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day QUARTER ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day YEAR ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) created_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds day ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DAY ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DOW ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DOY ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day MONTH ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day QUARTER ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day YEAR ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('views_source', 'listings_latest') ('listing',) ds year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] ('views_source', 'listings_latest') ('listing',) is_lux_latest ['JOINED'] ('views_source', 'listings_latest') ('listing',) user ['ENTITY', 'JOINED'] ('views_source', 'listings_latest', 'companies') ('listing', 'user') company ['ENTITY', 'JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'companies') ('listing', 'user') company_name ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MINUTE YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts minute YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') home_state ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MINUTE YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts SECOND YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts minute YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second DAY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second DOW ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second DOY ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts second YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'users_latest') ('listing', 'user') home_state_latest ['JOINED', 'MULTI_HOP'] ('views_source', 'lux_listing_mapping') ('listing',) lux_listing ['ENTITY', 'JOINED'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_create_linkable_element_set_from_join_path__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_create_linkable_element_set_from_join_path__result0.txt index 83e58e4975..d346df372d 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_create_linkable_element_set_from_join_path__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_create_linkable_element_set_from_join_path__result0.txt @@ -2,45 +2,45 @@ Model Join-Path Entity Links Name Time Gr -------------------------------------- -------------- --------------- ------------------ ----------- -------------------------------------- ('bookings_source', 'listings_latest') ('listing',) capacity_latest ['JOINED'] ('bookings_source', 'listings_latest') ('listing',) country_latest ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DOW ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DOY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY MONTH ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY QUARTER ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY YEAR ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DOW ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DOY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY MONTH ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY QUARTER ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY YEAR ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DAY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DOW ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DOY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day MONTH ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day QUARTER ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day YEAR ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DAY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DOW ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DOY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day MONTH ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day QUARTER ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day YEAR ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] ('bookings_source', 'listings_latest') ('listing',) is_lux_latest ['JOINED'] ('bookings_source', 'listings_latest') ('listing',) user ['ENTITY', 'JOINED'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_create_linkable_element_set_from_join_path_multi_hop__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_create_linkable_element_set_from_join_path_multi_hop__result0.txt index d25de2b612..4d6a084908 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_create_linkable_element_set_from_join_path_multi_hop__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_create_linkable_element_set_from_join_path_multi_hop__result0.txt @@ -2,45 +2,45 @@ Model Join-Path Entity Links Name ----------------------------------------------- -------------------- --------------- ------------------ ----------- --------------------------------------------------- ('views_source', 'bookings', 'listings_latest') ('guest', 'listing') capacity_latest ['JOINED', 'MULTI_HOP'] ('views_source', 'bookings', 'listings_latest') ('guest', 'listing') country_latest ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] -('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at day ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') created_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds day ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds month ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds quarter ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds week ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds year ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] +('views_source', 'bookings', 'listings_latest') ('guest', 'listing') ds year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED', 'MULTI_HOP'] ('views_source', 'bookings', 'listings_latest') ('guest', 'listing') is_lux_latest ['JOINED', 'MULTI_HOP'] ('views_source', 'bookings', 'listings_latest') ('guest', 'listing') user ['ENTITY', 'JOINED', 'MULTI_HOP'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_cyclic_join_manifest__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_cyclic_join_manifest__result0.txt index c2f3b92127..1b796ee3b8 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_cyclic_join_manifest__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_cyclic_join_manifest__result0.txt @@ -2,67 +2,67 @@ Model Join-Path Entity Links Name --------------------------------------------- ------------------ --------------- ------------------ ----------- ------------------------------------------- ('listings_latest',) () cyclic_entity ['ENTITY', 'LOCAL'] ('listings_latest',) () listing ['ENTITY', 'LOCAL'] -('listings_latest',) () metric_time DAY ['METRIC_TIME'] -('listings_latest',) () metric_time DAY DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time WEEK ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day ['METRIC_TIME'] +('listings_latest',) () metric_time day DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time month ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time month MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time month QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time month YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time quarter ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time quarter YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time week ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time week MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time week QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time week YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time year ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time year YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] ('listings_latest',) ('cyclic_entity',) country_latest ['LOCAL'] -('listings_latest',) ('cyclic_entity',) ds DAY ['LOCAL'] -('listings_latest',) ('cyclic_entity',) ds DAY DAY ['LOCAL'] -('listings_latest',) ('cyclic_entity',) ds DAY DOW ['LOCAL'] -('listings_latest',) ('cyclic_entity',) ds DAY DOY ['LOCAL'] -('listings_latest',) ('cyclic_entity',) ds DAY MONTH ['LOCAL'] -('listings_latest',) ('cyclic_entity',) ds DAY QUARTER ['LOCAL'] -('listings_latest',) ('cyclic_entity',) ds DAY YEAR ['LOCAL'] -('listings_latest',) ('cyclic_entity',) ds MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds WEEK ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('cyclic_entity',) ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds day ['LOCAL'] +('listings_latest',) ('cyclic_entity',) ds day DAY ['LOCAL'] +('listings_latest',) ('cyclic_entity',) ds day DOW ['LOCAL'] +('listings_latest',) ('cyclic_entity',) ds day DOY ['LOCAL'] +('listings_latest',) ('cyclic_entity',) ds day MONTH ['LOCAL'] +('listings_latest',) ('cyclic_entity',) ds day QUARTER ['LOCAL'] +('listings_latest',) ('cyclic_entity',) ds day YEAR ['LOCAL'] +('listings_latest',) ('cyclic_entity',) ds month ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds month MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds month YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds quarter ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds week ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds week MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds week YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds year ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('cyclic_entity',) ds year YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] ('listings_latest',) ('listing',) country_latest ['LOCAL'] -('listings_latest',) ('listing',) ds DAY ['LOCAL'] -('listings_latest',) ('listing',) ds DAY DAY ['LOCAL'] -('listings_latest',) ('listing',) ds DAY DOW ['LOCAL'] -('listings_latest',) ('listing',) ds DAY DOY ['LOCAL'] -('listings_latest',) ('listing',) ds DAY MONTH ['LOCAL'] -('listings_latest',) ('listing',) ds DAY QUARTER ['LOCAL'] -('listings_latest',) ('listing',) ds DAY YEAR ['LOCAL'] -('listings_latest',) ('listing',) ds MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds WEEK ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds day ['LOCAL'] +('listings_latest',) ('listing',) ds day DAY ['LOCAL'] +('listings_latest',) ('listing',) ds day DOW ['LOCAL'] +('listings_latest',) ('listing',) ds day DOY ['LOCAL'] +('listings_latest',) ('listing',) ds day MONTH ['LOCAL'] +('listings_latest',) ('listing',) ds day QUARTER ['LOCAL'] +('listings_latest',) ('listing',) ds day YEAR ['LOCAL'] +('listings_latest',) ('listing',) ds month ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds month MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds month YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds quarter ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds week ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds week MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds week YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds year ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds year YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] ('listings_latest', 'listings_latest_cyclic') ('cyclic_entity',) capacity_latest ['JOINED'] ('listings_latest', 'listings_latest_cyclic') ('listing',) capacity_latest ['JOINED'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_metric_time_property_for_cumulative_metric__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_metric_time_property_for_cumulative_metric__result0.txt index fe3e1edc7d..e68093debf 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_metric_time_property_for_cumulative_metric__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_metric_time_property_for_cumulative_metric__result0.txt @@ -1,3 +1,3 @@ Model Join-Path Entity Links Name Time Granularity Date Part Properties ----------------- -------------- ----------- ------------------ ----------- --------------- -('revenue',) () metric_time DAY ['METRIC_TIME'] +('revenue',) () metric_time day ['METRIC_TIME'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_metric_time_property_for_derived_metrics__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_metric_time_property_for_derived_metrics__result0.txt index dad2ccbf93..5efa8c9618 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_metric_time_property_for_derived_metrics__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_linkable_spec_resolver.py/str/test_metric_time_property_for_derived_metrics__result0.txt @@ -1,42 +1,42 @@ Model Join-Path Entity Links Name Time Granularity Date Part Properties -------------------- -------------- ----------- ------------------ ----------- ------------------------------------------- -('bookings_source',) () metric_time DAY ['METRIC_TIME'] -('bookings_source',) () metric_time DAY DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time DAY YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time WEEK ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('bookings_source',) () metric_time YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY ['METRIC_TIME'] -('views_source',) () metric_time DAY DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time DAY YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time WEEK ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('views_source',) () metric_time YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day ['METRIC_TIME'] +('bookings_source',) () metric_time day DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time day YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time month ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time month MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time month QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time month YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time quarter ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time quarter YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time week ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time week MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time week QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time week YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time year ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('bookings_source',) () metric_time year YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day ['METRIC_TIME'] +('views_source',) () metric_time day DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time day YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time month ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time month MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time month QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time month YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time quarter ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time quarter YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time week ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time week MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time week QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time week YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time year ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('views_source',) () metric_time year YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__accumulate_last_2_months_metric__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__accumulate_last_2_months_metric__result.txt index 0450476a29..19b1e65d1d 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__accumulate_last_2_months_metric__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__accumulate_last_2_months_metric__result.txt @@ -5,7 +5,10 @@ GroupByItemResolution( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=(METRIC_TIME,), @@ -19,7 +22,10 @@ GroupByItemResolution( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__derived_metric_with_different_parent_time_grains__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__derived_metric_with_different_parent_time_grains__result.txt index c0ab4fe216..cd50b4c1dc 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__derived_metric_with_different_parent_time_grains__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__derived_metric_with_different_parent_time_grains__result.txt @@ -5,7 +5,10 @@ GroupByItemResolution( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ): ( LinkableDimension( properties=(DERIVED_TIME_GRANULARITY, METRIC_TIME), @@ -19,7 +22,10 @@ GroupByItemResolution( semantic_model_name='monthly_measures_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), LinkableDimension( properties=(METRIC_TIME,), @@ -33,7 +39,10 @@ GroupByItemResolution( semantic_model_name='yearly_measure_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__derived_metric_with_same_parent_time_grains__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__derived_metric_with_same_parent_time_grains__result.txt index 0450476a29..19b1e65d1d 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__derived_metric_with_same_parent_time_grains__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__derived_metric_with_same_parent_time_grains__result.txt @@ -5,7 +5,10 @@ GroupByItemResolution( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=(METRIC_TIME,), @@ -19,7 +22,10 @@ GroupByItemResolution( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__metrics_with_different_time_grains__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__metrics_with_different_time_grains__result.txt index c0ab4fe216..cd50b4c1dc 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__metrics_with_different_time_grains__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__metrics_with_different_time_grains__result.txt @@ -5,7 +5,10 @@ GroupByItemResolution( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ): ( LinkableDimension( properties=(DERIVED_TIME_GRANULARITY, METRIC_TIME), @@ -19,7 +22,10 @@ GroupByItemResolution( semantic_model_name='monthly_measures_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), LinkableDimension( properties=(METRIC_TIME,), @@ -33,7 +39,10 @@ GroupByItemResolution( semantic_model_name='yearly_measure_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__metrics_with_same_time_grains__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__metrics_with_same_time_grains__result.txt index 0450476a29..19b1e65d1d 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__metrics_with_same_time_grains__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__metrics_with_same_time_grains__result.txt @@ -5,7 +5,10 @@ GroupByItemResolution( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=(METRIC_TIME,), @@ -19,7 +22,10 @@ GroupByItemResolution( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__no_metrics__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__no_metrics__result.txt index 98dd8771e6..209ac018ef 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__no_metrics__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__no_metrics__result.txt @@ -5,7 +5,10 @@ GroupByItemResolution( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=DAY, + time_granularity=ExpandedTimeGranularity( + name='day', + base_granularity=DAY, + ), ): ( LinkableDimension( properties=(DERIVED_TIME_GRANULARITY, METRIC_TIME), @@ -16,7 +19,10 @@ GroupByItemResolution( semantic_model_name='__VIRTUAL__', ), ), - time_granularity=DAY, + time_granularity=ExpandedTimeGranularity( + name='day', + base_granularity=DAY, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__simple_metric__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__simple_metric__result.txt index 0450476a29..19b1e65d1d 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__simple_metric__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_matching_item_for_filters.py/GroupByItemResolution/test_ambiguous_metric_time_in_query_filter__simple_metric__result.txt @@ -5,7 +5,10 @@ GroupByItemResolution( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=(METRIC_TIME,), @@ -19,7 +22,10 @@ GroupByItemResolution( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_derived_metric_with_defined_metric_time_filter__result_0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_derived_metric_with_defined_metric_time_filter__result_0.txt index b6d9c3f3ca..d3104131e6 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_derived_metric_with_defined_metric_time_filter__result_0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_derived_metric_with_defined_metric_time_filter__result_0.txt @@ -31,7 +31,10 @@ MetricFlowQuerySpec( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ): ( LinkableDimension( properties=( @@ -48,7 +51,10 @@ MetricFlowQuerySpec( semantic_model_name='monthly_measures_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_derived_metric_with_defined_metric_time_filter_on_input_metric__result_0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_derived_metric_with_defined_metric_time_filter_on_input_metric__result_0.txt index c39e7639ff..a5fd895e42 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_derived_metric_with_defined_metric_time_filter_on_input_metric__result_0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_derived_metric_with_defined_metric_time_filter_on_input_metric__result_0.txt @@ -31,7 +31,10 @@ MetricFlowQuerySpec( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=QUARTER, + time_granularity=ExpandedTimeGranularity( + name='quarter', + base_granularity=QUARTER, + ), ): ( LinkableDimension( properties=( @@ -48,7 +51,10 @@ MetricFlowQuerySpec( semantic_model_name='monthly_measures_source', ), ), - time_granularity=QUARTER, + time_granularity=ExpandedTimeGranularity( + name='quarter', + base_granularity=QUARTER, + ), ), ), }, @@ -100,7 +106,10 @@ MetricFlowQuerySpec( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ): ( LinkableDimension( properties=( @@ -117,7 +126,10 @@ MetricFlowQuerySpec( semantic_model_name='monthly_measures_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_simple_metric_with_defined_metric_time_filter__result_0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_simple_metric_with_defined_metric_time_filter__result_0.txt index 957321aff2..2bbdd3b918 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_simple_metric_with_defined_metric_time_filter__result_0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_metric_time_granularity.py/MetricFlowQuerySpec/test_simple_metric_with_defined_metric_time_filter__result_0.txt @@ -31,7 +31,10 @@ MetricFlowQuerySpec( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=QUARTER, + time_granularity=ExpandedTimeGranularity( + name='quarter', + base_granularity=QUARTER, + ), ): ( LinkableDimension( properties=( @@ -48,7 +51,10 @@ MetricFlowQuerySpec( semantic_model_name='monthly_measures_source', ), ), - time_granularity=QUARTER, + time_granularity=ExpandedTimeGranularity( + name='quarter', + base_granularity=QUARTER, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure__result0.txt index 8e7a823ed4..56a269375b 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure__result0.txt @@ -1,26 +1,26 @@ Model Join-Path Entity Links Name Time Granularity Date Part Properties ------------------------------------------ --------------------------------------------- --------------------------------------------------- ------------------ ----------- ------------------------------------------- ('listings_latest',) () listing ['ENTITY', 'LOCAL'] -('listings_latest',) () metric_time DAY ['METRIC_TIME'] -('listings_latest',) () metric_time DAY DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time DAY YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time WEEK ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('listings_latest',) () metric_time YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day ['METRIC_TIME'] +('listings_latest',) () metric_time day DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time day YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time month ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time month MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time month QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time month YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time quarter ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time quarter YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time week ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time week MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time week QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time week YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time year ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('listings_latest',) () metric_time year YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] ('listings_latest',) () user ['ENTITY', 'LOCAL'] ('listings_latest',) ("('listing',)", "('booking', 'listing')") approximate_continuous_booking_value_p99 ['JOINED', 'METRIC'] ('listings_latest',) ("('listing',)", "('booking', 'listing')") approximate_discrete_booking_value_p99 ['JOINED', 'METRIC'] @@ -210,280 +210,280 @@ Model Join-Path Entity Links ('listings_latest',) ("('user',)", "('visit', 'user')") visit_buy_conversions ['JOINED', 'METRIC'] ('listings_latest',) ('listing',) capacity_latest ['LOCAL'] ('listings_latest',) ('listing',) country_latest ['LOCAL'] -('listings_latest',) ('listing',) created_at DAY ['LOCAL'] -('listings_latest',) ('listing',) created_at DAY DAY ['LOCAL'] -('listings_latest',) ('listing',) created_at DAY DOW ['LOCAL'] -('listings_latest',) ('listing',) created_at DAY DOY ['LOCAL'] -('listings_latest',) ('listing',) created_at DAY MONTH ['LOCAL'] -('listings_latest',) ('listing',) created_at DAY QUARTER ['LOCAL'] -('listings_latest',) ('listing',) created_at DAY YEAR ['LOCAL'] -('listings_latest',) ('listing',) created_at MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at WEEK ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) created_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds DAY ['LOCAL'] -('listings_latest',) ('listing',) ds DAY DAY ['LOCAL'] -('listings_latest',) ('listing',) ds DAY DOW ['LOCAL'] -('listings_latest',) ('listing',) ds DAY DOY ['LOCAL'] -('listings_latest',) ('listing',) ds DAY MONTH ['LOCAL'] -('listings_latest',) ('listing',) ds DAY QUARTER ['LOCAL'] -('listings_latest',) ('listing',) ds DAY YEAR ['LOCAL'] -('listings_latest',) ('listing',) ds MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds WEEK ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('listings_latest',) ('listing',) ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at day ['LOCAL'] +('listings_latest',) ('listing',) created_at day DAY ['LOCAL'] +('listings_latest',) ('listing',) created_at day DOW ['LOCAL'] +('listings_latest',) ('listing',) created_at day DOY ['LOCAL'] +('listings_latest',) ('listing',) created_at day MONTH ['LOCAL'] +('listings_latest',) ('listing',) created_at day QUARTER ['LOCAL'] +('listings_latest',) ('listing',) created_at day YEAR ['LOCAL'] +('listings_latest',) ('listing',) created_at month ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at month MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at month YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at quarter ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at week ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at week MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at week YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at year ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) created_at year YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds day ['LOCAL'] +('listings_latest',) ('listing',) ds day DAY ['LOCAL'] +('listings_latest',) ('listing',) ds day DOW ['LOCAL'] +('listings_latest',) ('listing',) ds day DOY ['LOCAL'] +('listings_latest',) ('listing',) ds day MONTH ['LOCAL'] +('listings_latest',) ('listing',) ds day QUARTER ['LOCAL'] +('listings_latest',) ('listing',) ds day YEAR ['LOCAL'] +('listings_latest',) ('listing',) ds month ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds month MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds month YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds quarter ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds week ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds week MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds week YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds year ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('listings_latest',) ('listing',) ds year YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] ('listings_latest',) ('listing',) is_lux_latest ['LOCAL'] ('listings_latest',) ('listing',) user ['ENTITY', 'LOCAL'] ('listings_latest', 'companies') ('user',) company ['ENTITY', 'JOINED'] ('listings_latest', 'companies') ('user',) company_name ['JOINED'] ('listings_latest', 'lux_listing_mapping') ('listing',) lux_listing ['ENTITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at HOUR ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at HOUR DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at HOUR DOW ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at HOUR DOY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at HOUR MONTH ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at HOUR QUARTER ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at HOUR YEAR ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) archived_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MINUTE ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MINUTE DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MINUTE DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MINUTE DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MINUTE MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MINUTE QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MINUTE YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts SECOND ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts SECOND DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts SECOND DOW ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts SECOND DOY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts SECOND MONTH ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts SECOND QUARTER ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts SECOND YEAR ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) bio_added_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at DAY DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at DAY DOW ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at DAY DOY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at DAY MONTH ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at DAY QUARTER ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at DAY YEAR ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) created_at YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds DAY DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds DAY DOW ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds DAY DOY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds DAY MONTH ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds DAY QUARTER ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds DAY YEAR ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned DAY DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned DAY DOW ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned DAY DOY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned DAY MONTH ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned DAY QUARTER ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned DAY YEAR ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) ds_partitioned YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at day ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at hour ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at hour DAY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at hour DOW ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at hour DOY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at hour MONTH ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at hour QUARTER ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at hour YEAR ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) archived_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts minute ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts minute DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts minute DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts minute DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts minute MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts minute QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts minute YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts second ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts second DAY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts second DOW ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts second DOY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts second MONTH ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts second QUARTER ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts second YEAR ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) bio_added_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at day ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at day DAY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at day DOW ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at day DOY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at day MONTH ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at day QUARTER ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at day YEAR ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) created_at year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds day ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds day DAY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds day DOW ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds day DOY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds day MONTH ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds day QUARTER ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds day YEAR ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned day ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned day DAY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned day DOW ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned day DOY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned day MONTH ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned day QUARTER ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned day YEAR ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) ds_partitioned year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] ('listings_latest', 'users_ds_source') ('user',) home_state ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MINUTE ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MINUTE DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MINUTE DOW ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MINUTE DOY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MINUTE MONTH ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MINUTE QUARTER ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MINUTE YEAR ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_login_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts DAY DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts DAY DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts DAY DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts DAY MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts DAY YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts HOUR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts HOUR DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts HOUR DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts HOUR DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts HOUR MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts HOUR QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts HOUR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND DAY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND DOW ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND DOY ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND MONTH ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND QUARTER ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND YEAR ['JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MINUTE ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MINUTE DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MINUTE DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MINUTE DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MINUTE MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MINUTE QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MINUTE YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts SECOND ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts SECOND DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts SECOND DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts SECOND DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts SECOND MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts SECOND QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts SECOND YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest DAY ['JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest DAY DAY ['JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest DAY DOW ['JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest DAY DOY ['JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest DAY MONTH ['JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest DAY QUARTER ['JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest DAY YEAR ['JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest WEEK ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] -('listings_latest', 'users_latest') ('user',) ds_latest YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts minute ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts minute DAY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts minute DOW ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts minute DOY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts minute MONTH ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts minute QUARTER ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts minute YEAR ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_login_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts day ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts day DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts day DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts day DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts day MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts day QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts day YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts hour ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts hour DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts hour DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts hour DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts hour MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts hour QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts hour YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts millisecond ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts millisecond DAY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts millisecond DOW ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts millisecond DOY ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts millisecond MONTH ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts millisecond QUARTER ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts millisecond YEAR ['JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts minute ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts minute DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts minute DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts minute DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts minute MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts minute QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts minute YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts second ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts second DAY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts second DOW ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts second DOY ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts second MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts second QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts second YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_ds_source') ('user',) last_profile_edit_ts year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest day ['JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest day DAY ['JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest day DOW ['JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest day DOY ['JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest day MONTH ['JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest day QUARTER ['JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest day YEAR ['JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest month ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest month MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest month QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest month YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest quarter ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest quarter YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest week ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest week MONTH ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest week QUARTER ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest week YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest year ['DERIVED_TIME_GRANULARITY', 'JOINED'] +('listings_latest', 'users_latest') ('user',) ds_latest year YEAR ['DERIVED_TIME_GRANULARITY', 'JOINED'] ('listings_latest', 'users_latest') ('user',) home_state_latest ['JOINED'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure_multi_hop_model__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure_multi_hop_model__result0.txt index 427981431b..dffa2a739e 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure_multi_hop_model__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_measure_multi_hop_model__result0.txt @@ -1,48 +1,48 @@ Model Join-Path Entity Links Name Time Granularity Date Part Properties ------------------------------------------------------------- -------------------------------------- ---------------------- ------------------ ----------- ------------------------------------------- ('account_month_txns',) () account_id ['ENTITY', 'LOCAL'] -('account_month_txns',) () metric_time DAY ['METRIC_TIME'] -('account_month_txns',) () metric_time DAY DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time DAY DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time DAY DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time DAY MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time DAY QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time DAY YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time WEEK ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] -('account_month_txns',) () metric_time YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time day ['METRIC_TIME'] +('account_month_txns',) () metric_time day DAY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time day DOW ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time day DOY ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time day MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time day QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time day YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time month ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time month MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time month QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time month YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time quarter ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time quarter YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time week ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time week MONTH ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time week QUARTER ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time week YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time year ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] +('account_month_txns',) () metric_time year YEAR ['DERIVED_TIME_GRANULARITY', 'METRIC_TIME'] ('account_month_txns',) ("('account_id',)", "('account_id',)") txn_count ['JOINED', 'METRIC'] ('account_month_txns',) ('account_id',) account_month ['LOCAL'] -('account_month_txns',) ('account_id',) ds DAY ['LOCAL'] -('account_month_txns',) ('account_id',) ds DAY DAY ['LOCAL'] -('account_month_txns',) ('account_id',) ds DAY DOW ['LOCAL'] -('account_month_txns',) ('account_id',) ds DAY DOY ['LOCAL'] -('account_month_txns',) ('account_id',) ds DAY MONTH ['LOCAL'] -('account_month_txns',) ('account_id',) ds DAY QUARTER ['LOCAL'] -('account_month_txns',) ('account_id',) ds DAY YEAR ['LOCAL'] -('account_month_txns',) ('account_id',) ds MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds MONTH MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds MONTH QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds MONTH YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds QUARTER QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds QUARTER YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds WEEK ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds WEEK MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds WEEK QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds WEEK YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] -('account_month_txns',) ('account_id',) ds YEAR YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds day ['LOCAL'] +('account_month_txns',) ('account_id',) ds day DAY ['LOCAL'] +('account_month_txns',) ('account_id',) ds day DOW ['LOCAL'] +('account_month_txns',) ('account_id',) ds day DOY ['LOCAL'] +('account_month_txns',) ('account_id',) ds day MONTH ['LOCAL'] +('account_month_txns',) ('account_id',) ds day QUARTER ['LOCAL'] +('account_month_txns',) ('account_id',) ds day YEAR ['LOCAL'] +('account_month_txns',) ('account_id',) ds month ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds month MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds month QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds month YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds quarter ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds quarter QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds quarter YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds week ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds week MONTH ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds week QUARTER ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds week YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds year ['DERIVED_TIME_GRANULARITY', 'LOCAL'] +('account_month_txns',) ('account_id',) ds year YEAR ['DERIVED_TIME_GRANULARITY', 'LOCAL'] ('account_month_txns', 'bridge_table') ('account_id',) customer_id ['ENTITY', 'JOINED'] ('account_month_txns', 'bridge_table') ('account_id',) extra_dim ['JOINED'] ('account_month_txns', 'bridge_table', 'customer_other_data') ('account_id', 'customer_id') country ['JOINED', 'MULTI_HOP'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_metrics__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_metrics__result0.txt index 9e424ad035..668a927d9e 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_metrics__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_elements_for_metrics__result0.txt @@ -2,158 +2,158 @@ Model Join-Path Entity Links Nam ------------------------------------------------------ ------------------- -------------------- ------------------ ----------- --------------------------------- ('views_source',) () listing ['ENTITY', 'LOCAL'] ('views_source',) () user ['ENTITY', 'LOCAL'] -('views_source',) ('view',) ds DAY ['LOCAL'] -('views_source',) ('view',) ds DAY DAY ['LOCAL'] -('views_source',) ('view',) ds DAY DOW ['LOCAL'] -('views_source',) ('view',) ds DAY DOY ['LOCAL'] -('views_source',) ('view',) ds DAY MONTH ['LOCAL'] -('views_source',) ('view',) ds DAY QUARTER ['LOCAL'] -('views_source',) ('view',) ds DAY YEAR ['LOCAL'] -('views_source',) ('view',) ds_partitioned DAY ['LOCAL'] -('views_source',) ('view',) ds_partitioned DAY DAY ['LOCAL'] -('views_source',) ('view',) ds_partitioned DAY DOW ['LOCAL'] -('views_source',) ('view',) ds_partitioned DAY DOY ['LOCAL'] -('views_source',) ('view',) ds_partitioned DAY MONTH ['LOCAL'] -('views_source',) ('view',) ds_partitioned DAY QUARTER ['LOCAL'] -('views_source',) ('view',) ds_partitioned DAY YEAR ['LOCAL'] +('views_source',) ('view',) ds day ['LOCAL'] +('views_source',) ('view',) ds day DAY ['LOCAL'] +('views_source',) ('view',) ds day DOW ['LOCAL'] +('views_source',) ('view',) ds day DOY ['LOCAL'] +('views_source',) ('view',) ds day MONTH ['LOCAL'] +('views_source',) ('view',) ds day QUARTER ['LOCAL'] +('views_source',) ('view',) ds day YEAR ['LOCAL'] +('views_source',) ('view',) ds_partitioned day ['LOCAL'] +('views_source',) ('view',) ds_partitioned day DAY ['LOCAL'] +('views_source',) ('view',) ds_partitioned day DOW ['LOCAL'] +('views_source',) ('view',) ds_partitioned day DOY ['LOCAL'] +('views_source',) ('view',) ds_partitioned day MONTH ['LOCAL'] +('views_source',) ('view',) ds_partitioned day QUARTER ['LOCAL'] +('views_source',) ('view',) ds_partitioned day YEAR ['LOCAL'] ('views_source',) ('view',) listing ['ENTITY', 'LOCAL'] ('views_source',) ('view',) user ['ENTITY', 'LOCAL'] ('views_source', 'companies') ('user',) company ['ENTITY', 'JOINED'] ('views_source', 'companies') ('user',) company_name ['JOINED'] ('views_source', 'listings_latest') ('listing',) capacity_latest ['JOINED'] ('views_source', 'listings_latest') ('listing',) country_latest ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DOW ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DOY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY MONTH ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY QUARTER ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY YEAR ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DOW ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DOY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY MONTH ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY QUARTER ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY YEAR ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DAY ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DOW ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DOY ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day MONTH ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day QUARTER ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day YEAR ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DAY ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DOW ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DOY ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day MONTH ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day QUARTER ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day YEAR ['JOINED'] ('views_source', 'listings_latest') ('listing',) is_lux_latest ['JOINED'] ('views_source', 'listings_latest') ('listing',) user ['ENTITY', 'JOINED'] ('views_source', 'listings_latest', 'companies') ('listing', 'user') company ['ENTITY', 'JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'companies') ('listing', 'user') company_name ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day YEAR ['JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') home_state ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day YEAR ['JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'users_latest') ('listing', 'user') home_state_latest ['JOINED', 'MULTI_HOP'] ('views_source', 'lux_listing_mapping') ('listing',) lux_listing ['ENTITY', 'JOINED'] -('views_source', 'users_ds_source') ('user',) archived_at HOUR ['JOINED'] -('views_source', 'users_ds_source') ('user',) archived_at HOUR DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) archived_at HOUR DOW ['JOINED'] -('views_source', 'users_ds_source') ('user',) archived_at HOUR DOY ['JOINED'] -('views_source', 'users_ds_source') ('user',) archived_at HOUR MONTH ['JOINED'] -('views_source', 'users_ds_source') ('user',) archived_at HOUR QUARTER ['JOINED'] -('views_source', 'users_ds_source') ('user',) archived_at HOUR YEAR ['JOINED'] -('views_source', 'users_ds_source') ('user',) bio_added_ts SECOND ['JOINED'] -('views_source', 'users_ds_source') ('user',) bio_added_ts SECOND DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) bio_added_ts SECOND DOW ['JOINED'] -('views_source', 'users_ds_source') ('user',) bio_added_ts SECOND DOY ['JOINED'] -('views_source', 'users_ds_source') ('user',) bio_added_ts SECOND MONTH ['JOINED'] -('views_source', 'users_ds_source') ('user',) bio_added_ts SECOND QUARTER ['JOINED'] -('views_source', 'users_ds_source') ('user',) bio_added_ts SECOND YEAR ['JOINED'] -('views_source', 'users_ds_source') ('user',) created_at DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) created_at DAY DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) created_at DAY DOW ['JOINED'] -('views_source', 'users_ds_source') ('user',) created_at DAY DOY ['JOINED'] -('views_source', 'users_ds_source') ('user',) created_at DAY MONTH ['JOINED'] -('views_source', 'users_ds_source') ('user',) created_at DAY QUARTER ['JOINED'] -('views_source', 'users_ds_source') ('user',) created_at DAY YEAR ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds DAY DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds DAY DOW ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds DAY DOY ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds DAY MONTH ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds DAY QUARTER ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds DAY YEAR ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds_partitioned DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds_partitioned DAY DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds_partitioned DAY DOW ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds_partitioned DAY DOY ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds_partitioned DAY MONTH ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds_partitioned DAY QUARTER ['JOINED'] -('views_source', 'users_ds_source') ('user',) ds_partitioned DAY YEAR ['JOINED'] +('views_source', 'users_ds_source') ('user',) archived_at hour ['JOINED'] +('views_source', 'users_ds_source') ('user',) archived_at hour DAY ['JOINED'] +('views_source', 'users_ds_source') ('user',) archived_at hour DOW ['JOINED'] +('views_source', 'users_ds_source') ('user',) archived_at hour DOY ['JOINED'] +('views_source', 'users_ds_source') ('user',) archived_at hour MONTH ['JOINED'] +('views_source', 'users_ds_source') ('user',) archived_at hour QUARTER ['JOINED'] +('views_source', 'users_ds_source') ('user',) archived_at hour YEAR ['JOINED'] +('views_source', 'users_ds_source') ('user',) bio_added_ts second ['JOINED'] +('views_source', 'users_ds_source') ('user',) bio_added_ts second DAY ['JOINED'] +('views_source', 'users_ds_source') ('user',) bio_added_ts second DOW ['JOINED'] +('views_source', 'users_ds_source') ('user',) bio_added_ts second DOY ['JOINED'] +('views_source', 'users_ds_source') ('user',) bio_added_ts second MONTH ['JOINED'] +('views_source', 'users_ds_source') ('user',) bio_added_ts second QUARTER ['JOINED'] +('views_source', 'users_ds_source') ('user',) bio_added_ts second YEAR ['JOINED'] +('views_source', 'users_ds_source') ('user',) created_at day ['JOINED'] +('views_source', 'users_ds_source') ('user',) created_at day DAY ['JOINED'] +('views_source', 'users_ds_source') ('user',) created_at day DOW ['JOINED'] +('views_source', 'users_ds_source') ('user',) created_at day DOY ['JOINED'] +('views_source', 'users_ds_source') ('user',) created_at day MONTH ['JOINED'] +('views_source', 'users_ds_source') ('user',) created_at day QUARTER ['JOINED'] +('views_source', 'users_ds_source') ('user',) created_at day YEAR ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds day ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds day DAY ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds day DOW ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds day DOY ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds day MONTH ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds day QUARTER ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds day YEAR ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds_partitioned day ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds_partitioned day DAY ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds_partitioned day DOW ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds_partitioned day DOY ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds_partitioned day MONTH ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds_partitioned day QUARTER ['JOINED'] +('views_source', 'users_ds_source') ('user',) ds_partitioned day YEAR ['JOINED'] ('views_source', 'users_ds_source') ('user',) home_state ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_login_ts MINUTE ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_login_ts MINUTE DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_login_ts MINUTE DOW ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_login_ts MINUTE DOY ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_login_ts MINUTE MONTH ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_login_ts MINUTE QUARTER ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_login_ts MINUTE YEAR ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND DAY ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND DOW ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND DOY ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND MONTH ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND QUARTER ['JOINED'] -('views_source', 'users_ds_source') ('user',) last_profile_edit_ts MILLISECOND YEAR ['JOINED'] -('views_source', 'users_latest') ('user',) ds_latest DAY ['JOINED'] -('views_source', 'users_latest') ('user',) ds_latest DAY DAY ['JOINED'] -('views_source', 'users_latest') ('user',) ds_latest DAY DOW ['JOINED'] -('views_source', 'users_latest') ('user',) ds_latest DAY DOY ['JOINED'] -('views_source', 'users_latest') ('user',) ds_latest DAY MONTH ['JOINED'] -('views_source', 'users_latest') ('user',) ds_latest DAY QUARTER ['JOINED'] -('views_source', 'users_latest') ('user',) ds_latest DAY YEAR ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_login_ts minute ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_login_ts minute DAY ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_login_ts minute DOW ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_login_ts minute DOY ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_login_ts minute MONTH ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_login_ts minute QUARTER ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_login_ts minute YEAR ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_profile_edit_ts millisecond ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_profile_edit_ts millisecond DAY ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_profile_edit_ts millisecond DOW ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_profile_edit_ts millisecond DOY ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_profile_edit_ts millisecond MONTH ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_profile_edit_ts millisecond QUARTER ['JOINED'] +('views_source', 'users_ds_source') ('user',) last_profile_edit_ts millisecond YEAR ['JOINED'] +('views_source', 'users_latest') ('user',) ds_latest day ['JOINED'] +('views_source', 'users_latest') ('user',) ds_latest day DAY ['JOINED'] +('views_source', 'users_latest') ('user',) ds_latest day DOW ['JOINED'] +('views_source', 'users_latest') ('user',) ds_latest day DOY ['JOINED'] +('views_source', 'users_latest') ('user',) ds_latest day MONTH ['JOINED'] +('views_source', 'users_latest') ('user',) ds_latest day QUARTER ['JOINED'] +('views_source', 'users_latest') ('user',) ds_latest day YEAR ['JOINED'] ('views_source', 'users_latest') ('user',) home_state_latest ['JOINED'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_set_for_common_dimensions_in_different_models__result0.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_set_for_common_dimensions_in_different_models__result0.txt index 7652399b70..814471405d 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_set_for_common_dimensions_in_different_models__result0.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_semantic_model_container.py/str/test_linkable_set_for_common_dimensions_in_different_models__result0.txt @@ -1,164 +1,164 @@ Model Join-Path Entity Links Name Time Granularity Date Part Properties --------------------------------------------------------- ------------------- -------------------- ------------------ ----------- --------------------------------- ('bookings_source',) () listing ['ENTITY', 'LOCAL'] -('bookings_source',) () metric_time DAY ['METRIC_TIME'] +('bookings_source',) () metric_time day ['METRIC_TIME'] ('bookings_source', 'listings_latest') ('listing',) capacity_latest ['JOINED'] ('bookings_source', 'listings_latest') ('listing',) country_latest ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DOW ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY DOY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY MONTH ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY QUARTER ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) created_at DAY YEAR ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DAY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DOW ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY DOY ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY MONTH ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY QUARTER ['JOINED'] -('bookings_source', 'listings_latest') ('listing',) ds DAY YEAR ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DAY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DOW ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day DOY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day MONTH ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day QUARTER ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) created_at day YEAR ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DAY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DOW ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day DOY ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day MONTH ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day QUARTER ['JOINED'] +('bookings_source', 'listings_latest') ('listing',) ds day YEAR ['JOINED'] ('bookings_source', 'listings_latest') ('listing',) is_lux_latest ['JOINED'] ('bookings_source', 'listings_latest') ('listing',) user ['ENTITY', 'JOINED'] ('bookings_source', 'listings_latest', 'companies') ('listing', 'user') company ['ENTITY', 'JOINED', 'MULTI_HOP'] ('bookings_source', 'listings_latest', 'companies') ('listing', 'user') company_name ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day YEAR ['JOINED', 'MULTI_HOP'] ('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') home_state ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND YEAR ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DAY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOW ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOY ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY MONTH ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY QUARTER ['JOINED', 'MULTI_HOP'] -('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond YEAR ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DAY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOW ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOY ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day MONTH ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day QUARTER ['JOINED', 'MULTI_HOP'] +('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day YEAR ['JOINED', 'MULTI_HOP'] ('bookings_source', 'listings_latest', 'users_latest') ('listing', 'user') home_state_latest ['JOINED', 'MULTI_HOP'] ('bookings_source', 'lux_listing_mapping') ('listing',) lux_listing ['ENTITY', 'JOINED'] ('views_source',) () listing ['ENTITY', 'LOCAL'] -('views_source',) () metric_time DAY ['METRIC_TIME'] +('views_source',) () metric_time day ['METRIC_TIME'] ('views_source', 'listings_latest') ('listing',) capacity_latest ['JOINED'] ('views_source', 'listings_latest') ('listing',) country_latest ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DOW ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY DOY ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY MONTH ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY QUARTER ['JOINED'] -('views_source', 'listings_latest') ('listing',) created_at DAY YEAR ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DAY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DOW ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY DOY ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY MONTH ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY QUARTER ['JOINED'] -('views_source', 'listings_latest') ('listing',) ds DAY YEAR ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DAY ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DOW ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day DOY ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day MONTH ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day QUARTER ['JOINED'] +('views_source', 'listings_latest') ('listing',) created_at day YEAR ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DAY ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DOW ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day DOY ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day MONTH ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day QUARTER ['JOINED'] +('views_source', 'listings_latest') ('listing',) ds day YEAR ['JOINED'] ('views_source', 'listings_latest') ('listing',) is_lux_latest ['JOINED'] ('views_source', 'listings_latest') ('listing',) user ['ENTITY', 'JOINED'] ('views_source', 'listings_latest', 'companies') ('listing', 'user') company ['ENTITY', 'JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'companies') ('listing', 'user') company_name ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at HOUR YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts SECOND YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds DAY YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned DAY YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') archived_at hour YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') bio_added_ts second YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') created_at day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds day YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') ds_partitioned day YEAR ['JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') home_state ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts MINUTE YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts MILLISECOND YEAR ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DAY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOW ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY DOY ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY MONTH ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY QUARTER ['JOINED', 'MULTI_HOP'] -('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest DAY YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_login_ts minute YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_ds_source') ('listing', 'user') last_profile_edit_ts millisecond YEAR ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DAY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOW ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day DOY ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day MONTH ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day QUARTER ['JOINED', 'MULTI_HOP'] +('views_source', 'listings_latest', 'users_latest') ('listing', 'user') ds_latest day YEAR ['JOINED', 'MULTI_HOP'] ('views_source', 'listings_latest', 'users_latest') ('listing', 'user') home_state_latest ['JOINED', 'MULTI_HOP'] ('views_source', 'lux_listing_mapping') ('listing',) lux_listing ['ENTITY', 'JOINED'] diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_derived_metrics_with_common_filtered_metric__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_derived_metrics_with_common_filtered_metric__result.txt index fe217b1e52..a338d53584 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_derived_metrics_with_common_filtered_metric__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_derived_metrics_with_common_filtered_metric__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=( @@ -44,7 +47,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, @@ -92,7 +98,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=( @@ -108,7 +117,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_invalid_metric_filter__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_invalid_metric_filter__result.txt index 680894f346..814d0b4b4c 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_invalid_metric_filter__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_invalid_metric_filter__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ): ( LinkableDimension( properties=( @@ -45,7 +48,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), LinkableDimension( properties=( @@ -61,7 +67,10 @@ FilterSpecResolutionLookUp( semantic_model_name='yearly_measure_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_invalid_metric_input_filter__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_invalid_metric_input_filter__result.txt index 1828fec269..023526cb23 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_invalid_metric_input_filter__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_invalid_metric_input_filter__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ): ( LinkableDimension( properties=( @@ -45,7 +48,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), LinkableDimension( properties=( @@ -61,7 +67,10 @@ FilterSpecResolutionLookUp( semantic_model_name='yearly_measure_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_valid_metric_filter__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_valid_metric_filter__result.txt index c2ffe2a0f9..5d5dd54fd7 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_valid_metric_filter__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_valid_metric_filter__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=( @@ -44,7 +47,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_valid_metric_input_filter__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_valid_metric_input_filter__result.txt index 7977c5d6e5..5948e80f30 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_valid_metric_input_filter__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_resolution_for_valid_metric_input_filter__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=( @@ -44,7 +47,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__accumulate_last_2_months_metric__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__accumulate_last_2_months_metric__result.txt index d2edee4213..6d3b86f8b0 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__accumulate_last_2_months_metric__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__accumulate_last_2_months_metric__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=( @@ -44,7 +47,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__derived_metric_with_different_parent_time_grains__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__derived_metric_with_different_parent_time_grains__result.txt index c08cfc993e..e5ac76a1cd 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__derived_metric_with_different_parent_time_grains__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__derived_metric_with_different_parent_time_grains__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ): ( LinkableDimension( properties=( @@ -45,7 +48,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), LinkableDimension( properties=( @@ -61,7 +67,10 @@ FilterSpecResolutionLookUp( semantic_model_name='yearly_measure_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__derived_metric_with_same_parent_time_grains__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__derived_metric_with_same_parent_time_grains__result.txt index e6d1c789dd..8f83ab08bc 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__derived_metric_with_same_parent_time_grains__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__derived_metric_with_same_parent_time_grains__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=( @@ -44,7 +47,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__metrics_with_different_time_grains__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__metrics_with_different_time_grains__result.txt index 7687fd07bf..f833af58e0 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__metrics_with_different_time_grains__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__metrics_with_different_time_grains__result.txt @@ -31,7 +31,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ): ( LinkableDimension( properties=( @@ -48,7 +51,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), LinkableDimension( properties=( @@ -64,7 +70,10 @@ FilterSpecResolutionLookUp( semantic_model_name='yearly_measure_source', ), ), - time_granularity=YEAR, + time_granularity=ExpandedTimeGranularity( + name='year', + base_granularity=YEAR, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__metrics_with_same_time_grains__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__metrics_with_same_time_grains__result.txt index 32df7d86ae..bcae0cf9e6 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__metrics_with_same_time_grains__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__metrics_with_same_time_grains__result.txt @@ -31,7 +31,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=( @@ -47,7 +50,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__simple_metric__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__simple_metric__result.txt index 686f6fe4a4..f508579985 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__simple_metric__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_spec_lookup.py/str/test_filter_spec_resolution__simple_metric__result.txt @@ -28,7 +28,10 @@ FilterSpecResolutionLookUp( ElementPathKey( element_name='metric_time', element_type=TIME_DIMENSION, - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ): ( LinkableDimension( properties=( @@ -44,7 +47,10 @@ FilterSpecResolutionLookUp( semantic_model_name='monthly_measures_source', ), ), - time_granularity=MONTH, + time_granularity=ExpandedTimeGranularity( + name='month', + base_granularity=MONTH, + ), ), ), }, diff --git a/metricflow-semantics/tests_metricflow_semantics/specs/test_spec_serialization.py b/metricflow-semantics/tests_metricflow_semantics/specs/test_spec_serialization.py index d9795419f1..0dc0d8a252 100644 --- a/metricflow-semantics/tests_metricflow_semantics/specs/test_spec_serialization.py +++ b/metricflow-semantics/tests_metricflow_semantics/specs/test_spec_serialization.py @@ -17,6 +17,7 @@ from metricflow_semantics.specs.time_dimension_spec import TimeDimensionSpec from metricflow_semantics.specs.where_filter.where_filter_spec import WhereFilterSpec from metricflow_semantics.sql.sql_bind_parameters import SqlBindParameter, SqlBindParameters, SqlBindParameterValue +from metricflow_semantics.time.granularity import ExpandedTimeGranularity def test_where_filter_spec_serialization() -> None: # noqa: D103 @@ -45,7 +46,7 @@ def test_where_filter_spec_serialization() -> None: # noqa: D103 ), ), date_part=DatePart.DAY, - time_granularity=TimeGranularity.DAY, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.DAY), ), ), ), diff --git a/metricflow/engine/metricflow_engine.py b/metricflow/engine/metricflow_engine.py index 0eedc652e1..c30e0e928a 100644 --- a/metricflow/engine/metricflow_engine.py +++ b/metricflow/engine/metricflow_engine.py @@ -595,12 +595,21 @@ def simple_dimensions_for_metrics( # noqa: D102 entity_reference.element_name for entity_reference in linkable_dimension.entity_links ), - time_granularity=linkable_dimension.time_granularity, + # TODO: Update StructuredLinkableSpecName to use ExpandedTimeGranularity + time_granularity=( + linkable_dimension.time_granularity.base_granularity + if linkable_dimension.time_granularity is not None + else None + ), ).qualified_name, description="Event time for metrics.", metadata=None, type_params=PydanticDimensionTypeParams( - time_granularity=linkable_dimension.time_granularity, + time_granularity=( + linkable_dimension.time_granularity.base_granularity + if linkable_dimension.time_granularity is not None + else None + ), validity_params=None, ), is_partition=False, diff --git a/tests_metricflow/plan_conversion/test_dataflow_to_sql_plan.py b/tests_metricflow/plan_conversion/test_dataflow_to_sql_plan.py index 7b60b7f318..69723a06de 100644 --- a/tests_metricflow/plan_conversion/test_dataflow_to_sql_plan.py +++ b/tests_metricflow/plan_conversion/test_dataflow_to_sql_plan.py @@ -31,6 +31,7 @@ from metricflow_semantics.test_helpers.config_helpers import MetricFlowTestConfiguration from metricflow_semantics.test_helpers.metric_time_dimension import MTD_SPEC_DAY from metricflow_semantics.test_helpers.snapshot_helpers import assert_plan_snapshot_text_equal +from metricflow_semantics.time.granularity import ExpandedTimeGranularity from metricflow.dataflow.builder.dataflow_plan_builder import DataflowPlanBuilder from metricflow.dataflow.dataflow_plan import ( @@ -208,7 +209,7 @@ def test_filter_with_where_constraint_node( dimension_type=DimensionType.TIME, entity_links=(EntityReference(element_name="booking"),), properties=frozenset(), - time_granularity=TimeGranularity.DAY, + time_granularity=ExpandedTimeGranularity.from_time_granularity(TimeGranularity.DAY), date_part=None, join_path=SemanticModelJoinPath( left_semantic_model_reference=SemanticModelReference("bookings_source"), diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_filters__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_filters__dfp_0.xml index 553d97b92d..c2a5359ee6 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_filters__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_join_to_time_spine_with_filters__dfp_0.xml @@ -26,7 +26,10 @@ - + + + + @@ -67,7 +70,10 @@ - + + + + @@ -119,7 +125,10 @@ - + + + + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_to_grain_metric_filter_and_query_have_different_granularities__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_to_grain_metric_filter_and_query_have_different_granularities__dfp_0.xml index 17b6a97992..ddd17b1584 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_to_grain_metric_filter_and_query_have_different_granularities__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_to_grain_metric_filter_and_query_have_different_granularities__dfp_0.xml @@ -26,7 +26,10 @@ - + + + + @@ -65,7 +68,10 @@ - + + + + @@ -112,7 +118,10 @@ - + + + + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_window_metric_filter_and_query_have_different_granularities__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_window_metric_filter_and_query_have_different_granularities__dfp_0.xml index 3316ce438a..2a578f548b 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_window_metric_filter_and_query_have_different_granularities__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_offset_window_metric_filter_and_query_have_different_granularities__dfp_0.xml @@ -26,7 +26,10 @@ - + + + + @@ -68,7 +71,10 @@ - + + + + @@ -114,7 +120,10 @@ - + + + + @@ -188,7 +197,10 @@ - + + + + @@ -233,7 +245,10 @@ - + + + + diff --git a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan_time_dimension__dfp_0.xml b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan_time_dimension__dfp_0.xml index 3c79e8f8dc..03ea5bd452 100644 --- a/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan_time_dimension__dfp_0.xml +++ b/tests_metricflow/snapshots/test_dataflow_plan_builder.py/DataflowPlan/test_where_constrained_plan_time_dimension__dfp_0.xml @@ -26,7 +26,10 @@ - + + + + @@ -75,7 +78,10 @@ - + + + + diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfp_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfp_0.xml index f6be93d338..cd713d5d7c 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfp_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfp_0.xml @@ -26,7 +26,10 @@ - + + + + @@ -75,7 +78,10 @@ - + + + + diff --git a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfpo_0.xml b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfpo_0.xml index 46f22c90b4..5de7f20594 100644 --- a/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfpo_0.xml +++ b/tests_metricflow/snapshots/test_predicate_pushdown_optimizer.py/DataflowPlan/test_simple_join_metric_time_pushdown_with_two_targets__dfpo_0.xml @@ -26,7 +26,10 @@ - + + + + @@ -75,7 +78,10 @@ - + + + +