我刚开始使用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
答案 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中运行的几种类型分析的不同技术。