2016-04-16 6 views
1

customdimensionXの値がXで、customdimensionYの値が同じヒット内にあるすべてのセッションを提供するクエリを取得できないようです。現在のクエリでは結果が見つかりません。BigQuery:2つのヒットレベルのカスタムディメンション

誰でもこの上で私を助けることができます:) ありがとう!オプション(そうでない場合は、正確に、テストする機会を持っていないが、あなたが必要なものに近いものでなければならない)、以下の

SELECT sum(totals.visits) 

from TABLE_DATE_RANGE([xxxx.ga_sessions_], TIMESTAMP('2016-3-1'),TIMESTAMP('2016-3-1')) 

WHERE 
    (hits.customDimensions.index=x AND hits.customDimensions.value='x') 
    AND (hits.customDimensions.index=y AND hits.customDimensions.value='y') 

答えて

4

少し奇妙に役立ちますが、それは他の誰かのために役に立つかもしれません:)私は次のように右の数になった:あなたの答えのための

SELECT EXACT_COUNT_DISTINCT(uniqueVisitId) as sessions 
FROM( 
SELECT 
    CONCAT(fullvisitorid,"_",string(visitId)) AS uniqueVisitId, 
    MAX(IF(hits.customDimensions.index=x,hits.customDimensions.value,NULL)) WITHIN hits AS x, 
    MAX(IF(hits.customDimensions.index=y,hits.customDimensions.value,NULL)) WITHIN hits AS y, 
    hits.hitNumber 

    FROM TABLE_DATE_RANGE([xxxxxx.ga_sessions_], TIMESTAMP('2016-3-1'),TIMESTAMP('2016-3-1')) 

    having 
    (x contains 'x' and y contains 'y') 
) 
2

てみ:

SELECT SUM(totals.visits) 
FROM TABLE_DATE_RANGE([66080915.ga_sessions_], TIMESTAMP('2016-3-1'),TIMESTAMP('2016-3-1')) 
OMIT RECORD IF 
SUM((hits.customDimensions.index=x AND hits.customDimensions.value='x') 
OR (hits.customDimensions.index=y AND hits.customDimensions.value='y') 
) != 2 

SELECT SUM(totals.visits) FROM ( 
    SELECT totals.visits, 
    SUM((hits.customDimensions.index=x AND hits.customDimensions.value='x') 
    OR (hits.customDimensions.index=y AND hits.customDimensions.value='y') 
) WITHIN RECORD AS check, 
    FROM TABLE_DATE_RANGE([66080915.ga_sessions_], TIMESTAMP('2016-3-1'),TIMESTAMP('2016-3-1')) 
    HAVING check = 2 
) 

は場合

を追加しましたhits.hit.customVariablesのような特定のヒットによってグルーピングされたcustomDimensions - 同じヒット内の両方の条件を特定するには、
WITHIN hits.hitまたはOMIT hits.hit IF
対それぞれ
WITHIN RECORDまたは

OMIT RECORD IFしかし、私はBigQuery Export schemaをチェックしましたし、それはそうではないようです。
特定のヒットあたりのディメンションを区別する方法はありません。 カスタムディメンションは、レベル/ユーザー/セッションレベル、製品レベル、ヒットレベルによって表示されます。 商品ごとに商品レベルのカスタムディメンションのみを特定/照会できます。

ホープ、これは自分の質問に答えることが

+0

おかげで、ただし、xとyの両方の条件が同じヒット内で満たされる必要があります。あなたの提案は、両方の条件が同じヒットではなくセッションのどこかで満たされているセッションを選択すると思いますか? – Arjen

+0

:o)私はWHERE句を修正することに焦点を合わせました。あなたのコードの残りの部分は触れました –

+0

大丈夫、とにかく@Mikhail Berlyantに感謝します。もっと良い方法があれば私の結果(下記参照)を得る別の方法が見つけられました。よりクリーンではないかもしれません。 – Arjen

関連する問題