【问题标题】:How Can i Add the page views Dimension on google Big Query?如何在 google Big Query 上添加页面浏览量维度?
【发布时间】:2018-04-18 07:18:09
【问题描述】:

如您所见,我正在尝试在每个平台的 Google Big Query 上添加页面视图维度(除了 total_userstotal_sessions)。有人知道怎么做吗?

SELECT
platform,
SUM(users) AS total_users,
 SUM(sessions) AS total_sessions,
 FROM (
 SELECT
  CASE
      WHEN REGEXP_MATCH(hits.appInfo.id,r'^example$') AND 
 hits.page.hostname IS NULL THEN "Android"
  WHEN REGEXP_MATCH(hits.appInfo.id,r'^com.example.app$')
  AND hits.page.hostname IS NULL THEN "iOS"
  WHEN REGEXP_MATCH(hits.page.hostname,r'^m\..*?example\.') THEN "Mobile"
  WHEN REGEXP_MATCH(hits.page.hostname,r'^\w{2,3}\..*?example\.') THEN 
 "Desktop"
   ELSE "unknown"
 END AS platform,
 count (DISTINCT fullVisitorId) AS users,
 fullvisitorid,
 COUNT(DISTINCT visitid) AS sessions,
 SUM(totals.screenviews) AS screenviews
 FROM
 TABLE_DATE_RANGE([example_table],TIMESTAMP('2018-01-01'),TIMESTAMP('2018-03- 
  31'))
  GROUP EACH BY
  fullvisitorid,
  platform,
  )
  GROUP BY
   platform

【问题讨论】:

  • 页面浏览量维度是什么意思?你想通过页面路径分割相同的数据吗?或者你想要计数(浏览量)?
  • 我想要所有页面浏览量的总和,sum(paageviews) 相同的数据按页面路径拆分?
  • 您能否更好地描述您想要实现的目标?目前尚不清楚您的上下文中的 页面浏览量维度 是什么,也许您可​​以共享文档链接或提供对该指标应包含的内容的更好描述。另外,我找到了计算页面浏览量的this other Stack Overflow question,也许有帮助。

标签: sql google-analytics google-bigquery


【解决方案1】:

在您的情况下,您实际上不需要子查询。 其他一些注意事项:

  • COUNT(DISTINCT) 只是旧版 SQL 中的估计值
  • COUNT(DISTINCT visitId) 没有计算任何有用的东西 - 请参阅 my answer to this post
  • 对于浏览量,我只是添加了 totals.pageviews 的总和。您还可以计算hits.type='PAGE' 的点击次数,请参阅Export-Schema
SELECT
  CASE
    WHEN REGEXP_MATCH(hits.appInfo.id,r'^example$') AND hits.page.hostname IS NULL THEN "Android"
    WHEN REGEXP_MATCH(hits.appInfo.id,r'^com.example.app$') AND hits.page.hostname IS NULL THEN "iOS"
    WHEN REGEXP_MATCH(hits.page.hostname,r'^m\..*?example\.') THEN "Mobile"
    WHEN REGEXP_MATCH(hits.page.hostname,r'^\w{2,3}\..*?example\.') THEN "Desktop"
    ELSE "unknown"
  END AS platform,
  COUNT(DISTINCT fullVisitorId) AS usersEst, -- approximate value .. count(distinct) in legacy sql is only an estimation. In standard sql it would be the real deal.
  EXACT_COUNT_DISTINCT(fullVisitorId) as exactUsers,
  -- COUNT(DISTINCT visitid) AS sessions, -- that's wrong! visitIds are only unique per fullvisitorid
  SUM(totals.visits) as sessions,
  SUM(totals.screenviews) AS screenviews,
  SUM(totals.pageviews) AS pageviews
FROM
  TABLE_DATE_RANGE([example_table],TIMESTAMP('2018-01-01'),TIMESTAMP('2018-03-31'))
GROUP BY
  1

请考虑使用标准 SQL - 它更强大,您可以获得更多控制权。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 2019-03-19
    相关资源
    最近更新 更多