2016-11-16 78 views
0

我正在爲4個國家的4個網站的客戶端工作。我們的部分博客文章已翻譯併發布在4個網站上。那麼發生什麼事情是,我有四個不同的國家訪問每個職位的唯一身份證。分組和旋轉自定義尺寸

我希望能夠查詢每個國家/地區的每個帖子的訪問次數(所以每個帖子ID)。

我已經運行下面的查詢,但它不工作:

SELECT * FROM (
SELECT hits.customDimensions.value AS postid 
FROM [storied-toolbox-115472:1127229124.ga_sessions_20161108] 
WHERE hits.customDimensions.index=10), (SELECT hits.customDimensions.value AS Country, 
count(totals.visits) as visit, 
FROM [storied-toolbox-115472:1127229124.ga_sessions_20161108] 
WHERE hits.customDimensions.index=1 
group by 
Country) 

查詢運行正常,但在結果是我的帖子ID該國爲空引用。如果我有國家,帖子ID被引用爲空。

回答

1

沒有機會做任何測試,所以下面大多是「盲目」的拍攝,但我通常擅長這一點。你們不要論斷人很難,如果這是錯誤的:O)

SELECT 
    postid, 
    country, 
    SUM(visits) AS visits 
FROM (
    SELECT 
    visitid, 
    hits.customDimensions.value AS postid 
    FROM [storied-toolbox-115472:1127229124.ga_sessions_20161108] 
    WHERE hits.customDimensions.index = 10 
) AS posts 
JOIN (
    SELECT 
    visitid, 
    hits.customDimensions.value AS country, 
    SUM(totals.visits) AS visits 
    FROM [storied-toolbox-115472:1127229124.ga_sessions_20161108] 
    WHERE hits.customDimensions.index = 1 
    GROUP BY visitid, country 
) AS stats 
ON posts.visitid = stats.visitid 
GROUP BY postid, country 
+0

你會在地獄裏燃燒!不,我在開玩笑,它工作得很好。非常感謝 ! –

+0

yayk。很高興聽到這個!盲編碼岩石:o) –

+0

只是另一個新的問題。如果你也可以盲目編碼。將會是完美的 :) –

2

我可能誤解了這個問題,但這裏有一個查詢應該會給你所有的postid(作爲一個數組)以及每個國家的訪問總和。您需要啓用standard SQL才能運行它。

SELECT 
    ARRAY_AGG((SELECT value FROM UNNEST(hits.customDimensions) 
      WHERE index = 10)) AS postids, 
    (SELECT value FROM UNNEST(hits.customDimensions) WHERE index = 1) AS Country, 
    SUM(totals.visits) AS visits 
FROM `storied-toolbox-115472.1127229124.ga_sessions_20161108` AS t 
    CROSS JOIN UNNEST(hits) AS hits 
WHERE EXISTS (SELECT value FROM UNNEST(hits.customDimensions) 
       WHERE index = 10) 
GROUP BY Country; 
+0

得到了以下錯誤'陣「postids」不能有一個空element' –

+0

我更新了我的答案,排除沒有'行帖子ID '。你可以試試這個新版本,看看它是否有效? –

+0

非常感謝,但是......查詢返回零記錄。'; p –