我正在通过BQ计算跳出的会话(只有1次网页浏览的会话)。 查询正在联接一个表,该表为我提供了所有会话的数量,而一个表则为我提供了跳出的会话。
当我仅在一个特定日期运行查询时,我的数字与GA中的数字匹配,但是如果选择较大的时间范围(例如一个月),则这些数字(仅适用于退回的会话)会关闭。 另外,如果我分别运行每个子查询,那么在任何时间范围内我都会得到正确的数字。
这是我的查询:
SELECT
A.date AS Date,
A.Landing_Content_Group AS Landing_Content_Group,
MAX(A.sessions) AS Sessions,
MAX(B.Bounced_Sessions) AS Bounced_Sessions
FROM (
SELECT
date,
hits.contentGroup.contentGroup2 AS Landing_Content_Group,
COUNT(DISTINCT CONCAT(CAST(visitStartTime AS string),fullVisitorId)) AS sessions
FROM
`122206032.ga_sessions_201808*`,
UNNEST(hits) AS hits
WHERE
hits.type="PAGE"
AND hits.isEntrance = TRUE
GROUP BY
date,
Landing_Content_Group
ORDER BY
date DESC,
sessions DESC ) A
LEFT JOIN (
SELECT
date,
hits.contentGroup.contentGroup2 AS Landing_Content_Group,
COUNT(DISTINCT CONCAT(CAST(visitStartTime AS string),fullVisitorId)) AS Bounced_Sessions
FROM
`122206032.ga_sessions_201808*`,
UNNEST(hits) AS hits
WHERE
hits.type="PAGE"
AND totals.pageviews = 1
AND hits.isEntrance = TRUE
GROUP BY
date,
Landing_Content_Group
ORDER BY
date DESC,
Bounced_Sessions DESC ) B
ON
a.Landing_Content_Group = b.Landing_Content_Group
GROUP BY
Date,
Landing_Content_Group
ORDER BY
Date DESC,
Sessions DESC
我应该得到的:
当一个月为一个月时,我在该日期的BQ中得到什么:
我尝试了不同的JOIN和聚合,但到目前为止仍然未知:)
答案 0 :(得分:0)
好,我解决了,解决的办法是在日期上也加入表格。
ON
a.date = b.date
AND a.Landing_Content_Group = b.Landing_Content_Group