Skip to content

Commit

Permalink
Merge pull request #25 from epoch8/development
Browse files Browse the repository at this point in the history
Multi sources now available
  • Loading branch information
SergeyZ06 authored Jun 29, 2023
2 parents aa99be8 + 93a0c7d commit 89e1eb5
Show file tree
Hide file tree
Showing 79 changed files with 1,222 additions and 1,094 deletions.
15 changes: 11 additions & 4 deletions dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,13 @@ clean-targets: # directories to be removed by `dbt clean`
- "dbt_packages"

# vars:
# DBT_PACKAGE_GA4__PROJECT: "holybricks"
# DBT_PACKAGE_GA4__DATASET: "analytics_202294062"
# DBT_PACKAGE_GA4__PROJECT: "commonwealth-356813"
# DBT_PACKAGE_GA4__DATASET: "analytics_375681484"
# DBT_PACKAGE_GA4__DATASETS: "analytics_375681484,analytics_247024976"
# DBT_PACKAGE_GA4__INTERVAL: 14
# DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL: 4
# DBT_PACKAGE_GA4__STREAM_ID: ['2059071580', '2771133919']
# DBT_PACKAGE_GA4__TIME_ZONE: 'America/Los_Angeles'
# DBT_PACKAGE_GA4__STREAM_ID: "['2059071580', '5200866205', '5200058214']"
# DBT_PACKAGE_GA4__TIME_ZONE: "America/Los_Angeles"


# Configuring models
Expand All @@ -43,5 +44,11 @@ clean-targets: # directories to be removed by `dbt clean`
models:
dbt_package_ga4:

integration:
+dataset: integration

anchor:
+dataset: anchor

bi:
+dataset: bi
27 changes: 14 additions & 13 deletions models/anchor/ga4_event/anchor__ga4_event.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{
{{-
config(
enabled = env_var('DBT_PACKAGE_GA4__ENABLE__ANCHOR', 'true') == 'true',
tags = ['dbt_package_ga4', 'anchor'],
Expand All @@ -11,12 +11,12 @@
},
cluster_by = 'ga4_event_id'
)
}}
-}}


