@@ -60,14 +60,26 @@ SELECT TIMESTAMP_MICROS(event_timestamp) as event_ts
6060 , {{ overbase_firebase .generate_date_timezone_struct (' TIMESTAMP_MICROS(event_timestamp)' ) }} as event_dates
6161 , {{ overbase_firebase .generate_date_timezone_struct (' TIMESTAMP_MICROS(user_first_touch_timestamp)' ) }} as install_dates
6262 , COUNT (1 ) OVER (PARTITION BY user_pseudo_id, event_bundle_sequence_id, event_name, event_timestamp, event_previous_timestamp) as duplicates_cnt
63- FROM {{ source(" firebase_analytics" , " events" ) }} as events
63+ -- FROM {{ source("firebase_analytics", "events") }} as events
64+ FROM
65+ (
66+ {% set projects = var(' OVERBASE:SOURCES' , []) %}
67+
68+ {% for p in projects %}
69+ {% if not loop .first %}UNION ALL {% endif %}
70+ select
71+ ' {{ p.project_id }}' as project_id,
72+ *
73+ from {{ source(' firebase_analytics__' ~ p .project_id , ' events' ) }}
74+ WHERE {{ overbase_firebase .analyticsTableSuffixFilter () }}
75+ {% endfor %}
76+ ) as events
6477LEFT JOIN {{ref(' ob_iso_country' )}} as country_codes
6578 ON LOWER (events .geo .country) = LOWER (country_codes .firebase_name )
6679LEFT JOIN {{ref(" ob_iso_language" )}} as language_codes
6780 ON LOWER (SPLIT(events .device .language,' -' )[SAFE_OFFSET(0 )]) = language_codes .alpha_2
6881LEFT JOIN {{ref(' ob_iso_country' )}} as language_region_codes -- some language have 3 parts (e.g. zh-hans-us), so just get the last one
6982 ON LOWER (ARRAY_REVERSE(SPLIT(events .device .language,' -' ))[SAFE_OFFSET(0 )]) = language_region_codes .alpha_2
7083
71- WHERE True
72- AND {{ overbase_firebase .analyticsTableSuffixFilter () }} -- already extended by 1 day compared to event_timestamp filter
7384
85+ QUALIFY ROW_NUMBER() OVER (PARTITION BY user_pseudo_id, event_bundle_sequence_id, event_name, event_timestamp, event_previous_timestamp) = 1
0 commit comments