将视图ga_realtime_sessions_view_YYYYMMD更改为标准sql

时间:2018-04-24 08:54:46

标签: google-analytics google-bigquery

我在大约一年前激活了从Google Analytics到BigQuery的流式传输,但我在将实时视图的SQL语法(ga_realtime_sessions_view_YYYYMMDD)更改为STANDARD SQL时遇到了麻烦。

如何更改此视图的SQL?视图定义为:

SELECT *
FROM [XXX.ga_realtime_sessions_20180424]
where exportKey in (
  SELECT exportKey
  FROM (
    SELECT
      exportKey,
      exportTimeUsec,
      MAX(exportTimeUsec) OVER (PARTITION BY visitKey) AS maxexportTimeUsec
    FROM [XXX.ga_realtime_sessions_20180424]
  )
  WHERE exportTimeUsec >= maxexportTimeUsec
);

1 个答案:

答案 0 :(得分:1)

您可以创建此表单的标准SQL视图:

CREATE VIEW `XXX.ga_realtime_view` AS
SELECT
  _TABLE_SUFFIX AS suffix,
  ARRAY_AGG(t ORDER BY exportTimeUsec DESC LIMIT 1)[OFFSET(0)].*
FROM `XXX.ga_realtime_sessions_20*` AS t
GROUP BY suffix, visitKey;

这会根据exportTimeUsec为每个visitKey返回最新一行。查询视图时,过滤与所需日期对应的后缀。例如,

SELECT *
FROM `XXX.ga_realtime_view`
WHERE suffix = '180424';

这将返回XXX.ga_realtime_sessions_20180424表中的数据。