Comments (1)
I've narrowed down this issue to the following window function CTE in the stg_ga4__events
model:
include_event_number as (
select include_session_key.*,
row_number() over(partition by session_key) as session_event_number -- Number each event within a session to help generate a uniqu event key
from include_session_key
),
Removing this allows queries against this model (and downstream models) to only hit specific partitions when the event_date_dt
field is included in the where clause. The reason we were checking for row number was to avoid duplicates, but I don't think it's worth the query cost as it's something that could be handled later downstream.
I also noticed that a join and window function in stg_ga4__event_page_view
was causing that model to query all partitions. It's making me realize how careful we have to be about using window functions. Maybe they should be left to the mart models? I removed those functions in the page view model.
from dbt-ga4.
Related Issues (20)
- Field name item_params does not exist in STRUCT<item_id STRING, item_name STRING, item_brand STRING, ...> HOT 15
- Associating sessions with GA4 properties for multi-property configuration HOT 2
- Primary and Foreign Key Optimization HOT 8
- Different row count between raw data from ga4 and base_ga4__events HOT 2
- Possibility to enable BigQuery configuration such as partition_filter_required HOT 6
- Feature Request: Additional Conversion Metrics for GA4 Events in stg_ga4_conversions_daily Tables HOT 4
- Set "Direct" instead "(none)" for last_non_direct_default_channel_grouping HOT 1
- GA4 raw data format can break google / organic gclid fix HOT 5
- Accommodate Firebase App data streams HOT 2
- Multi-project support on BigQuery error HOT 3
- Screen Resolution HOT 4
- Workaround for Malformed Events with page_location = '/' in fct_ga4__pages HOT 9
- Error in the base_ga4_events model HOT 2
- Update to gclid traffic attribution is missing evaluation for the campaign name "(organic)" HOT 1
- multi-property option to analyze properties seperately HOT 5
- Add specified user properties to event models
- dbt 1.8 has deprecated `tests` in favour of `data_tests` HOT 4
- Differences between GA4 Reports and BigQuery reports - # of Engaged Sessions HOT 2
- Page engagement time refinement / edge cases HOT 1
- Google Discover Source and Channel Attribution HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dbt-ga4.