tutorial pricing google espaƱol data bigquery big google-bigquery

google bigquery - pricing - FLATTEN con TABLE_DATE_RANGE



google cloud (2)

Tengo un rango de tablas en un conjunto de datos y necesito consultarlas todas mientras FLATTEN en uno de los registros repetidos. Por ejemplo, una consulta como la siguiente funciona bien:

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)

Sin embargo, estoy teniendo problemas de FLATTENing al usar comodines de tabla. ¿Puede alguien ayudarme con la sintaxis? ¿Es posible usar FLATTEN con TABLE_DATE_RANGE?

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)

Gracias shayan


Prueba esto, funciona para mi ..

SELECT date, customDimensions.value AS customDimension, hits.page.pagePath AS pagePath FROM (FLATTEN (SELECT * 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)


Según el manual de referencia, la sintaxis de FLATTEN es:

...(FLATTEN ([project_name:]datasetId.tableId, flattenField)).. ...(FLATTEN (subselect_clause, flattenField))..

En base a esto, intentaría poner una cláusula de subselección dentro de la declaración FLATTEN de la siguiente manera:

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)