2013-11-25 5 views
1

나는이 날짜와 관련된 정보 나 날짜와 같은 데이터를 저장하는 여러 목록이있는 서버에 로그를 저장합니다. 첫 번째 목록의 첫 번째 필드는 나머지의 첫 번째 필드에 해당하고 두 번째 필드는 두 번째 필드에 해당하는 식으로 계속됩니다.반복 된 필드 다루기

FLATTEN 기능을 사용하여이 정보를 보여 주었지만 목록의 전체 데이터 조합을 보여줍니다. 4 개의 필드가 각각 3 개씩 나열되면 12 개의 서로 다른 행이 생성됩니다.

목록에 순서대로 3 개의 결과 만 표시 할 수있는 방법이 있습니까?

+0

공용 데이터 세트에 데이터의 샘플을 넣을 수 있습니까? 아마도 여러 개의 반복 된 필드가있는 대신 이러한 모든 필드가있는 반복 된 레코드 하나를 가질 수 있습니다. 그런 다음 병합 할 때이 문제가 발생하지 않습니다. –

+0

링크가 작동합니까? – egotchi

+0

링크 작품 :-) https://bigquery.cloud.google.com/table/egolike.com:egolike-production:egotest.egoViews 많은 감사, 부분적인 해결책 곧 –

답변

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

나는 다른 구조에 대해 생각하고 있는데, userID와 egolikeID의 모든 쌍에 대해 날짜, 납, fromView 및 leadType을 저장하는 반복 된 레코드를 저장하지만 Google 애플 리케이션에 이러한 종류의 구조를 저장하는 방법에 대해서는 전혀 모른다. 엔진. 어떻게 할 수 있습니까? – egotchi

+0

Python ndb에는 구조화 된 속성이 있습니다. https://developers.google.com/appengine/docs/python/ndb/properties#structured –