2017-12-29 11 views
0

カスタムディメンションの値と日付で認定された新しいユーザーとユーザー数を取得しようとしています。ここにコードがあります。しかし、私はGoogleアナリティクスとのデータの結びつきを得ることができませんでした。私は問題はUNNESTが重複を作成し、total.newVisitsが異なる粒度であることだと思います。ありがとうございました!カスタムディメンションを使用して新しいユーザーカウントとユーザー数を取得するGoogle Big Query

SELECT 
     PARSE_DATE('%Y%m%d', t.date) as Date 
     ,count(distinct(FullvisitorID)) as visitor_count 
     ,sum(totals.newVisits) AS New_Visitors 
     ,if(customDimensions.index=2, customDimensions.value,null) as orig 
    FROM `table` as t 
     CROSS JOIN UNNEST(hits) AS hit 
     CROSS JOIN UNNEST(hit.customDimensions) AS customDimensions 
    WHERE 
     date='20170101' 

GROUP BY DATE,if(customDimensions.index=2, customDimensions.value,null) 

enter image description here

答えて

2

代わりにこれを試してみてください:

SELECT 
    PARSE_DATE('%Y%m%d', date) AS Date, 
    COUNT(DISTINCT fullvisitorid) visitor_count, 
    SUM(totals.newVisits) AS New_Visitors, 
    (SELECT value FROM UNNEST(hits), UNNEST(customDimensions) WHERE index = 2 LIMIT 1) orig 
FROM `dataset_id.ga_sessions_20170101` 
GROUP BY Date, orig 

それは基本的には同じことだが、代わりに外部クエリでUNNESTを行うので、このソリューションが唯一の回避hitレベルでこの操作を適用しますあなたの質問にあなたが観察したtotals.newVisitsの複製。

+0

こんにちはウィリアン、ありがとうございました。しかし、私は新しい訪問者のアカウントとビジター数はまだ重複していると思います。クエリを使用して結果を確認したところ、数字はまだGAよりも大きいです。私が使用したGAインターフェイスを添付しました。ありがとうございました!!! – Rachel

+0

うーん、それは変だ。私が提案した質問に関しては、重複が起こる可能性のある場所はありません。おそらく、GAレポートでいくつかの健全性チェックを実行して、期待どおりに構築されているかどうかを確認できます。 'visitor_count'は一意のカウントであるため、インスタンスに重複することはできません(結果が重複しても最終結果は同じです) –

+0

ユーザーの訪問にdimension.index-2の値が複数ある可能性はありますか?だから集計すると、ユーザーは複数回カウントされますが、異なる値にカウントされますか? – Rachel

関連する問題