[英]Grouping by Session ID in BigQuery for GA4 data
我目前正在嘗試構建一個查詢,允許我按 session ID 對我的所有 GA4 事件數據進行分組,以便根據 session 獲取有關所有事件的信息,而不是分別分析每個事件的數據。
我的初始查詢的結果 output 是一個新表,它有 session ID 作為表中它自己的列,而不是在特定事件的事件參數數組中。
問題是 session_id 列具有非唯一值,session id 為每一行重復多次,這是一個新事件(在該會話中發生)。 我正在嘗試合並(合並)那些非唯一的 session id,以便我可以獲得與特定 session_id 關聯的所有事件。
我已經嘗試過這個查詢,它為我提供了 session_id 作為一個新列,每個事件都會重復一次。
`SELECT
*,
(
SELECT COALESCE(value.int_value, value.float_value, value.double_value)
FROM UNNEST(event_params)
WHERE key = 'ga_session_id'
) AS session_id,
(
SELECT COALESCE(value.string_value)
FROM UNNEST(event_params)
WHERE key = 'page_location'
) AS page_location
FROM
`digital-marketing-xxxxxx.analytics_xxxxxxx.events_intraday*``
給我一個 output 之類的(它有比這更多的列,但只是一個例子):
session_id | 事件名稱 |
---|---|
1234567 | session_start |
1234567 | 點擊網址 |
我需要一種方法來基本上將兩個 session id 合並到一個單元格中。 當我嘗試這個時:
SELECT
*,
(
SELECT COALESCE(value.int_value, value.float_value, value.double_value)
FROM UNNEST(event_params)
WHERE key = 'ga_session_id'
) AS session_id,
(
SELECT COALESCE(value.string_value)
FROM UNNEST(event_params)
WHERE key = 'page_location'
) AS page_location
FROM
`digital-marketing-xxxxxxx.analytics_xxxxxxx.events_intraday*`
GROUP BY session_id
我收到一個錯誤,告訴我(如果我理解正確的話)我無法聚合某些值(如日期),這是代碼在嘗試按 session id 分組時試圖做的事情。
有沒有辦法解決? 我是 SQL 的新手,但我所做的搜索到目前為止還沒有給我一個關於如何嘗試這個的明確答案。
我使用這段代碼來理解事件的順序,它可能沒有那么有效,因為我已經設置它來查看其他事情
with _latest as (
SELECT
--create unique id
concat(user_pseudo_id,(select value.int_value from unnest(event_params) where key = 'ga_session_id')) as unique_session_id,
--create event id
concat(user_pseudo_id,(select value.int_value from unnest(event_params) where key = 'ga_session_id'),event_name) as session_ids,
event_name,
event_date,
TIMESTAMP_MICROS(event_timestamp) AS event_timestamp
FROM *******
where
-- change the date range by using static and/or dynamic dates
_table_suffix between '20221113' and '20221114'),
Exit_count as (
select *,
row_number() over (partition by session_ids order by event_timestamp desc) as Event_order
from _latest)
select
Event_order,
unique_session_id,
event_date,
event_name,
FROM
Exit_count
group by
Event_order,
event_name,
unique_session_id,
--pagepath,
event_date
--Country_site
order by
unique_session_id,
Event_order
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.