2016-10-18 4 views
0

GAからの基本的なproductlevelディメンションを製品レベルでカスタムディメンションと組み合わせてクエリを実行しようとしていますが、それを動作させることができません:( ヘルプや提案は大歓迎です!(現在のクエリは以下の通りです)BigQuery製品レベルのカスタムディメンション

SELECT 
 
    date, 
 
    hits.product.v2ProductName AS productName, 
 
    hits.product.productSKU AS SKU, 
 
    MAX(IF(hits.product.customDimensions.index=126,hits.product.customDimensions.value, null)) WITHIN hits AS customDimesion126, 
 
    COUNT(hits.transaction.transactionId) 
 
FROM 
 
    TABLE_DATE_RANGE([XXX.ga_sessions_],TIMESTAMP('2016-10-16'), TIMESTAMP('2016-10-16')) 
 

 
WHERE 
 
    hits.transaction.transactionId IS NOT NULL 
 
    
 
GROUP BY 
 
    date, 
 
    productName, 
 
    SKU

+0

このエラーは何ですか? – Nebi

+0

@Nebi、範囲指定されていない集計関数とスコープのない集計関数の組み合わせが無効 – Arjen

+0

この過去の質問は見ましたか?あなたはあなたのニーズに答えを適応させることができるかもしれません:http://stackoverflow.com/questions/39998428/select-several-event-params-in-a-single-row-for-firebase-events-stored-in- google/40000034私は質問を出すことができるかどうかもわかります。 –

答えて

0

私はこれを試してみることができるように全く同じスキーマを持つテーブルへのアクセス権を持っていますが、このクエリの作品のようなものをしませんか?実行するにはstandard SQLを有効にする必要があります(「Show Show」の下の「Use Legacy SQL」のチェックをはずしてくださいイオン "):

ここ
SELECT 
    date, 
    hits.product.v2ProductName AS productName, 
    hits.product.productSKU AS SKU, 
    (SELECT value 
    FROM UNNEST(hits.product.customDimensions) 
    WHERE index=126) AS customDimension126, 
    COUNT(*) 
FROM 
    `your-dataset.ga_sessions_*` t, t.hits hits 
WHERE 
    _PARTITION_TIME = '2016-10-16' AND 
    hits.transaction.transactionId IS NOT NULL 
GROUP BY 
    date, 
    productName, 
    SKU; 
0

同じ - その下の空気中に撮影された - 私はこれを試してみることができるように全く同じスキーマを持つテーブルへのアクセスを持っていない:O)

BigQueryレガシーSQLの場合 - 元のクエリを可能な限り保存したいので、

SELECT 
    DATE, 
    productName, 
    SKU, 
    customDimesion126, 
    SUM(cnt) AS transactions 
FROM (
    SELECT 
    DATE, 
    hits.product.v2ProductName AS productName, 
    hits.product.productSKU AS SKU, 
    MAX(IF(hits.product.customDimensions.index=126,hits.product.customDimensions.value, NULL)) WITHIN hits AS customDimesion126, 
    COUNT(hits.transaction.transactionId) WITHIN hits AS cnt 
    FROM 
    TABLE_DATE_RANGE([XXX.ga_sessions_],TIMESTAMP('2016-10-16'), TIMESTAMP('2016-10-16')) 
    WHERE 
    hits.transaction.transactionId IS NOT NULL 
) 
GROUP BY 
    DATE, 
    productName, 
    SKU, 
    customDimesion126 
関連する問題