Skip to content

Commit 72e0536

Browse files
authored
Merge pull request #10 from TechArtists/multiple-project-source
rename + workaround incremental
2 parents 5a95aec + caa0295 commit 72e0536

File tree

8 files changed

+23
-17
lines changed

8 files changed

+23
-17
lines changed

analyses/measure_dimension_rollup_explosion.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
{%- set miniColumnsToIgnoreInGroupBy = miniColumnsToIgnoreInGroupBy + ta_firebase.list_map_and_add_prefix(timezones, 'event_dates.') + ta_firebase.list_map_and_add_prefix(timezones, 'install_dates.') -%}
1414

1515

16-
{%- set tmp_res = ta_firebase.get_filtered_columns_for_table("fb_analytics_events_raw", columnNamesEventDimensions, miniColumnsToIgnoreInGroupBy) -%}
16+
{%- set tmp_res = ta_firebase.get_filtered_columns_for_table("google_analytics_events_raw", columnNamesEventDimensions, miniColumnsToIgnoreInGroupBy) -%}
1717
{%- set columnsForEventDimensions = tmp_res[0] -%}
1818

1919

@@ -22,7 +22,7 @@
2222

2323
WITH
2424
{%- for column in minicolumns -%}
25-
{{ ", " if not loop.first else "" }} dim_{{loop.index}} AS ( SELECT COUNT(DISTINCT({{ column[0] }})) AS dist_cnt FROM {{ ref("fb_analytics_events_raw") }} WHERE DATE(event_date) = '2023-10-10')
25+
{{ ", " if not loop.first else "" }} dim_{{loop.index}} AS ( SELECT COUNT(DISTINCT({{ column[0] }})) AS dist_cnt FROM {{ ref("google_analytics_events_raw") }} WHERE DATE(event_date) = '2023-10-10')
2626
{% set _ = unionAllSelects.append("SELECT '" ~ column[1] ~ "' AS dim_name, dist_cnt FROM dim_" ~ loop.index) -%}
2727
{% endfor -%}
2828

dbt_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ vars:
4646
# events_table: events_*,
4747
# crashlytics_dataset_id: firebase_crashlytics,
4848
# crashlytics_table: com_dave_logomaker_*}
49-
49+
# "TA:SQLMESH_LOOKBACK"
5050
# don't define variables here, because if they aren't overwritten in the client yml, then they will resolve to "None".
5151
# Instead, use them in the package where you need them with them with the appropriate default value
5252
# Furthermore, whatever we use in sources.yml, we can't define in this package's dbt_project.yml, or else they won't be able to be overwritten by the client

macros/dateFilters.sql

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{%- macro analyticsDateFilterFor(dateField, extend = 0) -%}
22
{%- if sqlmesh_incremental is defined -%}
3-
{{ dateField }} BETWEEN '{{ start_ds }}' AND '{{ end_ds }}'
3+
{%- set INCREMENTAL_DAYS = var('TA:SQLMESH_LOOKBACK', 5 ) +extend -%}
4+
{{ dateField }} BETWEEN '{{ start_ds }}' - {{ INCREMENTAL_DAYS }} AND '{{ end_ds }}'
45
{%- else -%}
56
{%- set startEndTSTuple = ta_firebase.analyticsStartEndTimestampsTuple(extend = extend) -%}
67
{{ dateField }} BETWEEN DATE({{ startEndTSTuple[0] }}) AND DATE({{ startEndTSTuple[1] }})
@@ -9,7 +10,8 @@
910

1011
{%- macro crashlyticsDateFilterFor(dateField, extend = 0) -%}
1112
{%- if sqlmesh_incremental is defined -%}
12-
{{ dateField }} BETWEEN '{{ start_ds }}' AND '{{ end_ds }}'
13+
{%- set INCREMENTAL_DAYS = var('TA:SQLMESH_LOOKBACK', 5 ) +extend -%}
14+
{{ dateField }} BETWEEN '{{ start_ds }}' - {{ INCREMENTAL_DAYS }} AND '{{ end_ds }}'
1315
{%- else -%}
1416
{%- set startEndTSTuple = ta_firebase.crashlyticsStartEndTimestampsTuple(extend=extend) -%}
1517
{{ dateField }} BETWEEN DATE({{ startEndTSTuple[0] }}) AND DATE({{ startEndTSTuple[1] }})
@@ -18,7 +20,8 @@
1820

