Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery 页面点击数-前面不带_Google Bigquery - Fatal编程技术网

Google bigquery 页面点击数-前面不带

Google bigquery 页面点击数-前面不带,google-bigquery,Google Bigquery,我正试图找到一种方法来定位用户访问某个特定的hits.page.hostname,但之前的hits.page.hostname不是特定的主机。 我想使用像at和regex那样的带有lookbehind的GROUP_CONCAT,但我发现RE2没有lookbehind,所以我回到了原点 有人有什么想法吗?我想你会更容易使用。通过使用UNNEST WITH OFFSET,然后使用array操作符,可以向后查看数组。比如说, #standardSQL SELECT date, totals.v

我正试图找到一种方法来定位用户访问某个特定的hits.page.hostname,但之前的hits.page.hostname不是特定的主机。 我想使用像at和regex那样的带有lookbehind的GROUP_CONCAT,但我发现RE2没有lookbehind,所以我回到了原点


有人有什么想法吗?

我想你会更容易使用。通过使用UNNEST WITH OFFSET,然后使用array操作符,可以向后查看数组。比如说,

#standardSQL
SELECT
  date,
  totals.visits AS total_visits
FROM
  `MyProject.dataset.ga_sessions_*`
WHERE
  PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN
    DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) AND
    DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY) AND
EXISTS (
  SELECT 1 FROM UNNEST(hits) AS hit WITH OFFSET off
  WHERE hit.page.hostname = 'foo' AND
    NOT hits[SAFE_OFFSET(off - 1)].page.hostname = 'bar'
);

下面是试图保存您最初使用GROUP_CONCAT和后面的REGEX_匹配的想法

试试下面

legacySQL 选择 日期 totals.visions作为Totalvisions, 组_CONCAThits.page.hostname,>>在记录中作为序列 从表_DATE_RANGE[MySys:110909631.ga_sessions_u], 日期添加当前时间戳,-90,“天”, 日期\u添加当前\u时间戳,-1,“天” 具有REGEXP_MATCHCONCAT'>>',序列'>>','>>所需主机>>+' 而不是REGEXP_MATCHCONCAT'>>',sequence'>>,'>>RejectHost>>+DesiredHost>>+' 上面在hits.page.hostname中查找与DesiredHost的访问

REGEXP_MATCHCONCAT'>>',序列'>>','>>所需主机>>+' 但不包括DesiredHost与RejectHost之前的访问

REGEXP_MATCHCONCAT'>>',序列'>>','>>拒绝主机>>+期望主机>>+' 正如您在上面两个表达式中所看到的,您可以微调主机内的访问长度或设置任何其他更复杂的逻辑。希望你有个主意


希望你能把最初的想法重新付诸实践

选择date,totals.visions AS totalvisions,Group_concathits.page.hostname,>>在记录内按表[MySys:110909631.ga_sessions]的顺序,date_ADDCURRENT_TIMESTAMP,-90,'DAY',date_ADDCURRENT_TIMESTAMP,-1,'DAY',其中有regexp matchsequence,r'>digital | www.a | bmysite\.org'我选择了这个选项,效果非常好。谢谢你,我很高兴它成功了!如果这是您使用的,也请说明。