BigQueryを使用してGoogleAnalyticsからデータをクエリしようとしています。実行する前に、このエラーが発生します。
Cannot access field productQuantity on a value with type ARRAY<STRUCT<productSKU STRING, v2ProductName STRING, v2ProductCategory STRING, ...>>
私はそれをグーグルで検索しました、そして私はすでにUNNEST
いくつかの他の答えで提案されているように機能を使用しています。何が悪いのかわかりません。
また、Google Analyticsのさまざまなテーブルからクエリを実行しており、データは日付別に保存されています。コードを繰り返さずに特定の時間枠からクエリを実行できる方法はありますか?
以下の私のコードを参照してください:
#standardSQL
SELECT
date,
hits.transaction.transactionId,
hits.product.productQuantity
FROM
`XXX1`,
UNNEST(hits) AS hits,
UNNEST(hits.product.productQuantity) AS prod
GROUP BY
date
UNION ALL
SELECT
date,
hits.transaction.transactionId,
hits.product.productQuantity
FROM
`XXX2` UNNEST(hits) AS hits,
UNNEST(hits.product.productQuantity) AS prod
GROUP BY
date
UNION ALL
SELECT
date,
hits.transaction.transactionId,
hits.product.productQuantity
FROM
`XXX3` UNNEST(hits) AS hits,
UNNEST(hits.product.productQuantity) AS prod
GROUP BY
date
UNION ALL
SELECT
date,
hits.transaction.transactionId,
hits.product.productQuantity
FROM
`XXX4` UNNEST(hits) AS hits,
UNNEST(hits.product.productQuantity) AS prod
GROUP BY
date
UNION ALL
SELECT
date,
hits.transaction.transactionId,
hits.product.productQuantity
FROM
`XXX5` UNNEST(hits) AS hits,
UNNEST(hits.product.productQuantity) AS prod
GROUP BY
date
UNION ALL
SELECT
date,
hits.transaction.transactionId,
hits.product.productQuantity
FROM
`XXX6` UNNEST(hits) AS hits,
UNNEST(hits.product.productQuantity) AS prod
GROUP BY
date
タイプARRAY>の値のフィールドproductQuantityにアクセスできません
以下のアプローチを使用する必要があります
#standardSQL
SELECT
date,
hits.transaction.transactionId,
prod.productQuantity
FROM `XXX`,
UNNEST(hits) AS hits,
UNNEST(hits.product) AS prod
したがって、ご覧のproductQuantity
とおり、ネストされていない「prod」を使用してアクセスします
注:GROUP BYを使用する場合は、selectステートメントでGROUP BYの一部ではないフィールドに集計関数を使用する必要があります-この例では、探している集計に適用する必要がある以下の2つのフィールドがありますそれでもGROUPBYが必要な場合
hits.transaction.transactionId,
prod.productQuantity
コードを繰り返さずに特定の時間枠からクエリを実行できる方法はありますか?
はい、これには_TABLE_SUFFIXを使用できます
以下の例のように
#standardSQL
SELECT
date,
hits.transaction.transactionId,
prod.productQuantity
FROM `project.dataset.XXX*`,
UNNEST(hits) AS hits,
UNNEST(hits.product) AS prod
WHERE _TABLE_SUFFIX BETWEEN '1' AND '6'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加