1921
{%- macro analyticsTSFilterFor(tsField, extend = 0) -%}
2022
{%- if sqlmesh_incremental is defined -%}
21-
{{ tsField }} BETWEEN '{{ start_ds }}' AND '{{ end_ds }}'
23+
{%- set INCREMENTAL_DAYS = var('TA:SQLMESH_LOOKBACK', 5 ) +extend -%}
24+
{{ tsField }} BETWEEN TIMESTAMP('{{ start_ds }}' - {{ INCREMENTAL_DAYS }}) AND TIMESTAMP('{{ end_ds }}')
2225
{%- else -%}
2326
{%- set startEndTSTuple = ta_firebase.analyticsStartEndTimestampsTuple(extend=extend) -%}
2427
{{ tsField }} BETWEEN {{ startEndTSTuple[0] }} AND {{ startEndTSTuple[1] }}
@@ -27,7 +30,8 @@
2730

2831
{%- macro crashlyticsTSFilterFor(tsField, extend = 0) -%}
2932
{%- if sqlmesh_incremental is defined -%}
30-
{{ tsField }} BETWEEN '{{ start_ds }}' AND '{{ end_ds }}'
33+
{%- set INCREMENTAL_DAYS = var('TA:SQLMESH_LOOKBACK', 5 ) +extend -%}
34+
{{ tsField }} BETWEEN TIMESTAMP('{{ start_ds }}' - {{ INCREMENTAL_DAYS }}) AND TIMESTAMP('{{ end_ds }}')
3135
{%- else -%}
3236
{%- set startEndTSTuple = ta_firebase.crashlyticsStartEndTimestampsTuple(extend=extend) -%}
3337
{{ tsField }} BETWEEN {{ startEndTSTuple[0] }} AND {{ startEndTSTuple[1] }}
@@ -36,8 +40,9 @@
3640

3741
{%- macro analyticsTableSuffixFilter(extend = 0) -%}
3842
{%- if sqlmesh_incremental is defined -%}
43+
{%- set INCREMENTAL_DAYS = var('TA:SQLMESH_LOOKBACK', 5 ) +extend -%}
3944
REPLACE(_TABLE_SUFFIX, 'intraday_', '')
40-
BETWEEN FORMAT_DATE('%Y%m%d', '{{ start_ds }}' -1)
45+
BETWEEN FORMAT_DATE('%Y%m%d', '{{ start_ds }}' -1 - {{ INCREMENTAL_DAYS }} )
4146
AND FORMAT_DATE('%Y%m%d', '{{ end_ds }}')
4247
{%- else -%}
4348
{%- set startEndTSTuple = ta_firebase.analyticsStartEndTimestampsTuple(extend=extend + 1) -%}

macros/ta_mandatory_vars.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
{% macro verify_all_ta_mandatory_variables() -%}
1111
{{- ta_firebase.compile_time_mandatory_var("TA:SOURCES", "ta") -}}
12-
{{- ta_firebase.compile_time_mandatory_var("TA:SOURCES_READY", "firebase_analytics_raw_test") -}}
12+
{{- ta_firebase.compile_time_mandatory_var("TA:SOURCES_MULTIPLE_PROJECTS_GENERATED", "firebase_analytics_raw_test") -}}
1313
{{- ta_firebase.compile_time_mandatory_var("TA:FIREBASE_ANALYTICS_FULL_REFRESH_START_DATE", "2018-01-01") -}}
1414
{{- ta_firebase.compile_time_mandatory_var("TA:FIREBASE_CRASHLYTICS_FULL_REFRESH_START_DATE", "2018-01-01") -}}
1515

models/crashlytics/crashlytics_events.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
] -%}
1717

