BigQuery如何查询嵌套字段

时间:2017-05-29 17:46:30

标签: google-bigquery

我刚开始使用BigQuery来探索我公司的GA会话数据。我正在尝试生成一个查询,该查询将允许我为已传递给GA的每个experimentId生成计数。

experimentId作为嵌套字段存储在hits.experiment.experimentId中。到目前为止,我有以下查询,但是必须执行左连接以获取此信息似乎效率低下。如何针对嵌套在另一个嵌套数组中的变量优化此查询?

SELECT
  e.experimentId,
  count(*)
FROM
  `project-name.IDNUM.ga_sessions_20170527`,
  UNNEST(hits) AS hits
LEFT JOIN UNNEST(hits.experiment) as e
GROUP BY e.experimentId

1 个答案:

答案 0 :(得分:1)

您可以使用未加载的CROSS JOIN字段再次使用hits操作:

SELECT
  e.experimentId,
  count(*)
FROM
  `project-name.IDNUM.ga_sessions_20170527`,
  UNNEST(hits) AS hits,
  UNNEST(hits.experiment) as e
GROUP BY e.experimentId

您还可以在BQ docs中找到有关如何处理重复字段(数组)的一些示例,以及一些可以帮助您在BQ中运行的几种类型分析的不同技术。