You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery查询GA360的ga_sessions表时是否自动包含日内表数据?

GA 360 BigQuery查询是否自动包含日内表?

好问题!这是很多使用GA 360 BigQuery导出的用户都会踩的小坑,我来给你讲清楚:

核心结论

不会自动包含。你的查询SELECT ... FROM dataset.ga_sessions_2018* WHERE _TABLE_SUFFIX BETWEEN "0401" AND ...只会匹配以ga_sessions_2018开头的永久分区表(也就是ga_sessions_YYYYMMDD格式的表),而日内表的命名是ga_sessions_intraday_YYYYMMDD,前缀和永久表不一样,所以完全不会被通配符匹配到。

怎么才能包含日内表?

有两种常用方案,你可以根据自己的需求选择:

方案1:用宽泛通配符匹配两种表,通过后缀筛选日期

把表名的通配符改成ga_sessions*,这样既能匹配永久表,也能匹配日内表,然后调整_TABLE_SUFFIX的条件,同时覆盖两种表的后缀格式:

SELECT 
  date, 
  visitId, 
  totals.transactions 
FROM `dataset.ga_sessions*` 
WHERE 
  -- 匹配永久表的后缀:YYYYMMDD
  (_TABLE_SUFFIX BETWEEN '20180401' AND '20180430')
  OR
  -- 匹配日内表的后缀:intraday_YYYYMMDD,提取日期部分做筛选
  (_TABLE_SUFFIX LIKE 'intraday_201804%' 
   AND PARSE_DATE('%Y%m%d', SUBSTR(_TABLE_SUFFIX, 10)) BETWEEN DATE('2018-04-01') AND DATE('2018-04-30'))

方案2:用UNION ALL合并永久表和日内表

这种方式逻辑更清晰,适合你明确知道需要包含哪几天日内表的场景:

-- 查询过去30天的永久分区表
SELECT 
  date, 
  visitId, 
  totals.transactions 
FROM `dataset.ga_sessions_2018*` 
WHERE _TABLE_SUFFIX BETWEEN '20180401' AND '20180430'

UNION ALL

-- 加入需要的日内表(比如过去两天的)
SELECT 
  date, 
  visitId, 
  totals.transactions 
FROM `dataset.ga_sessions_intraday_20180429`

UNION ALL

SELECT 
  date, 
  visitId, 
  totals.transactions 
FROM `dataset.ga_sessions_intraday_20180430`

额外提醒

日内表的数据最终会在当天结束后的几个小时内,同步到对应的永久分区表中。所以如果你的查询是在次日下午或更晚执行,其实可以只查永久表就能拿到完整数据;但如果是在当天或者次日早间(同步未完成时),就必须包含日内表才能获取到最新的访问数据。

内容的提问来源于stack exchange,提问作者Balkan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:17:09