From 64e11ba81c82618d28c72bed10a379dd204b45b3 Mon Sep 17 00:00:00 2001 From: Matthew Winkler Date: Mon, 5 Apr 2021 23:03:46 +0000 Subject: [PATCH] test udf --- models/marts/core/fct_orders__incremental.sql | 23 ---------------- models/marts/curate/curate.yml | 0 models/marts/curate/orders_aggregate.sql | 5 ++++ models/marts/curate/udf_test.sql | 26 +++++++++++++++++++ 4 files changed, 31 insertions(+), 23 deletions(-) delete mode 100644 models/marts/core/fct_orders__incremental.sql create mode 100644 models/marts/curate/curate.yml create mode 100644 models/marts/curate/udf_test.sql diff --git a/models/marts/core/fct_orders__incremental.sql b/models/marts/core/fct_orders__incremental.sql deleted file mode 100644 index 244b9ed..0000000 --- a/models/marts/core/fct_orders__incremental.sql +++ /dev/null @@ -1,23 +0,0 @@ -{{ - config( - materialized='dbt_incremental_select_columns', - incremental_strategy='merge', - unique_key='order_key', - update_columns=['total_price', 'ship_priority', 'comment', 'order_key'], - should_full_refresh=False - ) -}} - -select - * -from {{ ref('stg_tpch_orders') }} - -{% if is_incremental() %} - - -- this filter will only be applied on an incremental run - -- where order_date > (select max(order_date) from {{ this }} ) - where order_date not in (select order_date from {{ this }} group by 1) - -{% endif %} - - diff --git a/models/marts/curate/curate.yml b/models/marts/curate/curate.yml new file mode 100644 index 0000000..e69de29 diff --git a/models/marts/curate/orders_aggregate.sql b/models/marts/curate/orders_aggregate.sql index 4a6b99d..3c694ec 100644 --- a/models/marts/curate/orders_aggregate.sql +++ b/models/marts/curate/orders_aggregate.sql @@ -1,3 +1,7 @@ +{{ + config(materialized='table') +}} + with orders as ( select * from {{ ref('order_items') }} ), aggregated as ( @@ -8,4 +12,5 @@ aggregated as ( group by 1 ) + select * from aggregated \ No newline at end of file diff --git a/models/marts/curate/udf_test.sql b/models/marts/curate/udf_test.sql new file mode 100644 index 0000000..6a6526f --- /dev/null +++ b/models/marts/curate/udf_test.sql @@ -0,0 +1,26 @@ +{{ + config(materialized='table') +}} + +{% call set_sql_header(config) %} + +CREATE TEMPORARY FUNCTION yes_no_to_boolean(answer STRING) +RETURNS BOOLEAN AS ( + CASE + WHEN LOWER(answer) = 'yes' THEN True + WHEN LOWER(answer) = 'no' THEN False + ELSE NULL + END +); + +{% endcall %} + +with bool_test as ( + + select 1 as Id, 'yes' as Answer UNION ALL + select 1 as Id, 'no' as Answer +) + +-- select * from aggregated + +select Id, yes_no_to_boolean(Answer) as Result from bool_test \ No newline at end of file