2013-11-25 69 views
1

我在服务器上存储了一个具有多个列表的日志,我在这里存储了一些数据,例如与这些日期相关的日期和信息。第一个列表的第一个字段对应于其余的第一个字段,第一个列表的第二个字段到第二个字段,依此类推。处理重复的字段

使用FLATTEN函数,我设法显示这些信息,但它显示了列表上的整个数据的组合。有4个列表,每个列出3个字段,生成12个不同的行。

有没有什么办法只显示三个结果,按顺序排列?

+0

您可以在公共数据集上放置数据样本吗?可能不是有多个重复的字段,你可以有一个重复的记录与所有这些领域(然后你不会有这个问题时,扁平化)。 –

+0

链接是否正常工作? https://bigquery.cloud.google.com/table/egolike.com:egolike-production:egotest.egoViews 非常感谢:-) – egotchi

+0

链接的作品,部分解决即将到来的 –

回答

0

我不喜欢这个解决方案,但它的出现在脑海的第一个念头是解决你的问题:

SELECT dates, lead, userID FROM 
(SELECT NTH(1, dates) WITHIN RECORD dates, NTH(1, lead) WITHIN RECORD lead, userID 
    FROM [egolike.com:egolike-production:egotest.egoViews]), 
(SELECT NTH(2, dates) WITHIN RECORD dates, NTH(2, lead) WITHIN RECORD lead, userID 
    FROM [egolike.com:egolike-production:egotest.egoViews]), 
(SELECT NTH(3, dates) WITHIN RECORD dates, NTH(3, lead) WITHIN RECORD lead, userID 
    FROM [egolike.com:egolike-production:egotest.egoViews]) 
WHERE dates IS NOT NULL 

基本上我们记录中映射列的第N个值到第N值另一列。缺点是需要按数字明确地调用每个第N个地点。希望你可以用不同的结构重新导入数据! (一个重复列,包含对齐的记录)

+0

谢谢您的帮助!它工作,但你说得对,我应该考虑一个更好的结构。 – egotchi

+0

我正在考虑一个不同的结构,其中为每对用户ID和egolikeID我保存重复的记录来存储日期,铅,fromView和leadType,但我不知道如何在Google App上存储这种结构发动机。如何做呢? – egotchi

+0

在Python ndb中有结构化属性:https://developers.google.com/appengine/docs/python/ndb/properties#structured –