2017-05-29 10 views
0

BigQueryを使用して私の会社のGAセッションデータを検索し始めました。 GAに渡されたそれぞれのexperimentIdのカウントを生成するためのクエリを生成しようとしています。BigQueryネストされたフィールドを照会する方法

experimentIdは、ネストされたフィールドとしてhits.experiment.experimentIdに格納されます。これまでのところ、私は次のクエリを持っていますが、この情報を得るために左の結合を行う必要があるのは非効率です。別のネストされた配列にネストされた変数に対してこのクエリを最適化するにはどうすればよいですか?

SELECT 
    e.experimentId, 
    count(*) 
FROM 
    `project-name.IDNUM.ga_sessions_20170527`, 
    UNNEST(hits) AS hits 
LEFT JOIN UNNEST(hits.experiment) as e 
GROUP BY e.experimentId 

答えて

1

あなたはネスト解除hitsフィールドを使用して再度CROSS JOIN操作を使用することができます。

SELECT 
    e.experimentId, 
    count(*) 
FROM 
    `project-name.IDNUM.ga_sessions_20170527`, 
    UNNEST(hits) AS hits, 
    UNNEST(hits.experiment) as e 
GROUP BY e.experimentId 

あなたはまた、繰り返しフィールド(配列)を処理する方法についてBQ docsでいくつかの例と異なる技術の束を見つけることができますBQで実行したいいくつかのタイプの分析に役立ちます。

関連する問題