【发布时间】:2018-12-05 19:16:58
【问题描述】:
我在 Google BigQuery(见下文)中进行了以下查询(标准 SQL),但它导致了错误。有谁知道出了什么问题?在查询中,出于保密原因,我屏蔽了 project-id 和 dataset-id。
有谁知道如何解决该错误并获得正确的查询?提前非常感谢!
所需尺寸:
Date
hits.product.productSKU
custom dimension 47 (= product scope dimension)
custom dimension 48 (= product scope dimension)
hits.eCommerceAction.action_type
hits.eCommerceAction.step
所需指标:
COUNT(hits.eCommerceAction.action_type)
COUNT(hits.product.productSKU)
下面的查询出现如下错误:
"Cannot access field productSKU on a value with type ARRAY<STRUCT<productSKU STRING, v2ProductName STRING, v2ProductCategory STRING, ...>> at [3:16]"
查询:
SELECT
date AS Date,
hits.product.productSKU AS SKU,
(
SELECT
cd.value
FROM
hits.customDimensions AS cd
WHERE
cd.index=47 ) AS CD47,
(
SELECT
cd.value
FROM
hits.customDimensions AS cd
WHERE
cd.index=48 ) AS CD48,
hits.eCommerceAction.action_type AS Type,
hits.eCommerceAction.step AS Step,
COUNT(hits.eCommerceAction.action_type) AS Nr,
COUNT(hits.product.productSKU) AS NrSKU
FROM
`[projectid].[datasetid].ga_sessions*`,
UNNEST(hits) AS hits
WHERE
_TABLE_SUFFIX BETWEEN '20181103'
AND '20181103'
AND hits.page.hostname = 'www.bla.nl'
GROUP BY
Date,
Step,
Type,
SKU,
CD47,
CD48
【问题讨论】:
-
您是否要计算
product数组中的条目数?也许你想要SUM(ARRAY_LENGTH(hits.product))。 -
您的
hits.product字段似乎是一个结构数组。你能确认一下吗?如果是这样,您将不得不取消嵌套它。 -
@Teddy,已确认。取消嵌套工作。
-
@ElliottBrossard,谢谢。使用 SUM(ARRAY_LENGTH(hits.product)) 有什么好处?
标签: google-bigquery