无法访问 [1:104] 处类型为 ARRAY<STRUCT<hitNumber INT64、时间 INT64、小时 INT64、...>> 的值的字段 customDimensions

sam*_*sam 0 google-bigquery gcloud

我是 google bigquery 的新手。我正在尝试从 google bigquery 数据集之一获取数据,但出现以下错误屏幕截图

SQL查询:

SELECT  h.value
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`,
UNNEST(hits.customDimensions) AS h
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

请让我知道我在这里犯了什么错误。

Ell*_*ard 5

hits是一个数组。您不能直接访问数组的元素;您需要取消数组的嵌套才能生成可以引用的元素序列。您可能想取消两者的嵌套hits,而是customDimensions

SELECT cd.value
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`,
UNNEST(hits) AS h,
UNNEST(h.customDimensions) AS cd
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

customDimensions不过,表中每一行的数组都是空的,bigquery-public-data.google_analytics_sample.ga_sessions_20170801因此您将收到此查询的空结果集。实际上,如果您customDimensions自己的表中有非空表,则对其运行类似的查询会产生结果。