WITH t1 AS (
SELECT DISTINCT
PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) AS ga4_date_partition,
PARSE_DATE('%Y%m%d', TABLE_SUFFIX) AS ga4_date_partition,
TO_HEX(
MD5(
CONCAT(
Expand All @@ -27,16 +27,17 @@ WITH t1 AS (
)
) AS ga4_event_id
FROM
{{ source('dbt_package_ga4', 'events') }} AS events
{{ ref('src_ga4__events') }} AS events
WHERE
_TABLE_SUFFIX NOT LIKE '%intraday%'
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
AND events.stream_id IN UNNEST({{ env_var('DBT_PACKAGE_GA4__STREAM_ID') }})
TABLE_SUFFIX NOT LIKE '%intraday%'
{%- if not is_incremental() %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
{%- endif %}

{% if is_incremental() %}
{% set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
{%- if is_incremental() %}
{%- set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{%- endif %}
),

t2 AS (
Expand All @@ -60,7 +61,7 @@ final AS (

SELECT * FROM final

{% if is_incremental() %}
{%- if is_incremental() %}
WHERE
final.ga4_date_partition > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
{%- endif %}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{
{{-
config(
enabled = env_var('DBT_PACKAGE_GA4__ENABLE__ANCHOR', 'true') == 'true',
tags = ['dbt_package_ga4', 'anchor'],
Expand All @@ -11,12 +11,12 @@
},
cluster_by = 'ga4_event_id'
)
}}
-}}


WITH t1 AS (
SELECT DISTINCT
PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) AS ga4_date_partition,
PARSE_DATE('%Y%m%d', TABLE_SUFFIX) AS ga4_date_partition,
TO_HEX(
MD5(
CONCAT(
Expand All @@ -28,16 +28,17 @@ WITH t1 AS (
) AS ga4_event_id,
events.event_bundle_sequence_id AS ga4_event_bundle_sequence_id
FROM
{{ source('dbt_package_ga4', 'events') }} AS events
{{ ref('src_ga4__events') }} AS events
WHERE
_TABLE_SUFFIX NOT LIKE '%intraday%'
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
AND events.stream_id IN UNNEST({{ env_var('DBT_PACKAGE_GA4__STREAM_ID') }})

{% if is_incremental() %}
{% set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
TABLE_SUFFIX NOT LIKE '%intraday%'
{%- if not is_incremental() %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
{%- endif %}

{%- if is_incremental() %}
{%- set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{%- endif %}
),

t2 AS (
Expand Down Expand Up @@ -76,7 +77,7 @@ final AS (

SELECT * FROM final

{% if is_incremental() %}
{%- if is_incremental() %}
WHERE
final.ga4_date_partition > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
{%- endif %}
29 changes: 15 additions & 14 deletions models/anchor/ga4_event/attr__ga4_event__ga4_event_date.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{
{{-
config(
enabled = env_var('DBT_PACKAGE_GA4__ENABLE__ANCHOR', 'true') == 'true',
tags = ['dbt_package_ga4', 'anchor'],
Expand All @@ -11,12 +11,12 @@
},
cluster_by = 'ga4_event_id'
)
}}
-}}


WITH t1 AS (
SELECT DISTINCT
PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) AS ga4_date_partition,
PARSE_DATE('%Y%m%d', TABLE_SUFFIX) AS ga4_date_partition,
TO_HEX(
MD5(
CONCAT(
Expand All @@ -28,16 +28,17 @@ WITH t1 AS (
) AS ga4_event_id,
SAFE_CAST(events.event_date AS DATE FORMAT 'YYYYMMDD') AS ga4_event_date
FROM
{{ source('dbt_package_ga4', 'events') }} AS events
{{ ref('src_ga4__events') }} AS events
WHERE
_TABLE_SUFFIX NOT LIKE '%intraday%'
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
AND events.stream_id IN UNNEST({{ env_var('DBT_PACKAGE_GA4__STREAM_ID') }})

{% if is_incremental() %}
{% set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
TABLE_SUFFIX NOT LIKE '%intraday%'
{%- if not is_incremental() %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
{%- endif %}

{%- if is_incremental() %}
{%- set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{%- endif %}
),

t2 AS (
Expand All @@ -64,7 +65,7 @@ final AS (

SELECT * FROM final

{% if is_incremental() %}
{%- if is_incremental() %}
WHERE
final.ga4_date_partition > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
{%- endif %}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{
{{-
config(
enabled = env_var('DBT_PACKAGE_GA4__ENABLE__ANCHOR', 'true') == 'true',
tags = ['dbt_package_ga4', 'anchor'],
Expand All @@ -11,12 +11,12 @@
},
cluster_by = 'ga4_event_id'
)
}}
-}}


WITH t1 AS (
SELECT DISTINCT
PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) AS ga4_date_partition,
PARSE_DATE('%Y%m%d', TABLE_SUFFIX) AS ga4_date_partition,
TO_HEX(
MD5(
CONCAT(
Expand All @@ -28,16 +28,17 @@ WITH t1 AS (
) AS ga4_event_id,
events.ecommerce.purchase_revenue AS ga4_event_ecommerce_purchase_revenue
FROM
{{ source('dbt_package_ga4', 'events') }} AS events
{{ ref('src_ga4__events') }} AS events
WHERE
_TABLE_SUFFIX NOT LIKE '%intraday%'
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
AND events.stream_id IN UNNEST({{ env_var('DBT_PACKAGE_GA4__STREAM_ID') }})

{% if is_incremental() %}
{% set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
TABLE_SUFFIX NOT LIKE '%intraday%'
{%- if not is_incremental() %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
{%- endif %}

{%- if is_incremental() %}
{%- set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{%- endif %}
),

t2 AS (
Expand All @@ -64,7 +65,7 @@ final AS (

SELECT * FROM final

{% if is_incremental() %}
{%- if is_incremental() %}
WHERE
final.ga4_date_partition > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
{%- endif %}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{
{{-
config(
enabled = env_var('DBT_PACKAGE_GA4__ENABLE__ANCHOR', 'true') == 'true',
tags = ['dbt_package_ga4', 'anchor'],
Expand All @@ -11,12 +11,12 @@
},
cluster_by = 'ga4_event_id'
)
}}
-}}


WITH t1 AS (
SELECT DISTINCT
PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) AS ga4_date_partition,
PARSE_DATE('%Y%m%d', TABLE_SUFFIX) AS ga4_date_partition,
TO_HEX(
MD5(
CONCAT(
Expand All @@ -28,16 +28,17 @@ WITH t1 AS (
) AS ga4_event_id,
events.ecommerce.purchase_revenue_in_usd AS ga4_event_ecommerce_purchase_revenue_in_usd
FROM
{{ source('dbt_package_ga4', 'events') }} AS events
{{ ref('src_ga4__events') }} AS events
WHERE
_TABLE_SUFFIX NOT LIKE '%intraday%'
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
AND events.stream_id IN UNNEST({{ env_var('DBT_PACKAGE_GA4__STREAM_ID') }})

{% if is_incremental() %}
{% set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
TABLE_SUFFIX NOT LIKE '%intraday%'
{%- if not is_incremental() %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
{%- endif %}

{%- if is_incremental() %}
{%- set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{%- endif %}
),

t2 AS (
Expand All @@ -64,7 +65,7 @@ final AS (

SELECT * FROM final

{% if is_incremental() %}
{%- if is_incremental() %}
WHERE
final.ga4_date_partition > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
{%- endif %}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{
{{-
config(
enabled = env_var('DBT_PACKAGE_GA4__ENABLE__ANCHOR', 'true') == 'true',
tags = ['dbt_package_ga4', 'anchor'],
Expand All @@ -11,12 +11,12 @@
},
cluster_by = 'ga4_event_id'
)
}}
-}}


WITH t1 AS (
SELECT DISTINCT
PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) AS ga4_date_partition,
PARSE_DATE('%Y%m%d', TABLE_SUFFIX) AS ga4_date_partition,
TO_HEX(
MD5(
CONCAT(
Expand All @@ -28,16 +28,17 @@ WITH t1 AS (
) AS ga4_event_id,
events.ecommerce.refund_value AS ga4_event_ecommerce_refund_value
FROM
{{ source('dbt_package_ga4', 'events') }} AS events
{{ ref('src_ga4__events') }} AS events
WHERE
_TABLE_SUFFIX NOT LIKE '%intraday%'
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
AND events.stream_id IN UNNEST({{ env_var('DBT_PACKAGE_GA4__STREAM_ID') }})

{% if is_incremental() %}
{% set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
TABLE_SUFFIX NOT LIKE '%intraday%'
{%- if not is_incremental() %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE(CURRENT_DATE()), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL') }} DAY)
{%- endif %}

{%- if is_incremental() %}
{%- set max_partition_date = macro__get_max_partition_date(this.schema, this.table) %}
AND PARSE_DATE('%Y%m%d', TABLE_SUFFIX) > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{%- endif %}
),

t2 AS (
Expand All @@ -64,7 +65,7 @@ final AS (

SELECT * FROM final

{% if is_incremental() %}
{%- if is_incremental() %}
WHERE
final.ga4_date_partition > DATE_SUB(DATE('{{ max_partition_date }}'), INTERVAL {{ env_var('DBT_PACKAGE_GA4__INTERVAL_INCREMENTAL') }} DAY)
{% endif %}
{%- endif %}
Loading

0 comments on commit 89e1eb5

Please sign in to comment.