计算具有特定pagePath的会话数

时间:2015-07-30 10:23:43

标签: google-analytics google-bigquery

我正在尝试计算具有一个特定页面路径的会话数量,作为会话中的至少一个命中(" my-path")。我需要确保它不匹配例如" my-path-2"但匹配" my-path / something",所以我使用以下表达式:

NTH(1,SPLIT(NTH(1,SPLIT(hits.page.pagePath,'/')),'?'))

然而,完整的查询会产生不正确的结果,如下所示:

SELECT 
  date,
  hostname,
  pagePath,
  EXACT_COUNT_DISTINCT(id) AS sumVisits
FROM (
  SELECT
    date,
    hits.page.hostname AS hostname,
    id,
    pagePath
  FROM (
    SELECT
      (NTH(1,SPLIT(NTH(1,SPLIT(hits.page.pagePath,'/')),'?'))) WITHIN RECORD AS pagePath,
      date,
      hits.page.hostname,
      hits.type,
      CONCAT(fullVisitorId, STRING(visitId)) AS id
    FROM [my-table]
    HAVING
      pagePath ="my-path" ) )
GROUP BY
  date,
  pagePath,
  hostname

我做错了什么?此查询使用CONTAINS(选择太多)但不使用NTH和SPLIT函数。

1 个答案:

答案 0 :(得分:1)

你有没有尝试过:

dispatch_group_leave

有时保存的路径以“/”开头为“/ my-path / p / a”而不是“my-path / p / a”;在这种情况下,当你从“分裂”而不是第二个元素中取出第一个元素时;查询将返回一个空字符串。