我有以下查询:
SELECT
a.fv fv,
a.v v,
a.sku asku
b.sku bsku from(
SELECT
fv,
v,
sku from( FLATTEN((
SELECT
fullvisitorid fv,
visitid v,
hits.product.productsku sku,
hits.product.isclick click
FROM (TABLE_DATE_RANGE([dataset_id], DATE_ADD(CURRENT_DATE(), -5, 'day'), DATE_ADD(CURRENT_DATE(), -0, 'day'))),
(TABLE_DATE_RANGE([dataset_id_intraday_], DATE_ADD(CURRENT_DATE(), -2, 'day'), DATE_ADD(CURRENT_DATE(), 0, 'day')))), hits.product))
WHERE
1 = 1
AND click IS NOT NULL
GROUP EACH BY
fv,
v,
sku ) a
LEFT JOIN EACH (
SELECT
fv,
v,
sku from( FLATTEN((
SELECT
fullvisitorid fv,
visitid v,
hits.product.productsku sku,
hits.ecommerceaction.action_type act
FROM (TABLE_DATE_RANGE([dataset_id], DATE_ADD(CURRENT_DATE(), -5, 'day'), DATE_ADD(CURRENT_DATE(), -0, 'day'))),
(TABLE_DATE_RANGE([dataset_id._intraday_], DATE_ADD(CURRENT_DATE(), -2, 'day'), DATE_ADD(CURRENT_DATE(), 0, 'day')))), hits.product))
WHERE
1 = 1
AND act = '6' ) b
ON
a.fv = b.fv
AND a.v = b.v
AND a.sku = b.sku
此查询只是我们在此处遇到的问题的一个示例。如果我们尝试运行它,我们会收到错误:
Error: Cannot partition on repeated field hits.product.sku
但我们无法弄清楚出了什么问题。
基本上有两组:a
是我们带来skus的组,如果他们有任何点击。
小组b
我们只是观察到给定的sku是否被购买。
然后我们left join
匹配fullvisitors
,他们的session id
和每个sku
。
但即使我们尝试应用FLATTEN
函数,我们仍然会收到相同的错误消息。
我们知道我们做错了什么但到目前为止还没找到它。
查询中是否有错误?
提前致谢,
答案 0 :(得分:0)
请检查大多数内部SELECTs 我觉得这可能是“拼写错误”字段名称的问题。
我只是尝试了你的整个查询,它对我有用 - 当我改变时
hits.product.sku
至hits.item.productsku