2013-11-25 101 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 –