をパーティションすることはできません:BigQueryのエラー:私は次のクエリを持って繰り返しフィールドhits.product.sku
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
しかし、何が間違っているのかわかりませんでした。
基本的に2つのグループがあります:a
は、私たちがskusを持ってきたグループで、クリックがあったグループです。 グループb
私たちは、与えられたSKUを購入したかどうかを観察しています。 fullvisitors
、そのsession id
各sku
に一致するように
私たちは、その後、left join
。
しかし、FLATTEN
機能を適用しようとしても、同じエラーメッセージが表示されます。
私たちは間違ったことをしていますが、これまでのところ見つけられませんでした。
クエリに間違いがありますか?事前に
おかげで、
hits.item.productsku
に注意変更する場合://をBigQueryのcloud.google.com/bigquery/docs/reference/standard-sql/)をご覧ください。従来のSQLと標準SQLの違いについては、[移行ガイド](https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-sql)を参照してください。 –すべてのクエリをすべて標準バージョンに移行します。利点もかなり良いので、うまくいけばそれでいくつかの問題を解決します。ヒントをありがとう! –