2016-07-16 5 views
0

GAから私たちが送信しているいくつかのイベントとカスタムディメンションを含むデータを抽出するのに問題があります。JSON_EXTRACTはBigQueryでどのように機能しますか?

私はJSON_EXTRACTを使用しようとしている、と私は取得したいのですがcustomDimension.index = index_number

すべての値を持つ列は、ここに私のコードですされています

SELECT 
    visitId, 
    JSON_EXTRACT('index_number', '$.hits.customDimensions') as value 
FROM 
    FLATTEN(FLATTEN((
    SELECT * 
    FROM TABLE_DATE_RANGE([103264765.ga_sessions_], TIMESTAMP("2016-07-14"), DATE_ADD(TIMESTAMP(CURRENT_DATE()),-1,"DAY"))),hits),hits.customDimensions) 
WHERE hits.eventInfo.eventAction = "EventName" 
ORDER BY value DESC 

明確化:

例index_numberは次のようになります。EVENTNAMEは次のようになり '135' 例: 'BookedFlight'

私は、SAMを使用する予定私たち自身のデータベースデータにvisitorIdを使用して関連付けるために、デバイスブラウザ、プラットフォームなどの他のネストされたデータを取得するアプローチ。

ありがとう!

答えて

0

BigQueryではJSON_EXTRACTはどのように機能しますか?

BigQuery's JSON functions JSONPathのような式を使用すると、保存したJSONデータ内の値を見つけることができます。

あなたの例/ユースケースでは、私はそれがまったく必要ないとは思わない!上記の単純なケースでは

SELECT 
    visitId, 
    hits.customDimensions.value AS value 
FROM 
    FLATTEN(FLATTEN((
    SELECT * 
    FROM TABLE_DATE_RANGE([103264765.ga_sessions_], TIMESTAMP("2016-07-14"), DATE_ADD(TIMESTAMP(CURRENT_DATE()),-1,"DAY"))),hits),hits.customDimensions) 
WHERE hits.eventInfo.eventAction = "BookedFlight" 
AND hits.customDimensions.index = 135 
ORDER BY value DESC 

以下
てみてください、あなたも、あまりにも

SELECT 
    visitId, 
    hits.customDimensions.value AS value 
FROM TABLE_DATE_RANGE([103264765.ga_sessions_], TIMESTAMP("2016-07-14"), DATE_ADD(TIMESTAMP(CURRENT_DATE()),-1,"DAY")) 
WHERE hits.eventInfo.eventAction = "BookedFlight" 
AND hits.customDimensions.index = 135 
ORDER BY value DESC 
+0

おかげミハイルに動作しますので、以下、余分な平坦化を必要としません!私が今まで使ってきたものと全く同じです。私がこのアプローチで持っている問題は、私のイベントのいくつかが、私が見たいと思っている複数のパラメータを持っていることです。私は、異なるcustomDimensionのindxesを照会するサブクエリの束に参加しようとしましたが、一度3つになると、すべてが非常に遅くなり始めます。私は、fullVisitorIdまたはvisitIdでグループ化するためにJSONオブジェクトに格納された値にアクセスするために、JSON関数を使用してネストされたクエリで値を照会する方法を学びたいと思います。もう1つのユースケースは、イベントごとにどのデバイスが使用されるかです。私はJSON関数を使用することが多くのbettr –

+1

1)これまでのところ、私はあなたからのすべての質問とコメントを感じる - あなたのケースでJSON関数の使用はありません! JSON関数は、jsonが1つのフィールドに文字列として格納されている場合に使用できます。 json関数をいつどのように使うことができるかを理解するために、私の答えでリンクを再度読むことをお勧めします。 2)新しい質問を投稿することをお勧めします。あなたの仕事が何であるか、あなたの現在の質問は何か、何の問題が発生しているかを説明することに焦点を当てます。 - これで私たちはあなたを助けることができるかもしれません。 –

関連する問題