我正在Google BigQuery网络界面上运行以下查询,以获取Google Analytics提供的数据:
SELECT *
FROM [dataset.table]
WHERE
hits.page.pagePath CONTAINS "my-fun-path"
我想将结果保存到新表中,但是当使用Flatten Results = False时,我得到以下错误消息:
错误:无法查询重复字段customDimensions.value和hits.page.pagePath的叉积 .
这个答案暗示这应该是可能的:Is there a way to select nested records into a table?
是否找到了解决问题的方法?
3 回答
根据您可以接受的过滤类型,您可以通过从WHERE切换到OMIT IF来解决此问题 . 它会给出不同的结果,但同样,这些不同的结果也许是可以接受的 . 如果其中的(某些)页面符合条件,则以下将删除整个命中记录 . 请注意两件事:
它使用OMIT命中IF,而不是更常用的OMIT RECORD IF) .
条件反转,因为OMIT IF与WHERE相反
查询是:
更新:看到related帖子,恐怕不再可能了 . 可以使用NEST函数并按字段分组,但这是一个很长的镜头 .
在查询上使用flatten调用:
因此在网络上ui:
设置目标表
允许大结果
和NO压扁结果
正确完成工作,生成的表与原始模式匹配 .
我知道 - 这是老问 . 但现在可以通过使用标准SQL方言而不是Legacy来实现