Google analytics Bigquery导出中的滞后自定义维度

Google analytics Bigquery导出中的滞后自定义维度,google-analytics,google-bigquery,Google Analytics,Google Bigquery,我已经为Bigquery启动了Google Analytics导出设置 这是对上一页路径的查询,第页: SELECT LAG(hits.page.pagePath, 1) OVER (PARTITION BY fullVisitorId, visitId ORDER BY hits.hitNumber ASC) AS Previous, hits.page.pagePath AS Page FROM [xxxxxxxx.table] WHERE hits.type="PAGE" L

我已经为Bigquery启动了Google Analytics导出设置

这是对上一页路径的查询,第页:

SELECT


LAG(hits.page.pagePath, 1) OVER (PARTITION BY fullVisitorId, visitId ORDER BY hits.hitNumber ASC) AS Previous,

hits.page.pagePath AS Page
FROM
  [xxxxxxxx.table]
WHERE
  hits.type="PAGE"
LIMIT
  100
我还试图为上一个页面请求获取自定义维度,但我被卡住了

基本上,我想用LAG检索一个自定义维度(它是一个嵌套值)

这是可行的,但也会抛出大量额外的空行:

LAG ( IF (hits.customDimensions.index = 10, hits.customDimensions.value, NULL)) ,1) OVER (PARTITION BY fullVisitorId, visitId ORDER BY hits.hitNumber ASC) AS Previous_PT
如果我使用max(),它会抛出一个错误

任何帮助都将不胜感激


谢谢。

如果您只是将“hits.customDimensions.index=10”移动到WHERE子句中,是否有效?

为了将来的参考和搜索者,我设法解决了这个问题:

Max是一个分析函数,不能在LAG中使用分析函数

我为上一个请求获取自定义维度X的唯一方法是在hitnumber上自连接同一个表:

SELECT
hits.page.pagePath AS Page,
fullVisitorId,
visitId,
LAG(hits.hitNumber, 1) OVER (PARTITION BY fullVisitorId, visitId ORDER BY hits.hitNumber ASC) AS Previous_Hit,
LAG(hits.page.pagePath, 1) OVER (PARTITION BY fullVisitorId, visitId ORDER BY hits.hitNumber ASC) AS Previous,
MAX(IF (hits.customDimensions.index = 6, hits.customDimensions.value, NULL)) WITHIN RECORD AS BLABLA1,
MAX(IF (hits.customDimensions.index = 8, hits.customDimensions.value, NULL)) WITHIN RECORD AS BLABLA2,
MAX(IF (hits.customDimensions.index = 10, hits.customDimensions.value, NULL)) WITHIN RECORD AS BLABLA3,
hits.hitNumber AS hitNumber
FROM
FLATTEN([xxxxxxxxx], hits)
WHERE
hits.type="PAGE" ) AS T1
LEFT JOIN
FLATTEN(xxxxxxxxxx], hits) AS T2
ON 
T2.hits.hitNumber = T1.Previous_Hit 
AND T1.fullVisitorId = T2.fullVisitorId 
AND T1.visitId = T2.visitId