我正在使用GA BigQuery数据来计算3个维度的总综合浏览量:日期,设备类别和自定义维度(此处称为“类型”)。
因此,应列出每个日期,设备和类型组合的总浏览量。
我使用以下查询来获得此结果。我需要取消嵌套“类型”维度,因为它是自定义维度。
#standardsql
SELECT date, device, cd6_type, SUM(pvs) AS pageviews
FROM(
SELECT
date,
fullvisitorID,
visitID,
totals.pageviews AS pvs,
device.deviceCategory AS device
, MAX(IF(hcd.index = 6, hcd.value, NULL)) AS cd6_type
FROM `ga360-173318.62903073.ga_sessions_*` AS t,
UNNEST (t.hits) AS h,
UNNEST (h.customDimensions) AS hcd
WHERE _table_suffix BETWEEN (SELECT FORMAT_DATE('%Y%m%d', '2019-07-08'))
AND (SELECT FORMAT_DATE('%Y%m%d', '2019-07-08'))
AND h.type = "PAGE"
GROUP BY
date,
fullVisitorID,
visitID,
totals.pageviews,
device
)
GROUP BY date, device, cd6_type
问题是我的结果与GA中显示的结果不匹配;查询返回的结果较少。在GA中,以上结果是:
我不确定为什么在两个系统中它们不匹配,我想知道其他人如何计算跨维度的总浏览量。
答案 0 :(得分:0)
您要与customdimensions
交叉加入,因此您不是在计算页面,而是在页面上自定义尺寸。只是不要执行这种交叉联接,如果使用子查询获得自定义维度,则不需要它。
#standardsql
SELECT
date,
device.deviceCategory AS device
,(SELECT hcd.value FROM h.customdimensions AS hcd WHERE hcd.index = 6 ) AS cd6_type
,COUNT(1) as pageviews
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` AS t,
UNNEST(t.hits) AS h
WHERE _table_suffix between '20170801' and '20170801'
AND h.type = "PAGE"
GROUP BY date, device, cd6_type