Skip to content

Commit

Permalink
fixup! Add tests for derived metrics with shared aliases
Browse files Browse the repository at this point in the history
  • Loading branch information
serramatutu committed Nov 4, 2024
1 parent 1b7d1bc commit 8a7b603
Show file tree
Hide file tree
Showing 12 changed files with 79 additions and 79 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -806,10 +806,10 @@ metric:
filter: "{{ Metric('views', ['listing']) }} > 10"
time_granularity: week
---
# note that in both 1a and 1b "shared_alias" refer to "bookinks", whereas
# note that in both 1a and 1b "shared_alias" refer to "bookings", whereas
# in 2 it refers to "instant_bookings", hence the naming difference
metric:
name: derived_sharedalias_1a
name: derived_shared_alias_1a
description: "Minimal repro case for derived metrics which give the same alias for different underlying metrics"
type: derived
type_params:
Expand All @@ -819,7 +819,7 @@ metric:
alias: shared_alias
---
metric:
name: derived_sharedalias_1b
name: derived_shared_alias_1b
description: "Minimal repro case for derived metrics which give the same alias for different underlying metrics"
type: derived
type_params:
Expand All @@ -829,7 +829,7 @@ metric:
alias: shared_alias
---
metric:
name: derived_sharedalias_2
name: derived_shared_alias_2
description: "Minimal repro case for derived metrics which give the same alias for different underlying metrics"
type: derived
type_params:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
'listing__booking__listing__bookings_per_dollar',
'listing__booking__listing__derived_bookings_0',
'listing__booking__listing__derived_bookings_1',
'listing__booking__listing__derived_sharedalias_1a',
'listing__booking__listing__derived_sharedalias_1b',
'listing__booking__listing__derived_sharedalias_2',
'listing__booking__listing__derived_shared_alias_1a',
'listing__booking__listing__derived_shared_alias_1b',
'listing__booking__listing__derived_shared_alias_2',
'listing__booking__listing__discrete_booking_value_p99',
'listing__booking__listing__double_counted_delayed_bookings',
'listing__booking__listing__instant_booking_fraction_of_max_value',
Expand Down Expand Up @@ -93,9 +93,9 @@
'listing__created_at__year',
'listing__derived_bookings_0',
'listing__derived_bookings_1',
'listing__derived_sharedalias_1a',
'listing__derived_sharedalias_1b',
'listing__derived_sharedalias_2',
'listing__derived_shared_alias_1a',
'listing__derived_shared_alias_1b',
'listing__derived_shared_alias_2',
'listing__discrete_booking_value_p99',
'listing__double_counted_delayed_bookings',
'listing__ds__day',
Expand Down Expand Up @@ -447,9 +447,9 @@
'user__listing__user__bookings_per_view',
'user__listing__user__derived_bookings_0',
'user__listing__user__derived_bookings_1',
'user__listing__user__derived_sharedalias_1a',
'user__listing__user__derived_sharedalias_1b',
'user__listing__user__derived_sharedalias_2',
'user__listing__user__derived_shared_alias_1a',
'user__listing__user__derived_shared_alias_1b',
'user__listing__user__derived_shared_alias_2',
'user__listing__user__discrete_booking_value_p99',
'user__listing__user__double_counted_delayed_bookings',
'user__listing__user__instant_booking_fraction_of_max_value',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ Model Join-Path Entity Links
('listings_latest',) ("('listing',)", "('booking', 'listing')") bookings_per_dollar ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") derived_bookings_0 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") derived_bookings_1 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") derived_sharedalias_1a ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") derived_sharedalias_1b ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") derived_sharedalias_2 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") derived_shared_alias_1a ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") derived_shared_alias_1b ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") derived_shared_alias_2 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") discrete_booking_value_p99 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") double_counted_delayed_bookings ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('booking', 'listing')") instant_booking_fraction_of_max_value ['JOINED', 'METRIC']
Expand Down Expand Up @@ -97,9 +97,9 @@ Model Join-Path Entity Links
('listings_latest',) ("('listing',)", "('listing',)") bookings_per_view ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") derived_bookings_0 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") derived_bookings_1 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") derived_sharedalias_1a ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") derived_sharedalias_1b ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") derived_sharedalias_2 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") derived_shared_alias_1a ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") derived_shared_alias_1b ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") derived_shared_alias_2 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") discrete_booking_value_p99 ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") double_counted_delayed_bookings ['JOINED', 'METRIC']
('listings_latest',) ("('listing',)", "('listing',)") instant_booking_fraction_of_max_value ['JOINED', 'METRIC']
Expand Down Expand Up @@ -162,9 +162,9 @@ Model Join-Path Entity Links
('listings_latest',) ("('user',)", "('listing', 'user')") bookings_per_view ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") derived_bookings_0 ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") derived_bookings_1 ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") derived_sharedalias_1a ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") derived_sharedalias_1b ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") derived_sharedalias_2 ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") derived_shared_alias_1a ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") derived_shared_alias_1b ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") derived_shared_alias_2 ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") discrete_booking_value_p99 ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") double_counted_delayed_bookings ['JOINED', 'METRIC']
('listings_latest',) ("('user',)", "('listing', 'user')") instant_booking_fraction_of_max_value ['JOINED', 'METRIC']
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@
'company__listing__user__company__bookings_per_view',
'company__listing__user__company__derived_bookings_0',
'company__listing__user__company__derived_bookings_1',
'company__listing__user__company__derived_sharedalias_1a',
'company__listing__user__company__derived_sharedalias_1b',
'company__listing__user__company__derived_sharedalias_2',
'company__listing__user__company__derived_shared_alias_1a',
'company__listing__user__company__derived_shared_alias_1b',
'company__listing__user__company__derived_shared_alias_2',
'company__listing__user__company__discrete_booking_value_p99',
'company__listing__user__company__double_counted_delayed_bookings',
'company__listing__user__company__instant_booking_fraction_of_max_value',
Expand Down Expand Up @@ -149,9 +149,9 @@
'guest__booking__guest__bookings_per_dollar',
'guest__booking__guest__derived_bookings_0',
'guest__booking__guest__derived_bookings_1',
'guest__booking__guest__derived_sharedalias_1a',
'guest__booking__guest__derived_sharedalias_1b',
'guest__booking__guest__derived_sharedalias_2',
'guest__booking__guest__derived_shared_alias_1a',
'guest__booking__guest__derived_shared_alias_1b',
'guest__booking__guest__derived_shared_alias_2',
'guest__booking__guest__discrete_booking_value_p99',
'guest__booking__guest__double_counted_delayed_bookings',
'guest__booking__guest__instant_booking_fraction_of_max_value',
Expand Down Expand Up @@ -187,9 +187,9 @@
'guest__bookings_per_dollar',
'guest__derived_bookings_0',
'guest__derived_bookings_1',
'guest__derived_sharedalias_1a',
'guest__derived_sharedalias_1b',
'guest__derived_sharedalias_2',
'guest__derived_shared_alias_1a',
'guest__derived_shared_alias_1b',
'guest__derived_shared_alias_2',
'guest__discrete_booking_value_p99',
'guest__double_counted_delayed_bookings',
'guest__instant_booking_fraction_of_max_value',
Expand Down Expand Up @@ -236,9 +236,9 @@
'host__booking__host__bookings_per_dollar',
'host__booking__host__derived_bookings_0',
'host__booking__host__derived_bookings_1',
'host__booking__host__derived_sharedalias_1a',
'host__booking__host__derived_sharedalias_1b',
'host__booking__host__derived_sharedalias_2',
'host__booking__host__derived_shared_alias_1a',
'host__booking__host__derived_shared_alias_1b',
'host__booking__host__derived_shared_alias_2',
'host__booking__host__discrete_booking_value_p99',
'host__booking__host__double_counted_delayed_bookings',
'host__booking__host__instant_booking_fraction_of_max_value',
Expand Down Expand Up @@ -274,9 +274,9 @@
'host__bookings_per_dollar',
'host__derived_bookings_0',
'host__derived_bookings_1',
'host__derived_sharedalias_1a',
'host__derived_sharedalias_1b',
'host__derived_sharedalias_2',
'host__derived_shared_alias_1a',
'host__derived_shared_alias_1b',
'host__derived_shared_alias_2',
'host__discrete_booking_value_p99',
'host__double_counted_delayed_bookings',
'host__instant_booking_fraction_of_max_value',
Expand Down Expand Up @@ -324,9 +324,9 @@
'listing__booking__listing__bookings_per_dollar',
'listing__booking__listing__derived_bookings_0',
'listing__booking__listing__derived_bookings_1',
'listing__booking__listing__derived_sharedalias_1a',
'listing__booking__listing__derived_sharedalias_1b',
'listing__booking__listing__derived_sharedalias_2',
'listing__booking__listing__derived_shared_alias_1a',
'listing__booking__listing__derived_shared_alias_1b',
'listing__booking__listing__derived_shared_alias_2',
'listing__booking__listing__discrete_booking_value_p99',
'listing__booking__listing__double_counted_delayed_bookings',
'listing__booking__listing__instant_booking_fraction_of_max_value',
Expand Down Expand Up @@ -375,9 +375,9 @@
'listing__created_at__extract_year',
'listing__derived_bookings_0',
'listing__derived_bookings_1',
'listing__derived_sharedalias_1a',
'listing__derived_sharedalias_1b',
'listing__derived_sharedalias_2',
'listing__derived_shared_alias_1a',
'listing__derived_shared_alias_1b',
'listing__derived_shared_alias_2',
'listing__discrete_booking_value_p99',
'listing__double_counted_delayed_bookings',
'listing__ds__day',
Expand Down Expand Up @@ -442,9 +442,9 @@
'lux_listing__listing__lux_listing__bookings_per_view',
'lux_listing__listing__lux_listing__derived_bookings_0',
'lux_listing__listing__lux_listing__derived_bookings_1',
'lux_listing__listing__lux_listing__derived_sharedalias_1a',
'lux_listing__listing__lux_listing__derived_sharedalias_1b',
'lux_listing__listing__lux_listing__derived_sharedalias_2',
'lux_listing__listing__lux_listing__derived_shared_alias_1a',
'lux_listing__listing__lux_listing__derived_shared_alias_1b',
'lux_listing__listing__lux_listing__derived_shared_alias_2',
'lux_listing__listing__lux_listing__discrete_booking_value_p99',
'lux_listing__listing__lux_listing__double_counted_delayed_bookings',
'lux_listing__listing__lux_listing__instant_booking_fraction_of_max_value',
Expand Down Expand Up @@ -588,9 +588,9 @@
'user__listing__user__bookings_per_view',
'user__listing__user__derived_bookings_0',
'user__listing__user__derived_bookings_1',
'user__listing__user__derived_sharedalias_1a',
'user__listing__user__derived_sharedalias_1b',
'user__listing__user__derived_sharedalias_2',
'user__listing__user__derived_shared_alias_1a',
'user__listing__user__derived_shared_alias_1b',
'user__listing__user__derived_shared_alias_2',
'user__listing__user__discrete_booking_value_p99',
'user__listing__user__double_counted_delayed_bookings',
'user__listing__user__instant_booking_fraction_of_max_value',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -350,8 +350,8 @@ def test_derived_metric_same_alias_components_combined(
dataflow_plan_builder=dataflow_plan_builder,
query_spec=MetricFlowQuerySpec(
metric_specs=(
MetricSpec(element_name="derived_sharedalias_1a"),
MetricSpec(element_name="derived_sharedalias_1b"),
MetricSpec(element_name="derived_shared_alias_1a"),
MetricSpec(element_name="derived_shared_alias_1b"),
),
dimension_specs=(DimensionSpec(element_name="is_instant", entity_links=(EntityReference("booking"),)),),
),
Expand All @@ -377,8 +377,8 @@ def test_derived_metric_same_alias_components_not_combined(
dataflow_plan_builder=dataflow_plan_builder,
query_spec=MetricFlowQuerySpec(
metric_specs=(
MetricSpec(element_name="derived_sharedalias_1a"),
MetricSpec(element_name="derived_sharedalias_2"),
MetricSpec(element_name="derived_shared_alias_1a"),
MetricSpec(element_name="derived_shared_alias_2"),
),
dimension_specs=(DimensionSpec(element_name="is_instant", entity_links=(EntityReference("booking"),)),),
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -806,9 +806,9 @@ def test_derived_metric_that_defines_the_same_alias_in_different_components(
sql_client: SqlClient,
dataflow_to_sql_converter: DataflowToSqlQueryPlanConverter,
) -> None:
"""Tests querying a cumulative metric which give the same alias to its components."""
"""Tests querying a derived metric which give the same alias to its components."""
query_spec = query_parser.parse_and_validate_query(
metric_names=("derived_sharedalias_1a", "derived_sharedalias_2"),
metric_names=("derived_shared_alias_1a", "derived_shared_alias_2"),
group_by_names=("booking__is_instant",),
limit=1,
).query_spec
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
-- Order By [] Limit 1
SELECT
subq_12.booking__is_instant
, subq_12.derived_sharedalias_1a
, subq_12.derived_sharedalias_2
, subq_12.derived_shared_alias_1a
, subq_12.derived_shared_alias_2
FROM (
-- Combine Aggregated Outputs
SELECT
COALESCE(subq_5.booking__is_instant, subq_11.booking__is_instant) AS booking__is_instant
, MAX(subq_5.derived_sharedalias_1a) AS derived_sharedalias_1a
, MAX(subq_11.derived_sharedalias_2) AS derived_sharedalias_2
, MAX(subq_5.derived_shared_alias_1a) AS derived_shared_alias_1a
, MAX(subq_11.derived_shared_alias_2) AS derived_shared_alias_2
FROM (
-- Compute Metrics via Expressions
SELECT
subq_4.booking__is_instant
, shared_alias - 10 AS derived_sharedalias_1a
, shared_alias - 10 AS derived_shared_alias_1a
FROM (
-- Compute Metrics via Expressions
SELECT
Expand Down Expand Up @@ -234,7 +234,7 @@ FROM (
-- Compute Metrics via Expressions
SELECT
subq_10.booking__is_instant
, shared_alias + 10 AS derived_sharedalias_2
, shared_alias + 10 AS derived_shared_alias_2
FROM (
-- Compute Metrics via Expressions
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
-- Order By [] Limit 1
SELECT
COALESCE(subq_18.booking__is_instant, subq_24.booking__is_instant) AS booking__is_instant
, MAX(subq_18.derived_sharedalias_1a) AS derived_sharedalias_1a
, MAX(subq_24.derived_sharedalias_2) AS derived_sharedalias_2
, MAX(subq_18.derived_shared_alias_1a) AS derived_shared_alias_1a
, MAX(subq_24.derived_shared_alias_2) AS derived_shared_alias_2
FROM (
-- Compute Metrics via Expressions
SELECT
booking__is_instant
, shared_alias - 10 AS derived_sharedalias_1a
, shared_alias - 10 AS derived_shared_alias_1a
FROM (
-- Aggregate Measures
-- Compute Metrics via Expressions
Expand All @@ -32,7 +32,7 @@ FULL OUTER JOIN (
-- Compute Metrics via Expressions
SELECT
booking__is_instant
, shared_alias + 10 AS derived_sharedalias_2
, shared_alias + 10 AS derived_shared_alias_2
FROM (
-- Aggregate Measures
-- Compute Metrics via Expressions
Expand Down
Loading

0 comments on commit 8a7b603

Please sign in to comment.