我在数据集中有一系列表,需要在FLATTENing其中一个重复记录时查询所有表.例如,像下面这样的查询工作正常:
SELECT
date,
customDimensions.value AS customDimension,
hits.page.pagePath AS pagePath
FROM
(FLATTEN( [<projectId>:<datasetId>.ga_sessions_20130910] ,
customDimensions))
WHERE
hits.page.pagePath CONTAINS '/helmets'
AND customDimensions.index IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
但是,我在使用表通配符时遇到了FLATTENing问题.有人可以帮我解决语法问题吗?可以在TABLE_DATE_RANGE中使用FLATTEN吗?
SELECT
date,
customDimensions.value AS customDimension,
hits.page.pagePath AS pagePath
FROM
(FLATTEN (TABLE_DATE_RANGE ([<project>:<dataset>.ga_sessions_],
TIMESTAMP('2013-09-10'),
TIMESTAMP ('2014-06-10'))),
customDimensions)
WHERE
hits.page.pagePath CONTAINS '/helmets'
AND customDimensions.index IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
谢谢,沙燕
Dav*_*ith 17
根据参考手册,FLATTEN语法是:
...(FLATTEN ([project_name:]datasetId.tableId, flattenField))..
...(FLATTEN (subselect_clause, flattenField))..
Run Code Online (Sandbox Code Playgroud)
基于此,我会尝试在FLATTEN语句中添加一个subselect子句,如下所示:
SELECT
date,
customDimensions.value AS customDimension,
hits.page.pagePath AS pagePath
FROM
FLATTEN(
(SELECT date, customDimensions, hits FROM TABLE_DATE_RANGE ([<project>:<dataset>.ga_sessions_],
TIMESTAMP('2013-09-10'),TIMESTAMP ('2014-06-10')))
, customDimensions)
WHERE
hits.page.pagePath CONTAINS '/helmets'
AND customDimensions.index IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7544 次 |
| 最近记录: |