2016-11-03 6 views
0

をパーティションすることはできません: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 idskuに一致するように

私たちは、その後、left join

しかし、FLATTEN機能を適用しようとしても、同じエラーメッセージが表示されます。

私たちは間違ったことをしていますが、これまでのところ見つけられませんでした。

クエリに間違いがありますか?事前に

おかげで、

+0

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)を参照してください。 –

+0

すべてのクエリをすべて標準バージョンに移行します。利点もかなり良いので、うまくいけばそれでいくつかの問題を解決します。ヒントをありがとう! –

答えて

0

確認してください最も内側のSELECT文
は、私はそれが「スペルミス」フィールド名に問題があります感じています。

私はちょうどあなたの全体のクエリを試してみましたが、それは私のために働いた - 私はあなたが[標準SQL](HTTPSを使用する場合、この種の問題にヒットする可能性が低いです hits.product.sku

+0

ヘルプMikhailに感謝します。私は '内部の選択'を実行しようとし、個々に正常に動作します。私が 'group'操作で両方を組み合わせたときだけ、私はこのエラーを受け取ります。また、フィールド名を変更しようとしましたが、成功しませんでした。他のタイプのクエリを使用して修正しようとします –

関連する問題