【问题标题】:How do I return a subset of sessions that meet specific conditions?如何返回满足特定条件的会话子集?
【发布时间】:2019-10-14 23:25:11
【问题描述】:

我想一切都在标题中。如何返回满足特定条件的会话子集?或者以不同的方式问我的问题,如何在不取消嵌套的情况下返回满足特定条件的会话?

因此,例如返回发生购买的会话中的所有点击(嵌套)?

这可能吗?是否有意义?它可能与 STRUCK 或 ARRAY 有关,但仍然不太了解这一点。

【问题讨论】:

  • 请给我们更多的细节。您在使用 Big Query GA 表或 Reporting API 吗?您尝试过的示例代码是什么?

标签: google-analytics google-bigquery


【解决方案1】:

如果没有特定的代码,此类问题的一般查询模式可能如下所示:

with selected_sessions as (
  select distinct session_id
  from dataset.sessions
  left join unnest(hits) h
  where h.event = 'purchase' -- insert your own logic here
)
select *
from dataset.sessions
inner join selected_sessions using(session_id)

【讨论】:

  • 这就是我一直在寻找的答案......但这是否可以在不取消子查询中的匹配的情况下构建相同类型的查询?
  • 并非如此。如果是重复记录(hits 通常是这样,您必须取消嵌套才能访问字段 (cloud.google.com/bigquery/docs/reference/standard-sql/…)。为什么对取消嵌套犹豫不决?
  • 我不是。我看到一些使用 STRUCK 或 ARRAY 函数的查询,这看起来像是某种没有取消嵌套的子查询,但我猜我有点迷失了。我需要挖掘这个。谢谢。
  • STRUCTARRAY 实际上相反,它们用于创建(重复)记录。在会话/点击的情况下...每个hitSTRUCT(就像传统数据库中的行/记录)。 hits(必须unnest)实际上是STRUCTSARRAY,或者BQ 术语中的重复记录。 (您也可以有一个 ARRAY 的单个项目,它们不必是 STRUCTs。)
猜你喜欢
  • 2018-05-18
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多