2017-01-11 14 views
2

hit.eCommerceActionを無効にするのに同じロジックを使用しましたが、他のフィールドとしては機能しません。この問題の助けを借りますか?また、max(if())関数は2つのヒットを取得するために使用する関数です.customeDimenison.value?UNNEST(hit.eCommerceAction)、Google Bigquery

SELECT 
Date 
    ,COUNT(DISTINCT FULLVISITORID) 
, product.v2ProductCategory 

    ,max(if(customDimensions.index=2, customDimensions.value,null)) as dest 
    ,max(if(customDimensions.index=21, customDimensions.value,null)) as pax 
,eCommerceAction.action_type 
,product.v2ProductName 

FROM `table` as t 
    CROSS JOIN UNNEST(hits) AS hit 
    CROSS JOIN UNNEST(hit.customDimensions) AS customDimensions 
    CROSS JOIN UNNEST(hit.eCommerceAction) as eCommerceAction 
    CROSS JOIN UNNEST(hit.product) AS product 
GROUP BY 
     Date 
     ,product.v2ProductCategory 
    ,eCommerceAction.action_type 
,product.v2ProductName 

エラーコードはエラーです。エラー:UNNESTで参照される値は配列でなければなりません。 UNNESTは、私は単純なクエリを使用してエラーを再現することができますタイプSTRUCTの発現

答えて

4

が含まれています

#standardSQL 
SELECT DISTINCT hit.eCommerceAction.action_type 
FROM `73156703.ga_sessions_20170109` t 
    , UNNEST(hits) hit 
    , UNNEST(hit.customDimensions) customDimensions 
    , UNNEST(hit.eCommerceAction) as eCommerceAction 

ここでの問題は、それゆえUNNESTへの配列が存在しない、eCommerceActionREPEATED記録はないということです。

固定クエリ:

#standardSQL 
SELECT DISTINCT hit.eCommerceAction.action_type 
FROM `ga_sessions_20170109` t 
    , UNNEST(hits) hit 
    , UNNEST(hit.customDimensions) customDimensions 
+1

こんにちはフェリペ、あなたの応答のためにどうもありがとうございます。わたしにはできる。ただ好奇心から、私が行くことができるウェブサイト/チュートリアルのいずれかを知って、Googleの大きなクエリについてもっと学びますか? – Rachel

+0

こんにちは!あなたが探しているものに依存しますが、BigQueryについて学ぶことはすべてhttp://www.reddit.com/r/bigqueryに投稿します –

+1

ありがとうございます!私はこの報告書を終えた後で見ていきます。 :) – Rachel