1818
{%- set miniColumnsToIgnoreInGroupBy = [] -%}
19-
{%- set tmp_res = ta_firebase.get_filtered_columns_for_table("fb_crashlytics_events_raw", columnNamesEventDimensions, miniColumnsToIgnoreInGroupBy) -%}
19+
{%- set tmp_res = ta_firebase.get_filtered_columns_for_table("crashlytics_events_raw", columnNamesEventDimensions, miniColumnsToIgnoreInGroupBy) -%}
2020
{%- set columnsForEventDimensions = tmp_res[0] -%}
2121
{%- set eventDimensionsUnnestedCount = tmp_res[1] -%}
2222

@@ -25,7 +25,7 @@ WITH data as (
2525
, {{ ta_firebase.unpack_columns_into_minicolumns(columnsForEventDimensions, miniColumnsToIgnoreInGroupBy, [], "", "") }}
2626
, COUNT(1) as cnt -- same as COUNT(DISTINCT(event_id))
2727
, COUNT(DISTINCT(crashlytics_user_pseudo_id)) as users
28-
FROM {{ ref("fb_crashlytics_events_raw") }}
28+
FROM {{ ref("crashlytics_events_raw") }}
2929
WHERE {{ ta_firebase.analyticsDateFilterFor('event_date') }}
3030
GROUP BY 1 {% for n in range(2, 2 + eventDimensionsUnnestedCount) -%} ,{{ n }} {%- endfor %}
3131
)

models/crashlytics/crashlytics_events_raw.sql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,9 @@
109109
110110
SELECT
111111
'{{ pid }}' AS project_id,
112-
'{{ ds }}' AS dataset_id,
113-
DATE(event_timestamp) as event_date
112+
'{{ ds }}' AS dataset_id
113+
, event_timestamp as event_ts
114+
, DATE(event_timestamp) as event_date
114115
, received_timestamp as received_ts
115116
, installation_uuid as crashlytics_user_pseudo_id
116117
, (SELECT value FROM UNNEST(custom_keys) WHERE key = 'fb_user_pseudo_id') as firebase_analytics_user_pseudo_id

tests/analytics_installs_unique.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
WITH counts AS (
22
SELECT COUNT(DISTINCT user_pseudo_id) AS dist_cnt,count(1) AS cnt
3-
FROM {{ref('fb_analytics_installs_raw')}}
3+
FROM {{ref('google_analytics_installs_raw')}}
44
WHERE {{ ta_firebase.analyticsTestDateFilter('event_date',extend = 2) }}
55
AND event_date >='2024-08-22' --date when incrementel model was fixed
66
AND user_pseudo_id is not null

tests/events_raw_incremental.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ WITH stg AS (
55
event_date,
66
project_id,
77
SUM(duplicates_cnt) AS cnt
8-
FROM {{ ref('fb_analytics_events_raw') }}
8+
FROM {{ ref('google_analytics_events_raw') }}
99
WHERE {{ ta_firebase.analyticsTestDateFilter('event_date', extend=2) }}
1010
AND event_date <= CURRENT_DATE() - 5
1111
GROUP BY 1, 2
@@ -47,7 +47,7 @@ src AS (
4747

4848
{%- if ads_list | length == 0 -%}
4949
{# Naming style: firebase_analytics__<pid> #}
50-
{%- if not ns.first %}UNION ALL{% endif -%}
50+
{% if not ns.first %} UNION ALL {% endif %}
5151
{%- set ns.first = false -%}
5252
SELECT
5353
DATE(TIMESTAMP_MICROS(event_timestamp)) AS event_date,
@@ -62,7 +62,7 @@ src AS (
6262
{%- else -%}
6363
{# Naming style: firebase_analytics__<pid>__<dataset> for each dataset #}
6464
{%- for ds in ads_list -%}
65-
{%- if not ns.first %}UNION ALL{% endif -%}
65+
{% if not ns.first %} UNION ALL {% endif %}
6666
{%- set ns.first = false -%}
6767
SELECT
6868
DATE(TIMESTAMP_MICROS(event_timestamp)) AS event_date,

0 commit comments

Comments
 (0)