GA BigQuery:使用自定义维度计算综合浏览量

时间:2019-07-11 15:43:27

标签: google-analytics google-bigquery

我正在使用GA BigQuery数据来计算3个维度的总综合浏览量:日期,设备类别和自定义维度(此处称为“类型”)。

因此,所需的输出为: enter image description here

因此,应列出每个日期,设备和类型组合的总浏览量。

我使用以下查询来获得此结果。我需要取消嵌套“类型”维度,因为它是自定义维度。

#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中,以上结果是:

  • 180,812移动版,A型网页浏览量(GBQ中为149,149)
  • 30,949平板电脑,A型网页浏览量(GBQ中为16,863)

我不确定为什么在两个系统中它们不匹配,我想知道其他人如何计算跨维度的总浏览量。

1 个答案:

答案 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