2016-03-31 20 views
0

私はたとえば次のようれた製品を購入した顧客が購入した製品:BigQueryのクックブックに製品Aを購入した顧客が購入しBigQueryのGAPデータ:

製品。 https://support.google.com/analytics/answer/4419694?hl=en#query7_ProductsPurchasedByCustomersWhoPurchasedProductA

INFO:私は、したがって、Googleアナリティクスプレミアムのフィールド名でV2を強化Eコマースを使用しています。 Xesは、私が使用しているテーブルの元のデータセットと日付を置き換えます

質問:次のクエリでは、other_purchased_productsの数量が膨大になります。私は、他のすべての製品の合計が、青いサッカーを含む取引をした顧客であることを期待していました。青いサッカーを含むGoogleアナリティクスプレミアムのすべての取引を見ると、購入した他の商品の数は増えません。誰もが任意の手掛かりを持っている場合

SELECT hits.product.v2ProductName AS other_purchased_products, COUNT(hits.product.v2ProductName) AS quantity 
FROM [XXXXXXX.ga_sessions_XXXXXXXX] 
WHERE fullVisitorId IN (
    SELECT fullVisitorId 
    FROM [XXXXXXX.ga_sessions_XXXXXXXX] 
    WHERE hits.product.v2ProductName CONTAINS 'blue footballs' 
    AND totals.transactions>=1 
    GROUP BY fullVisitorId) 
AND hits.product.v2ProductName IS NOT NULL 
AND hits.product.v2ProductName != 'blue footballs' 
GROUP BY other_purchased_products 
ORDER BY quantity DESC; 

それは素晴らしいだろう。

答えて

1

これらのカウントがどれくらい離れているかについては言及していませんが、私の知る限りでは、クエリの統計的近似であるCOUNT関数が使用されています。これはあなたが見ている違いを説明するかもしれません。

正確なカウントを希望する場合は、EXACT_COUNT_DISTINCTを使用してください。 https://cloud.google.com/bigquery/query-reference#exact_count_distinctを参照してください。

+0

マイケルにお越しいただきありがとうございます。現在、正確な数を使用した結果、other_purchased_productsの商品は「blue footballs」を含まない取引でも1とカウントされますが、GoogleアナリティクスのトランザクションIDで注文を見た後、取引の一部ではなかった商品は「blue footballs "は命令の一部だった。たぶん、私は考え直すべきですし、sudoのコードで言う:私はすべてのtransactionIds製品名= "青いサッカー"どこにしてください。次に、IDのリストを使用して同じデータセット/テーブルを再度クエリし、トランザクションIDで結合しますか?あなたは知っていますか?ありがとうm –

関連する問題