2013-10-16 2 views
1

Google App Engine의 앱에 데이터 저장소가 있습니다. 각 행에는 숫자와 datetimeproperty 정보가 있습니다. 나는 평일에 숫자의 평균을 얘기하는 것입니다 시도하고 어떤 응용 프로그램에서 평일 결과를 집계하는 방법

,

예를 들어, 데이터 저장소에 샘플 데이터를

num   date 
100   2013-10-16 21:04:17.809070 
467   2013-10-13 21:19:19.014730 
200   2013-10-09 22:19:20.015630 

그리고 2013년 10월 16일 이후 및 2013년 10월 9일은 수요일, 나는

150   

어떻게 GQL에서이 작업을 수행 할 수

같은 결과 뭔가를 원하는거야?

답변

3

데이터 저장소에서 집계 함수 (SUM, AVG 등)가 지원되지 않으므로 직접 GQL에서이를 수행 할 방법이 없습니다. 가장 좋은 방법은 수동으로 수행하는 것입니다. 원하는 날짜에 대한 쿼리를 실행 한 다음 (숫자에 대한 예상치를 사용하면 좋은 아이디어 일 수 있음) 직접 계산 한 다음 직접 계산할 수 있습니다. 조심스럽게도 - 많은 양의 데이터가있는 경우 속도가 느려지고 각 요청마다 너무 오래 걸릴 것입니다.

이 통계를 별도로 추적하는 것이 좋습니다. 엔티티를 추가 할 때도 통계를 업데이트해야합니다. 샤드 카운터에 대해서는 this page을 참조하십시오.

일괄 처리를 수행하는 또 다른 옵션은 백엔드 또는 맵 축소 중 하나에서이를 실행하는 것입니다. 당신이 얻는 숫자는 얼마나 자주 당신이 일을 얼마나 자주 실행할지에 따라 달라질 것이지만 그것은 확장 될 것입니다. Here은 map reduce 문서에 대한 링크입니다.

관련 문제