-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
155794e
commit 6e42eb2
Showing
16 changed files
with
2,508 additions
and
0 deletions.
There are no files selected for viewing
342 changes: 342 additions & 0 deletions
342
...test_dataflow_to_sql_plan.py/SqlQueryPlan/Snowflake/test_cumulative_fill_nulls__plan0.sql
Large diffs are not rendered by default.
Oops, something went wrong.
33 changes: 33 additions & 0 deletions
33
...low_to_sql_plan.py/SqlQueryPlan/Snowflake/test_cumulative_fill_nulls__plan0_optimized.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
-- Compute Metrics via Expressions | ||
SELECT | ||
metric_time__day | ||
, COALESCE(bookers, 0) AS every_two_days_bookers_fill_0 | ||
FROM ( | ||
-- Join to Time Spine Dataset | ||
SELECT | ||
subq_18.ds AS metric_time__day | ||
, subq_16.bookers AS bookers | ||
FROM ***************************.mf_time_spine subq_18 | ||
LEFT OUTER JOIN ( | ||
-- Join Self Over Time Range | ||
-- Pass Only Elements: | ||
-- ['bookers', 'metric_time__day'] | ||
-- Aggregate Measures | ||
SELECT | ||
subq_13.ds AS metric_time__day | ||
, COUNT(DISTINCT bookings_source_src_10001.guest_id) AS bookers | ||
FROM ***************************.mf_time_spine subq_13 | ||
INNER JOIN | ||
***************************.fct_bookings bookings_source_src_10001 | ||
ON | ||
( | ||
DATE_TRUNC('day', bookings_source_src_10001.ds) <= subq_13.ds | ||
) AND ( | ||
DATE_TRUNC('day', bookings_source_src_10001.ds) > DATEADD(day, -2, subq_13.ds) | ||
) | ||
GROUP BY | ||
subq_13.ds | ||
) subq_16 | ||
ON | ||
subq_18.ds = subq_16.metric_time__day | ||
) subq_19 |
567 changes: 567 additions & 0 deletions
567
...ql_plan.py/SqlQueryPlan/Snowflake/test_derived_fill_nulls_for_one_input_metric__plan0.sql
Large diffs are not rendered by default.
Oops, something went wrong.
77 changes: 77 additions & 0 deletions
77
.../SqlQueryPlan/Snowflake/test_derived_fill_nulls_for_one_input_metric__plan0_optimized.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
-- Compute Metrics via Expressions | ||
SELECT | ||
metric_time__day | ||
, bookings_fill_0 - bookings_2_weeks_ago AS bookings_growth_2_weeks_fill_0_for_non_offset | ||
FROM ( | ||
-- Combine Metrics | ||
SELECT | ||
COALESCE(subq_24.metric_time__day, subq_32.metric_time__day) AS metric_time__day | ||
, subq_24.bookings_fill_0 AS bookings_fill_0 | ||
, subq_32.bookings_2_weeks_ago AS bookings_2_weeks_ago | ||
FROM ( | ||
-- Compute Metrics via Expressions | ||
SELECT | ||
metric_time__day | ||
, COALESCE(bookings, 0) AS bookings_fill_0 | ||
FROM ( | ||
-- Join to Time Spine Dataset | ||
SELECT | ||
subq_22.ds AS metric_time__day | ||
, subq_20.bookings AS bookings | ||
FROM ***************************.mf_time_spine subq_22 | ||
LEFT OUTER JOIN ( | ||
-- Aggregate Measures | ||
SELECT | ||
metric_time__day | ||
, SUM(bookings) AS bookings | ||
FROM ( | ||
-- Read Elements From Semantic Model 'bookings_source' | ||
-- Metric Time Dimension 'ds' | ||
-- Pass Only Elements: | ||
-- ['bookings', 'metric_time__day'] | ||
SELECT | ||
DATE_TRUNC('day', ds) AS metric_time__day | ||
, 1 AS bookings | ||
FROM ***************************.fct_bookings bookings_source_src_10001 | ||
) subq_19 | ||
GROUP BY | ||
metric_time__day | ||
) subq_20 | ||
ON | ||
subq_22.ds = subq_20.metric_time__day | ||
) subq_23 | ||
) subq_24 | ||
INNER JOIN ( | ||
-- Join to Time Spine Dataset | ||
-- Pass Only Elements: | ||
-- ['bookings', 'metric_time__day'] | ||
-- Aggregate Measures | ||
-- Compute Metrics via Expressions | ||
SELECT | ||
subq_28.ds AS metric_time__day | ||
, SUM(subq_26.bookings) AS bookings_2_weeks_ago | ||
FROM ***************************.mf_time_spine subq_28 | ||
INNER JOIN ( | ||
-- Read Elements From Semantic Model 'bookings_source' | ||
-- Metric Time Dimension 'ds' | ||
SELECT | ||
DATE_TRUNC('day', ds) AS metric_time__day | ||
, 1 AS bookings | ||
FROM ***************************.fct_bookings bookings_source_src_10001 | ||
) subq_26 | ||
ON | ||
DATEADD(day, -14, subq_28.ds) = subq_26.metric_time__day | ||
GROUP BY | ||
subq_28.ds | ||
) subq_32 | ||
ON | ||
( | ||
subq_24.metric_time__day = subq_32.metric_time__day | ||
) OR ( | ||
( | ||
subq_24.metric_time__day IS NULL | ||
) AND ( | ||
subq_32.metric_time__day IS NULL | ||
) | ||
) | ||
) subq_33 |
214 changes: 214 additions & 0 deletions
214
...l_plan.py/SqlQueryPlan/Snowflake/test_simple_fill_0_with_categorical_dimension__plan0.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,214 @@ | ||
-- Compute Metrics via Expressions | ||
SELECT | ||
subq_3.booking__is_instant | ||
, COALESCE(subq_3.bookings, 0) AS bookings_fill_0 | ||
FROM ( | ||
-- Aggregate Measures | ||
SELECT | ||
subq_2.booking__is_instant | ||
, SUM(subq_2.bookings) AS bookings | ||
FROM ( | ||
-- Pass Only Elements: | ||
-- ['bookings', 'booking__is_instant'] | ||
SELECT | ||
subq_1.booking__is_instant | ||
, subq_1.bookings | ||
FROM ( | ||
-- Metric Time Dimension 'ds' | ||
SELECT | ||
subq_0.ds__day | ||
, subq_0.ds__week | ||
, subq_0.ds__month | ||
, subq_0.ds__quarter | ||
, subq_0.ds__year | ||
, subq_0.ds__extract_year | ||
, subq_0.ds__extract_quarter | ||
, subq_0.ds__extract_month | ||
, subq_0.ds__extract_day | ||
, subq_0.ds__extract_dow | ||
, subq_0.ds__extract_doy | ||
, subq_0.ds_partitioned__day | ||
, subq_0.ds_partitioned__week | ||
, subq_0.ds_partitioned__month | ||
, subq_0.ds_partitioned__quarter | ||
, subq_0.ds_partitioned__year | ||
, subq_0.ds_partitioned__extract_year | ||
, subq_0.ds_partitioned__extract_quarter | ||
, subq_0.ds_partitioned__extract_month | ||
, subq_0.ds_partitioned__extract_day | ||
, subq_0.ds_partitioned__extract_dow | ||
, subq_0.ds_partitioned__extract_doy | ||
, subq_0.paid_at__day | ||
, subq_0.paid_at__week | ||
, subq_0.paid_at__month | ||
, subq_0.paid_at__quarter | ||
, subq_0.paid_at__year | ||
, subq_0.paid_at__extract_year | ||
, subq_0.paid_at__extract_quarter | ||
, subq_0.paid_at__extract_month | ||
, subq_0.paid_at__extract_day | ||
, subq_0.paid_at__extract_dow | ||
, subq_0.paid_at__extract_doy | ||
, subq_0.booking__ds__day | ||
, subq_0.booking__ds__week | ||
, subq_0.booking__ds__month | ||
, subq_0.booking__ds__quarter | ||
, subq_0.booking__ds__year | ||
, subq_0.booking__ds__extract_year | ||
, subq_0.booking__ds__extract_quarter | ||
, subq_0.booking__ds__extract_month | ||
, subq_0.booking__ds__extract_day | ||
, subq_0.booking__ds__extract_dow | ||
, subq_0.booking__ds__extract_doy | ||
, subq_0.booking__ds_partitioned__day | ||
, subq_0.booking__ds_partitioned__week | ||
, subq_0.booking__ds_partitioned__month | ||
, subq_0.booking__ds_partitioned__quarter | ||
, subq_0.booking__ds_partitioned__year | ||
, subq_0.booking__ds_partitioned__extract_year | ||
, subq_0.booking__ds_partitioned__extract_quarter | ||
, subq_0.booking__ds_partitioned__extract_month | ||
, subq_0.booking__ds_partitioned__extract_day | ||
, subq_0.booking__ds_partitioned__extract_dow | ||
, subq_0.booking__ds_partitioned__extract_doy | ||
, subq_0.booking__paid_at__day | ||
, subq_0.booking__paid_at__week | ||
, subq_0.booking__paid_at__month | ||
, subq_0.booking__paid_at__quarter | ||
, subq_0.booking__paid_at__year | ||
, subq_0.booking__paid_at__extract_year | ||
, subq_0.booking__paid_at__extract_quarter | ||
, subq_0.booking__paid_at__extract_month | ||
, subq_0.booking__paid_at__extract_day | ||
, subq_0.booking__paid_at__extract_dow | ||
, subq_0.booking__paid_at__extract_doy | ||
, subq_0.ds__day AS metric_time__day | ||
, subq_0.ds__week AS metric_time__week | ||
, subq_0.ds__month AS metric_time__month | ||
, subq_0.ds__quarter AS metric_time__quarter | ||
, subq_0.ds__year AS metric_time__year | ||
, subq_0.ds__extract_year AS metric_time__extract_year | ||
, subq_0.ds__extract_quarter AS metric_time__extract_quarter | ||
, subq_0.ds__extract_month AS metric_time__extract_month | ||
, subq_0.ds__extract_day AS metric_time__extract_day | ||
, subq_0.ds__extract_dow AS metric_time__extract_dow | ||
, subq_0.ds__extract_doy AS metric_time__extract_doy | ||
, subq_0.listing | ||
, subq_0.guest | ||
, subq_0.host | ||
, subq_0.booking__listing | ||
, subq_0.booking__guest | ||
, subq_0.booking__host | ||
, subq_0.is_instant | ||
, subq_0.booking__is_instant | ||
, subq_0.bookings | ||
, subq_0.instant_bookings | ||
, subq_0.booking_value | ||
, subq_0.max_booking_value | ||
, subq_0.min_booking_value | ||
, subq_0.bookers | ||
, subq_0.average_booking_value | ||
, subq_0.referred_bookings | ||
, subq_0.median_booking_value | ||
, subq_0.booking_value_p99 | ||
, subq_0.discrete_booking_value_p99 | ||
, subq_0.approximate_continuous_booking_value_p99 | ||
, subq_0.approximate_discrete_booking_value_p99 | ||
FROM ( | ||
-- Read Elements From Semantic Model 'bookings_source' | ||
SELECT | ||
1 AS bookings | ||
, CASE WHEN is_instant THEN 1 ELSE 0 END AS instant_bookings | ||
, bookings_source_src_10001.booking_value | ||
, bookings_source_src_10001.booking_value AS max_booking_value | ||
, bookings_source_src_10001.booking_value AS min_booking_value | ||
, bookings_source_src_10001.guest_id AS bookers | ||
, bookings_source_src_10001.booking_value AS average_booking_value | ||
, bookings_source_src_10001.booking_value AS booking_payments | ||
, CASE WHEN referrer_id IS NOT NULL THEN 1 ELSE 0 END AS referred_bookings | ||
, bookings_source_src_10001.booking_value AS median_booking_value | ||
, bookings_source_src_10001.booking_value AS booking_value_p99 | ||
, bookings_source_src_10001.booking_value AS discrete_booking_value_p99 | ||
, bookings_source_src_10001.booking_value AS approximate_continuous_booking_value_p99 | ||
, bookings_source_src_10001.booking_value AS approximate_discrete_booking_value_p99 | ||
, bookings_source_src_10001.is_instant | ||
, DATE_TRUNC('day', bookings_source_src_10001.ds) AS ds__day | ||
, DATE_TRUNC('week', bookings_source_src_10001.ds) AS ds__week | ||
, DATE_TRUNC('month', bookings_source_src_10001.ds) AS ds__month | ||
, DATE_TRUNC('quarter', bookings_source_src_10001.ds) AS ds__quarter | ||
, DATE_TRUNC('year', bookings_source_src_10001.ds) AS ds__year | ||
, EXTRACT(year FROM bookings_source_src_10001.ds) AS ds__extract_year | ||
, EXTRACT(quarter FROM bookings_source_src_10001.ds) AS ds__extract_quarter | ||
, EXTRACT(month FROM bookings_source_src_10001.ds) AS ds__extract_month | ||
, EXTRACT(day FROM bookings_source_src_10001.ds) AS ds__extract_day | ||
, EXTRACT(dayofweekiso FROM bookings_source_src_10001.ds) AS ds__extract_dow | ||
, EXTRACT(doy FROM bookings_source_src_10001.ds) AS ds__extract_doy | ||
, DATE_TRUNC('day', bookings_source_src_10001.ds_partitioned) AS ds_partitioned__day | ||
, DATE_TRUNC('week', bookings_source_src_10001.ds_partitioned) AS ds_partitioned__week | ||
, DATE_TRUNC('month', bookings_source_src_10001.ds_partitioned) AS ds_partitioned__month | ||
, DATE_TRUNC('quarter', bookings_source_src_10001.ds_partitioned) AS ds_partitioned__quarter | ||
, DATE_TRUNC('year', bookings_source_src_10001.ds_partitioned) AS ds_partitioned__year | ||
, EXTRACT(year FROM bookings_source_src_10001.ds_partitioned) AS ds_partitioned__extract_year | ||
, EXTRACT(quarter FROM bookings_source_src_10001.ds_partitioned) AS ds_partitioned__extract_quarter | ||
, EXTRACT(month FROM bookings_source_src_10001.ds_partitioned) AS ds_partitioned__extract_month | ||
, EXTRACT(day FROM bookings_source_src_10001.ds_partitioned) AS ds_partitioned__extract_day | ||
, EXTRACT(dayofweekiso FROM bookings_source_src_10001.ds_partitioned) AS ds_partitioned__extract_dow | ||
, EXTRACT(doy FROM bookings_source_src_10001.ds_partitioned) AS ds_partitioned__extract_doy | ||
, DATE_TRUNC('day', bookings_source_src_10001.paid_at) AS paid_at__day | ||
, DATE_TRUNC('week', bookings_source_src_10001.paid_at) AS paid_at__week | ||
, DATE_TRUNC('month', bookings_source_src_10001.paid_at) AS paid_at__month | ||
, DATE_TRUNC('quarter', bookings_source_src_10001.paid_at) AS paid_at__quarter | ||
, DATE_TRUNC('year', bookings_source_src_10001.paid_at) AS paid_at__year | ||
, EXTRACT(year FROM bookings_source_src_10001.paid_at) AS paid_at__extract_year | ||
, EXTRACT(quarter FROM bookings_source_src_10001.paid_at) AS paid_at__extract_quarter | ||
, EXTRACT(month FROM bookings_source_src_10001.paid_at) AS paid_at__extract_month | ||
, EXTRACT(day FROM bookings_source_src_10001.paid_at) AS paid_at__extract_day | ||
, EXTRACT(dayofweekiso FROM bookings_source_src_10001.paid_at) AS paid_at__extract_dow | ||
, EXTRACT(doy FROM bookings_source_src_10001.paid_at) AS paid_at__extract_doy | ||
, bookings_source_src_10001.is_instant AS booking__is_instant | ||
, DATE_TRUNC('day', bookings_source_src_10001.ds) AS booking__ds__day | ||
, DATE_TRUNC('week', bookings_source_src_10001.ds) AS booking__ds__week | ||
, DATE_TRUNC('month', bookings_source_src_10001.ds) AS booking__ds__month | ||
, DATE_TRUNC('quarter', bookings_source_src_10001.ds) AS booking__ds__quarter | ||
, DATE_TRUNC('year', bookings_source_src_10001.ds) AS booking__ds__year | ||
, EXTRACT(year FROM bookings_source_src_10001.ds) AS booking__ds__extract_year | ||
, EXTRACT(quarter FROM bookings_source_src_10001.ds) AS booking__ds__extract_quarter | ||
, EXTRACT(month FROM bookings_source_src_10001.ds) AS booking__ds__extract_month | ||
, EXTRACT(day FROM bookings_source_src_10001.ds) AS booking__ds__extract_day | ||
, EXTRACT(dayofweekiso FROM bookings_source_src_10001.ds) AS booking__ds__extract_dow | ||
, EXTRACT(doy FROM bookings_source_src_10001.ds) AS booking__ds__extract_doy | ||
, DATE_TRUNC('day', bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__day | ||
, DATE_TRUNC('week', bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__week | ||
, DATE_TRUNC('month', bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__month | ||
, DATE_TRUNC('quarter', bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__quarter | ||
, DATE_TRUNC('year', bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__year | ||
, EXTRACT(year FROM bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__extract_year | ||
, EXTRACT(quarter FROM bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__extract_quarter | ||
, EXTRACT(month FROM bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__extract_month | ||
, EXTRACT(day FROM bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__extract_day | ||
, EXTRACT(dayofweekiso FROM bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__extract_dow | ||
, EXTRACT(doy FROM bookings_source_src_10001.ds_partitioned) AS booking__ds_partitioned__extract_doy | ||
, DATE_TRUNC('day', bookings_source_src_10001.paid_at) AS booking__paid_at__day | ||
, DATE_TRUNC('week', bookings_source_src_10001.paid_at) AS booking__paid_at__week | ||
, DATE_TRUNC('month', bookings_source_src_10001.paid_at) AS booking__paid_at__month | ||
, DATE_TRUNC('quarter', bookings_source_src_10001.paid_at) AS booking__paid_at__quarter | ||
, DATE_TRUNC('year', bookings_source_src_10001.paid_at) AS booking__paid_at__year | ||
, EXTRACT(year FROM bookings_source_src_10001.paid_at) AS booking__paid_at__extract_year | ||
, EXTRACT(quarter FROM bookings_source_src_10001.paid_at) AS booking__paid_at__extract_quarter | ||
, EXTRACT(month FROM bookings_source_src_10001.paid_at) AS booking__paid_at__extract_month | ||
, EXTRACT(day FROM bookings_source_src_10001.paid_at) AS booking__paid_at__extract_day | ||
, EXTRACT(dayofweekiso FROM bookings_source_src_10001.paid_at) AS booking__paid_at__extract_dow | ||
, EXTRACT(doy FROM bookings_source_src_10001.paid_at) AS booking__paid_at__extract_doy | ||
, bookings_source_src_10001.listing_id AS listing | ||
, bookings_source_src_10001.guest_id AS guest | ||
, bookings_source_src_10001.host_id AS host | ||
, bookings_source_src_10001.listing_id AS booking__listing | ||
, bookings_source_src_10001.guest_id AS booking__guest | ||
, bookings_source_src_10001.host_id AS booking__host | ||
FROM ***************************.fct_bookings bookings_source_src_10001 | ||
) subq_0 | ||
) subq_1 | ||
) subq_2 | ||
GROUP BY | ||
subq_2.booking__is_instant | ||
) subq_3 |
22 changes: 22 additions & 0 deletions
22
...SqlQueryPlan/Snowflake/test_simple_fill_0_with_categorical_dimension__plan0_optimized.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
-- Compute Metrics via Expressions | ||
SELECT | ||
booking__is_instant | ||
, COALESCE(bookings, 0) AS bookings_fill_0 | ||
FROM ( | ||
-- Aggregate Measures | ||
SELECT | ||
booking__is_instant | ||
, SUM(bookings) AS bookings | ||
FROM ( | ||
-- Read Elements From Semantic Model 'bookings_source' | ||
-- Metric Time Dimension 'ds' | ||
-- Pass Only Elements: | ||
-- ['bookings', 'booking__is_instant'] | ||
SELECT | ||
is_instant AS booking__is_instant | ||
, 1 AS bookings | ||
FROM ***************************.fct_bookings bookings_source_src_10001 | ||
) subq_6 | ||
GROUP BY | ||
booking__is_instant | ||
) subq_7 |
Oops, something went wrong.